lucasatak 14 Postado Março 21, 2010 Share Postado Março 21, 2010 (editado) Retirado do Otfans ! O script funciona assim: Walk on telhas para empurrar as almofadas. Cria um teleport quando o quebra-cabeça é finalizado. Puzzle irá redefinir quando você entra em um teleport, eo teletransporte será removido. Como lidar com as configurações / config: local verticalTiles = 5400 Este é o actionID de todas as telhas na vertical (Quando tiver maped a área que você vai entender),não se esqueça de adicionar este actionID para as telhas o script não trabalho (corretamente). local horizontalTiles = 5401 Este é o actionID de todas as peças horizontais (Quando tiver maped a área que você vai entender), não se esqueça de adicionar este actionID para as telhas! Sem o actionids sobre as telhas correto, o script não trabalho (corretamente). local ground = {normal = 426, used = 425} "normal" é o itemid do azulejo chão quando não é utilizado, o que significa que quando você não ficar nele.O outro, "usado", é o itemid da terra quando você usá-lo, o que significa que quando você está de pé sobre ele. Estes são os azulejos que tem o actionID mencionado em "verticalTiles" e "horizontalTiles"! local teleport = {itemid = 1387, actionid = 5408} "ItemID" é o itemid e "actionID" é o actionID do teletransporte que aparece quando você tem finalizado o quebra-cabeça. teleportPosition local = (x = 584, y = 371, z = 7) Esta é a posição onde o teletransporte será gerado. local newPosition = { x = 595 , y = 381 , z = 7 } Esta é a posição que o teleport vai enviar você (aquele que gera. local position = { x = 587 , y = 374 , z = 7 } Esta deve ser a noroeste (superior esquerdo) a posição da zona de quebra-cabeças. Dê uma olhada na imagem, se você não entender isso. local magicEffect = 12 Este não é tão importante, que irá emitir apenas um efeito sobre o jogador quando ele / ela finalizar, o quebra-cabeça. Para excluí-lo, por favor escreva MagicEffect "local = nil" em vez disso, porque você pode mudar sua mente um dia. Por favor, salve essa imagem, você pode se esquecer de como usar esse script mais tarde! Observe o retângulo azul brilhante.Essa posição é a posição que você está indo para escrever na posição de "variável",digamos que por exemplo no seu mapa que a posição é: x = 200 e y = 350 e Z = 7, então ficaria assim no script: local position = { x = 200 , y = 350 , z = 7 } Agora, para o script. data/movements/scripts dados / movimentos / scripts - Puzzle.lua -- >>CREDITS<< ---- Script 100% by COLANDUS-- Functions 100% by COLANDUS-- OPENLUA.COM ---- >>CREDITS<< ---- >>INFO<< ---- Don't forget: Place 9 pillows of each color in different order in the mapeditor!-- Do you use a lever to teleport you to this room? Then you could make it randomize the puzzle when you press it!-- If you do that, you could remove the randomize part, so it doesn't randomize in this script, make it randomize only when you pull the lever.-- Your own choise, just giving you ideas!-- Pilow order to complete:-- BLUE, GREEN-- RED, YELLOW-- >>INFO<< ---- >>CONFIG<< --local verticalTiles = 5400 -- Action id of the vertical tiles.local horizontalTiles = 5401 -- Action id of the horizontal tiles.local ground = {normal = 426, used = 425} -- Itemid of the ground tile when it is normal or used (when you stand on it)local teleport = {itemid = 1387, actionid = 5408} -- Enter the itemid and the actionid of the teleport.local teleportPosition = {x = 584, y = 371, z = 7} -- Where should the teleport be spawned when you finnish the puzzle?local newPosition = {x = 595, y = 381, z = 7} -- Where should you get teleported when you enter the teleport?local position = {x = 587, y = 374, z = 7} -- Position of the north west (top left) side of the puzzle area.local magicEffect = 12 -- What effect will appear when you finnish the puzzle? Leave blank or write "nil" if you don't want any.-- >>CONFIG<< --function onStepIn(cid, item, pos) teleportPosition.stackpos = 1 local getTeleport = getThingfromPos(teleportPosition) if getTeleport.itemid == teleport.itemid and getTeleport.actionid == teleport.actionid then doRemoveItem(getTeleport.uid, 1) end local getPillow = {} if item.actionid == verticalTiles then for i = 0, 5 do getPillow[i + 1] = getThingfromPos({x = position.x + i, y = getPlayerPosition(cid).y, z = position.z, stackpos = 1}) end elseif item.actionid == horizontalTiles then for i = 0, 5 do getPillow[i + 1] = getThingfromPos({x = getPlayerPosition(cid).x, y = position.y + i, z = position.z, stackpos = 1}) end end doTransformItem(getPillow[1].uid, getPillow[6].itemid) for i = 1, 5 do doTransformItem(getPillow[i + 1].uid, getPillow.itemid) end if checkPillows(position.x, position.y, 1686) == 1 and checkPillows(position.x + 3, position.y, 1688) == 1 and checkPillows(position.x, position.y + 3, 1687) == 1 and checkPillows(position.x + 3, position.y + 3, 1689) == 1 then local newTeleport = doCreateTeleport(teleport.itemid, newPosition, teleportPosition) doSetItemActionId(newTeleport, teleport.actionid) if magicEffect ~= nil then doSendMagicEffect(pos, magicEffect) end end doTransformItem(item.uid, ground.used) return 1endfunction onStepOut(cid, item, pos) pos.stackpos = 1 local getPos = getThingfromPos(pos) teleportPosition.stackpos = 1 local getTeleport = getThingfromPos(teleportPosition) if comparePos(pos, teleportPosition) and getPos.itemid == getTeleport.itemid and getPos.actionid == getTeleport.actionid then teleportPosition.stackpos = 1 doRemoveItem(getTeleport.uid, 1) resetPuzzle() return 1 else doTransformItem(item.uid, ground.normal) return 1 endendfunction checkPillows(posx, posy, item) local returnValue = 1 for gx = posx, posx + 2 do for gy = posy, posy + 2 do if getThingfromPos({x = gx, y = gy, z = position.z, stackpos = 1}).itemid ~= item then returnValue = 0 break end end end return returnValueendfunction resetPuzzle() local availablePillows = {} for i = 0, 3 do local pillowId = 1686 + i for i = 1, 9 do table.insert(availablePillows, pillowId) end end availablePillows = shuffleTable(availablePillows) for gx = position.x, position.x + 5 do for gy = position.y, position.y + 5 do local pillow = math.random(1, #availablePillows) getItem = getThingfromPos({x = gx, y = gy, z = position.z, stackpos = 1}) doTransformItem(getItem.uid, availablePillows[pillow]) table.remove(availablePillows, pillow) end endend function shuffleTable(t) local newTable = {} for i = 1, #t do randomId = math.random(1, #t) table.insert(newTable, t[randomId]) table.remove(t, randomId) end return newTableend dados / movimentos - movements.xml - Movements.xml evento <movevent = "StepIn" actionID = "5400" script "pillow = puzzle.lua" /> evento <movevent = "StepOut" actionID = "5400" script "pillow = puzzle.lua" /> evento <movevent = "StepIn" actionID = "5401" script "pillow = puzzle.lua" /> evento <movevent = "StepOut" actionID = "5401" script "pillow = puzzle.lua" /> evento <movevent = "StepOut" actionID = "5408" script "pillow = puzzle.lua" /> Tudo que você tem que fazer no MapEditor é tornar a área travesseiro, colocando os travesseiros em uma ordem aleatória (não como uma concluída), estabelecendo um actionID (que você escolher, escrever no "config" que aquela que você escolheu), para cada tile vertical, e outra para as telhas actionID horizontal, e claro que você deve mudar isso no config "" também. "Você pode usar o actionids que já estão escritas no "config" já que é "5400" para as peças verticais e "5401" para as peças horizontais. Além disso, verifique a sua global.lua na pasta de dados, se esta função é encontrado: function comparePos(pos1, pos2) return (pos1.x == pos2.x and pos1.y == pos2.y and pos1.z == pos2.z)end Se ele não for encontrado, basta adicioná-lo =) CREDITOS PARA Colandus(OTFANS) TA MAU TRADUZIDO,MAIS É ISSO AI, ABÇS ! Editado Março 21, 2010 por lucasatak Link para o comentário https://xtibia.com/forum/topic/129736-movements-quebra-cabe%C3%A7a/ Compartilhar em outros sites More sharing options...
Vilden 137 Postado Março 21, 2010 Share Postado Março 21, 2010 Parece ser uma ótima script porém está em inglês e mal traduzido mesmo, podia da uma traduzida melhor ai, esses textos da imagem por exemplo, muito boa a script. Abraços Link para o comentário https://xtibia.com/forum/topic/129736-movements-quebra-cabe%C3%A7a/#findComment-854846 Compartilhar em outros sites More sharing options...
TheGODMaX 24 Postado Março 21, 2010 Share Postado Março 21, 2010 Legal, ja tinha visto isto na OTfans msm... Mas cara, que relaxo hein... só abriu o google pois la e traduziu... Traduçao ta pessima... 'pise nas telhas' telhas ? não seria SQMs ?? Traduz melhor isso aí, tem partes que nem da pra intender... Fora isso, o script é bom sim, eu ja tenho no meu ATS x] Link para o comentário https://xtibia.com/forum/topic/129736-movements-quebra-cabe%C3%A7a/#findComment-854887 Compartilhar em outros sites More sharing options...
lucasatak 14 Postado Março 21, 2010 Autor Share Postado Março 21, 2010 Realmente,está muito mau traduzido,estou com pouco tempo,postei rapido,mais eu vo tenta arruma isso ai. Até que da pra entender um pouco! Abçs ! Link para o comentário https://xtibia.com/forum/topic/129736-movements-quebra-cabe%C3%A7a/#findComment-854987 Compartilhar em outros sites More sharing options...
tibiaa4e 86 Postado Março 22, 2010 Share Postado Março 22, 2010 legal eu ja tinha feito esse a um ano Porém como não terminei a dream challenge inteira nunca postei... Só seria bom você reorganizar o topico Principalmente o script Link para o comentário https://xtibia.com/forum/topic/129736-movements-quebra-cabe%C3%A7a/#findComment-855138 Compartilhar em outros sites More sharing options...
tibiano do hell 6 Postado Março 25, 2010 Share Postado Março 25, 2010 Gostei do script... +eu kria o map da dream challenge para colocar esse script intão neimvousar Link para o comentário https://xtibia.com/forum/topic/129736-movements-quebra-cabe%C3%A7a/#findComment-855910 Compartilhar em outros sites More sharing options...
masterror 1 Postado Julho 30, 2010 Share Postado Julho 30, 2010 (editado) aew... nem funfa haha Editado Julho 30, 2010 por Masfrii Link para o comentário https://xtibia.com/forum/topic/129736-movements-quebra-cabe%C3%A7a/#findComment-914275 Compartilhar em outros sites More sharing options...
Posts Recomendados