Advertisement
suxonov

Untitled

Jan 15th, 2016
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.63 KB | None | 0 0
  1. tfm.exec.disableAutoScore(true)
  2. tfm.exec.disableAutoShaman(true)
  3. tfm.exec.disableAfkDeath(true)
  4. tfm.exec.disableAutoNewGame(true)
  5.  
  6. mapcr={"Aviener","Kaysha","Ilyasport"}
  7. admins={"Aviener"}
  8.  
  9. maplist={"@1257258", "@6459786", "@6465008", "@6464994", "@4043664"}
  10. maps=maplist[math.random(#maplist)]
  11.  
  12. imagelist={"PTQL30f.png", "x1zS39R.png", "9LcqZUY.png", "Dydh9Qo.png", "1CBFyuL.png"}
  13.  
  14. lang=tfm.get.room.community
  15. messages = {
  16. {RU={welcome='<BV>"..playerName.."</BV><N>, привет! Добро пожаловать в <BV>#darkroom<BV>!<N> Попробуй найти выход из лабиринта. Напиши в чат <J>!help<J> <N> для более подробной информации.<CH>';
  17. help='<BV>Суть игры</BV><N>: найдите <BV>выход</BV> <N>лабиринта! Напишите в чат <j>!cont</j>, чтобы получить контакты для связи \<BV>Основной концепт</BV><N> придуман игроком Defoster\ <BV>Игра сделана</BV><N> игроком Aviener';
  18. cont='<BV>Администратор<N>: Aviener\ <BV>Map Crew<N>: "..table.concat(mapcr, ", ")';
  19. win='<CH>"..playerName.."</CH><N> выиграл <J>игру!<J>'};
  20. {EN={welcome='<BV>"..playerName.."</BV><N>, hello! Welcome to <BV>#darkroom<BV>!<N> Try to find hole. Type <J>!help<J> <N> for more information.<CH>';
  21. help='<BV>Point of game</BV><N>: Find <BV> the hole</BV> from labyrinth<N>Type <j>!cont</j> for contacts \<BV>Original idea</BV><N> by Defoster\ <BV>Game made by</BV><N> Aviener';
  22. cont='<BV>Admin<N>: Aviener\ <BV>Map Crew<N>: "..table.concat(mapcr, ", ")';
  23. win='<CH>"..playerName.."</CH><N> won the <J>game!<J>'}
  24. } } }
  25.  
  26. function start()
  27. tfm.exec.newGame(maplist[math.random(#maplist)])
  28. end
  29.  
  30. function isarray(val,arr)
  31. local flag=true
  32. for i,v in pairs(arr) do
  33. if v==val then
  34. flag=false;
  35. break
  36. end
  37. end
  38. return flag
  39. end
  40.  
  41. function xmlToobj(xmlS)
  42. local obj={}
  43. local i=1
  44. local blacklist={"0","1","2","4","5","6","7","8","10","12","13","14","15","16","17","18","19","20","21","22","23","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","40","47","48","49","50","51","52","53","54","55","56","57","58","59","60","61","62","63","64","65","66","67","68","69","70","71","72","73","74","75","76","77","78","79","80","81","82","83","84","85","86","87","88","89","90","91","92","93","94","95","96","97","98","99","100","101","102","103","104","105","106","107","108","109","110","111","112","113","114","115","116","117","118","119","120","121","122","123","124","125","126","127","128","129","130","131"}
  45. for w in string.gmatch(xmlS, "<P.-T.->") do
  46. local tmps=string.sub(w, string.find(w, 'X="[-]?%d+"'))
  47. xO=string.sub(tmps,string.find(tmps,"[-]?%d+"))
  48. tmps=string.sub(w, string.find(w, 'Y="[-]?%d+"'))
  49. yO=string.sub(tmps,string.find(tmps,"[-]?%d+"))
  50. idO=string.gsub(string.sub(w, string.find(w, 'T="%d+"')),"%D","")
  51. if isarray(idO,blacklist) then
  52. print("Found object [" .. tostring(i) .. "] x:" .. tostring(xO) .. "," .. tostring(yO))
  53. obj[i]={x=xO;y=yO;id=idO}
  54. i=i+1
  55. end
  56. end
  57. -- table.insert(obj,{x=tonumber(xO);y=tonumber(yO);id=tonumber(idO)})
  58. return obj
  59. end
  60.  
  61.  
  62. function eventNewGame()
  63. if tfm.get.room.xmlMapInfo.xml then
  64. local myVar = xmlToobj(tfm.get.room.xmlMapInfo.xml);
  65. local index = math.random(#myVar)
  66. print("Choose location:" .. tostring(index))
  67. local tmpO=myVar[index]
  68. tfm.exec.addShamanObject (27, tmpO.x, tmpO.y-50, 0, 0, 0, ghost)
  69. tfm.exec.addShamanObject (26, 818, 363, 0, 0, 0, false)
  70. for player,name in pairs(tfm.get.room.playerList) do
  71. tfm.exec.addImage("imagelist[math.random(#imagelist)]", "%name", 0, 0)
  72. ui.removeTextArea (1, playerName)
  73. end
  74. end
  75. end
  76.  
  77. --ChatCommands
  78. function eventChatCommand(playername, cmd)
  79. if cmd == "help" then
  80. tfm.exec.chatMessage("messages.[lang].help", playername)
  81. elseif cmd== "cont" then
  82. tfm.exec.chatMessage("messages.[lang].cont", playername)
  83. end
  84. end
  85.  
  86. --Game
  87. tfm.exec.newGame(maplist[math.random(#maplist)])
  88.  
  89. function eventNewPlayer(playerName)
  90. ui.addTextArea(1,"",playerName,0,0,800, 400,0x030303,0x030303,1,true)
  91. tfm.exec.chatMessage("messages.[lang].welcome", playerName)
  92. end
  93.  
  94. function eventPlayerWon(playerName)
  95. ui.addTextArea(1,"",playerName,0,0,800, 400,0x030303,0x030303,1,true)
  96. for name,player in pairs(tfm.get.room.playerList) do
  97. tfm.exec.chatMessage("messages.[lang].win", name)
  98. tfm.exec.newGame(maplist[math.random(#maplist)])
  99. end
  100. end
  101.  
  102. function eventLoop(t1,t2)
  103. if t2<=0 then
  104. maps=maplist[math.random(#maplist)]
  105. tfm.exec.newGame(maplist[math.random(#maplist)])
  106. end
  107. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement