Demonbholder 420 Postado Abril 23, 2011 Share Postado Abril 23, 2011 (editado) Faaaala galeinha! Tudo tranquilo? Bom, tomara que sim. Este é um projeto que eu desenvolvi ao longo deste mês, eu refiz três quests importantes do tibia, sendo estas a Demon Oak, Annihilator e Demon Helmet. Lembrando que elas não são exatamente como no tibia, são mais pra versão Demonbholder. Outra coisa, eu vou estar fazendo as quests rl que me pedirem abaixo com exceção da Pits of Inferno, POI. Esta quest não foi incorporada pois demora algum tempo para ser feita, portanto, talvez eu farei algum dia. Quem quiser contribuir com a sua versão de uma quest também pode me mandar por mensagem privada e ela será colocada aqui no tópico com os seus créditos. Não será tolerado ripping de quests, tanto de OtServers quanto de outros fóruns. Atenção: Sempre, sempre leia as informações para que não aconteça nenhum bug. Demon Oak Versão: Demonbholder Sistema: Mod Detalhes: Esta versão da Demon Oak eu fiz com que pudesse se encaixar em vários mapas, porém, é necessário seguir o padrão da imagem abaixo. Funcionamento: Deve funcionar desta seguinte maneira: O jogador deve conseguir o Hallowed Axe, e depois entrar em um portal, este portal deverá ter a actionid 37804. Após entrar no portal, ele será teleportado para Demon Oak, e lá ele deve usar o Hallowed Axe na arvore para começar a quest. Após ter terminado, ele automaticamente será teleportado para a sala do trono da Demon Oak. Os baús do trono da Demon Oak, devem ter os seguintes actionid: 37800, 37801, 37802, 37803. Mapa Padrão: Script: <?xml version="1.0" encoding="UTF-8"?> <mod name="DemonOak" enabled="yes" author="Demonbholder" forum="XTibia.com"> <config name="Function"><![CDATA[ function getOak() local OAK = { [1] = {name='skeleton', quant=7}, [2] = {name='beholder', quant=4}, [3] = {name='minotaur mage', quant=3}, [4] = {name='dwarf guard', quant=3}, [5] = {name='demon skeleton', quant=2}, [6] = {name='dragon', quant=1}, [7] = {name='tarantula', quant=3}, [8] = {name='pirate cutthroat', quant=3}, [9] = {name='orc leader', quant=3}, [10] = {name='dwarf geomancer', quant=1}, [11] = {name='fire elemental', quant=4}, [12] = {name='vampire', quant=2}, [13] = {name='avalanche', quant=1}, [14] = {name='blue djinn', quant=2}, [15] = {name='green djinn', quant=2}, [16] = {name='giant spider', quant=5}, [17] = {name='crystal spider', quant=3}, [18] = {name='dragon lord', quant=3}, [19] = {name='hydra', quant=2}, [20] = {name='frost dragon', quant=2}, [21] = {name='fury', quant=5}, [22] = {name='medusa', quant=2}, [23] = {name='destroyer', quant=3}, [24] = {name='diabolic imp', quant=2}, [25] = {name='minishabaal', quant=2}, [26] = {name='behemoth', quant=3}, [27] = {name='warlock', quant=2}, [28] = {name='undead dragon', quant=2}, [29] = {name='demon', quant=3}, } return OAK end function doOak(param) local pos = getCreaturePosition(param) for posx = pos.x - 20, pos.x + 20 do for posy = pos.y - 20, pos.y + 20 do local posi = getThingFromPos({x=posx, y=posy, z=pos.z, stackpos=253}).uid if isMonster(posi) then doRemoveCreature(posi) end end end return TRUE end ]]></config> <creaturescript type="login" name="DemonOakR" event="script"><![CDATA[ registerCreatureEvent(cid, "DemonOakD") registerCreatureEvent(cid, "DemonOakK") return TRUE ]]></creaturescript> <action itemid="8293" event="script"><![CDATA[ domodlib('Function') local espinhosid = {8289, 8290} if isInArray(espinhosid, itemEx.itemid) then if getPlayerStorageValue(cid, 37800) > -1 and getPlayerStorageValue(cid, 37800) <= #getOak() and getPlayerStorageValue(cid, 37801) == -1 then doPlayerSendTextMessage(cid, 22, "Mate-os!") for i = 1, getOak()[getPlayerStorageValue(cid, 37800)].quant do setPlayerStorageValue(cid, 37801, 0) oakx = itemEx.itemid == 8289 and i or 0 doCreateMonster(getOak()[getPlayerStorageValue(cid, 37800)].name, {x=getThingPos(item.uid).x +oakx, y=getThingPos(item.uid).y +4, z=getThingPos(item.uid).z}) end else doPlayerSendCancel(cid, "Voce ja fez esta quest.") end end ]]></action> <action actionid="37800;37801;37802;37803" event="script"><![CDATA[ domodlib('Function') local itens = { [37800] = {id = 2495, message = "Parabens, voce ganhou uma demon legs."}, [37801] = {id = 8905, message = "Parabens, voce ganhou um rainbow shield."}, [37802] = {id = 8851, message = "Parabens, voce ganhou um royal crossbow."}, [37803] = {id = 8918, message = "Parabens, voce ganhou um spellbook of dark mysteries."} } if getPlayerStorageValue(cid, 37800) == #getOak()+1 then doPlayerAddItem(cid, itens[item.actionid].id, 1) doPlayerSendTextMessage(cid, 25, itens[item.actionid].message) setPlayerStorageValue(cid, 37800, getPlayerStorageValue(cid, 37800)+1) end ]]></action> <creaturescript type="logout" name="DemonOakL" event="script"><![CDATA[ domodlib('Function') if getPlayerStorageValue(cid, 37800) > -1 and getPlayerStorageValue(cid, 37800) <= #getOak() then if getCreatureHealth(cid) ~= 0 then doPlayerSendCancel(cid, "Voce nao pode sair da demon OAK.") return FALSE end end return TRUE ]]></creaturescript> <creaturescript type="kill" name="DemonOakK" event="script"><![CDATA[ domodlib('Function') local salapos = {x=148, y=38, z=7} -- sala do trono if isMonster(target) and string.lower(getCreatureName(target)) == string.lower(getOak()[getPlayerStorageValue(cid, 37800)].name) and getCreatureMaster(target) ~= cid then if getPlayerStorageValue(cid, 37800) > -1 and getPlayerStorageValue(cid, 37800) <= #getOak() then setPlayerStorageValue(cid, 37801, getPlayerStorageValue(cid, 37801) + 1) end if getPlayerStorageValue(cid, 37801) == (getOak()[getPlayerStorageValue(cid, 37800)].quant) then setPlayerStorageValue(cid, 37800, getPlayerStorageValue(cid, 37800) + 1) setPlayerStorageValue(cid, 37801, -1) end if getPlayerStorageValue(cid, 37800) == #getOak()+1 then doTeleportThing(cid, salapos) end end return TRUE ]]></creaturescript> <creaturescript type="death" name="DemonOakD" event="script"><![CDATA[ domodlib('Function') if getPlayerStorageValue(cid, 37800) > -1 and getPlayerStorageValue(cid, 37800) <= #getOak() then setPlayerStorageValue(cid, 37800, -1) setPlayerStorageValue(cid, 37801, -1) doOak(cid) end return TRUE ]]></creaturescript> <movevent type="StepIn" actionid="37804" event="script"><![CDATA[ domodlib('Function') local ret = FALSE local pos = {x=63, y=129, z=7} -- demon oak for _, pid in pairs(getPlayersOnline()) do if getPlayerStorageValue(pid, 37800) > -1 and getPlayerStorageValue(pid, 37800) < #getOak() then ret = TRUE break end end if ret == TRUE or getPlayerStorageValue(cid, 37800) > -1 or getPlayerItemCount(cid, 8293) < 1 then doTeleportThing(cid, fromPosition) doPlayerSendCancel(cid, "Ha alguem fazendo esta quest no momento, ou voce ja a fez ou nao possui o hallowed axe.") else setPlayerStorageValue(cid, 37800, 1) doTeleportThing(cid, pos) doPlayerSendTextMessage(cid, 22, "Demon OAK!") end return TRUE ]]></movevent> </mod> Crie um arquivo .xml em mods e cole este script nele, nada mais precisa ser feito. Editando o script: Edite a posição da sala do trono, linha 126. Edite a posição da demon oak, linha 162. Por fim, você pode editar os monstros e a quantidade deles no inicio do script, porém não é recomendável adicionar mais níveis. Se for mudar os monstros e a quantidade, mude antes de colocar o script, caso contrário, poderá bugar. Os baús da quest devem ter os seguintes actionid: 32800, 32801, 32802, 32803. Annihilator: Versão: Demonbholder Sistema: Actions Funcionamento: Após entrar na annihilator, o time terá tanto tempo para matar os demons e pegar sua recompensa, caso isto não seja feito no tempo escolhido no script, os jogadores serão teleportados para algum lugar desejado e a quest reiniciará. Enquanto este tempo não acabar, outros times não poderão entrar na quest. O script irá teleportar os jogadores para um andar abaixo. Mapa padrão: Script - Alavanca: function onUse(cid, item) local pos = {x=193, y=118, z=9, stackpos=253} -- posição do jogador mais proximo da alavanca local uid = nil local delay = 500 -- tempo para resetar a quest local t = {} for i = pos.x -3, pos.x do local player = getThingFromPos({x=i, y=pos.y, z=pos.z, stackpos=253}).uid if isCreature(player) then if getPlayerStorageValue(player, 32800) == -1 and getPlayerLevel(player) >= 100 then uid = uid == nil and 1 or uid + 1 t[uid] = player end else return doPlayerSendCancel(cid, "Você precisa de 4 membros para fazer a quest.") end end if #t == 4 then if getGlobalStorageValue(32800) - os.time() <= 0 then for i = pos.x -3, pos.x do doTeleportThing(getThingFromPos({x=i, y=pos.y, z=pos.z, stackpos=253}).uid, {x=i, y=pos.y, z=pos.z + 1}) doSendMagicEffect({x=i, y=pos.y, z=pos.z + 1}, 27) end doRespaw('demon') setGlobalStorageValue(32800, delay + os.time()) addEvent(doCheck, delay*1000, t) else doPlayerSendCancel(cid, "Espere "..getGlobalStorageValue(32800) - os.time().." segundos para fazer a quest.") end else doPlayerSendCancel(cid, "Alguém no seu grupo já fez a quest.") end return TRUE end function doRespaw(mon) mon1 = {x=190, y=116, z=10, stackpos=253} -- posição demon 1 mon2 = {x=191, y=120, z=10, stackpos=253} -- posição demon 2 mon3 = {x=194, y=118, z=10, stackpos=253} -- posição demon 3 doCreateMonster(mon, mon1) doCreateMonster(mon, {x=mon1.x +2, y=mon1.y, z=mon1.z}) doCreateMonster(mon, mon2) doCreateMonster(mon, {x=mon2.x +2, y=mon2.y, z=mon2.z}) doCreateMonster(mon, mon3) doCreateMonster(mon, {x=mon3.x +1, y=mon3.y, z=mon3.z}) end function doCheck(tab) local templepos = {x=151, y=50, z=7} for i = 1, 4 do if isCreature(tab[i]) then if getPlayerStorageValue(tab[i], 32800) == -1 then doTeleportThing(tab[i], templepos) end end end for posx = mon1.x, mon1.x + 2, 2 do local monster = {x=posx, y=mon1.y, z=mon1.z, stackpos=253} if isCreature(getThingFromPos(monster).uid) then if string.lower(getCreatureName(getThingFromPos(monster).uid)) == 'demon' and isMonster(getThingFromPos(monster).uid) then doRemoveCreature(getThingFromPos(monster).uid) end end end for posx = mon2.x, mon2.x + 2, 2 do local monster = {x=posx, y=mon2.y, z=mon2.z, stackpos=253} if isCreature(getThingFromPos(monster).uid) then if string.lower(getCreatureName(getThingFromPos(monster).uid)) == 'demon' and isMonster(getThingFromPos(monster).uid) then doRemoveCreature(getThingFromPos(monster).uid) end end end for posx = mon3.x, mon3.x + 1 do local monster = {x=posx, y=mon3.y, z=mon3.z, stackpos=253} if isCreature(getThingFromPos(monster).uid) then if string.lower(getCreatureName(getThingFromPos(monster).uid)) == 'demon' and isMonster(getThingFromPos(monster).uid) then doRemoveCreature(getThingFromPos(monster).uid) end end end end Crie um arquivo .lua em data/actions/scripts e cole o script acima nele, feito isso, em data/actions.xml, cole isto: <action actionid="AID" event="script" value="NomeDoArquivo.lua"/> Escolhe o actionid e coloque na alavanca e na tag. Editando o script: Edite a posição do jogador mais próximo da alavanca, linha 3. Edite o tempo citado no funcionamento da quest, linha 5. Edite as posições dos demons, nas linhas 41, 42, 43, onde a primeira posição é onde fica o primeiro demon em cima do jogador, a segunda posição é onde fica o primeiro demon em baixo do jogador e a ultima posição é onde fica o demon ao lado do jogador. Script - Chest: function onUse(cid, item) local itens = { [32800] = {id = 2494, message = "Parabéns, você ganhou uma demon armor."}, [32801] = {id = 2400, message = "Parabéns, você ganhou uma magic sword."}, [32802] = {id = 2431, message = "Parabéns, você ganhou um stonecutter axe."}, [32803] = {id = 2326, message = "Parabéns, você ganhou um annihilation bear."} } if getPlayerStorageValue(cid, 32800) ~= 1 then if itens[item.actionid].id ~= 2326 then doPlayerAddItem(cid, itens[item.actionid].id, 1) else local bag = doPlayerAddItem(cid, 1990, 1) doAddContainerItem(bag, itens[item.actionid].id, 1) end doPlayerSendTextMessage(cid, 22, itens[item.actionid].message) setPlayerStorageValue(cid, 32800, 1) end return TRUE end Crie um arquivo .lua em data/actions/scripts e cole o script acima nele, feito isso, em data/actions.xml, cole isto: <action actionid="32800;32801;32802;32803" event="script" value="NomeDoArquivo.lua"/> Demon Helmet Versão: Demonbholder Sistema: Actions Funcionamento: Clique na alavanca e a pedra sumirá, após alguns segundos ela voltará. Os baús deverão ter os seguintes actionid: 34800, 34801, 34802. Script - Alavanca: function onUse(cid, item) local pedrapos = {x=151, y=51, z=7} -- posição da pedra local pedraid = 1355 -- id da pedra local time = 30 local pos = getThingPos(item.uid) if item.itemid == 1945 then for i = 1, 255 do if getThingFromPos({x=pedrapos.x, y=pedrapos.y, z=pedrapos.z, stackpos=i}).itemid == pedraid then doRemoveItem(getThingFromPos({x=pedrapos.x, y=pedrapos.y, z=pedrapos.z, stackpos=i}).uid, 1) doTransformItem(item.uid, 1946) addEvent(doCreatePedra, 1000*time, pedraid, pedrapos, pos) break else return doPlayerSendCancel(cid, "A pedra ainda não voltou.") end end else return doPlayerSendCancel(cid, "A pedra ainda não voltou.") end return TRUE end function doCreatePedra(id, pos1, pos2) doCreateItem(id, pos1) for i = 1, 255 do local position = {x=pos2.x, y=pos2.y, z=pos2.z, stackpos=i} if getThingFromPos(position).itemid == 1946 then stack = i break end end local posa = {x=pos2.x, y=pos2.y, z=pos2.z, stackpos=stack} doTransformItem(getThingFromPos(posa).uid, 1945) end Crie um arquivo .lua em data/actions/script e cole o script acima nele, feito isso, cole esta tag em data/actions/actions.xml: <action actionid="AID" event="script" value="NomeDoArquivo.lua"/> Escolha um actionid e coloque na alavanca e na tag. Editando o script: Edite a posição da pedra, linha 3, o id da pedra, linha 4 e o tempo que a pedra ficará removida, linha 5. Script - Chest: function onUse(cid, item) local itens = { [34800] = {id = 2493, message = "Parabéns, você ganhou um demon helmet."}, [34801] = {id = 2520, message = "Parabéns, você ganhou um demon shield."}, [34002] = {id = 2645, message = "Parabéns, você ganhou uma steel boots."} } if getPlayerStorageValue(cid, 34800) < 2 then doPlayerSendTextMessage(cid, 22, itens[item.actionid].message) doPlayerAddItem(cid, itens[item.actionid].id, 1) setPlayerStorageValue(cid, 34800, getPlayerStorageValue(cid, 34800) + 1) else doPlayerSendCancel(cid, "Você já fez esta quest.") end return TRUE end Crie um arquivo .lua em data/actions/script e cole o script acima nele e depois em data/actions/actions.xml, cole a seguinte tag: <action actionid="34800;34801;34802" event="script" value="NomeDoArquivo.lua"/> Arena Svargrond Versão: Demonbholder Sistema: Mod Detalhes: Script semelhante a Arena Svargrond do Tibia, pelo qual se desafia 10 monstros. Disponível em apenas 1 dificuldade. Funcionamento: O jogador deve ir em um piso que tenha o actionid 40001 e será teleportado para a arena. Feito isso, ele irá pisar no piso com actionid 40000 e um monstro será criado, ele deverá lutar contra esse monstro. Após matar 10 monstros, o jogador é teleportado para sala de recompensa. Script: <?xml version="1.0" encoding="UTF-8"?> <mod name="Arena Svargrond" enabled="yes" author="Demonbholder" forum="XTibia.com"> <config name="ArenaLib"><![CDATA[ dinheiro = 10000 storage = 47000 storage2 = 47001 playerpos = {x=151, y=48, z=7} -- posicao da arena trofypos = {x=151, y=48, z=7} -- posicao da area apos a arena monpos = {x=151, y=48, z=7} -- posicao onde o monstro sera criado monsters = { [0] = 'rat', [1] = 'dwarf', [2] = 'minotaur guard', [3] = 'demon skeleton', [4] = 'dragon', [5] = 'vampire', [6] = 'giant spider', [7] = 'dragon lord', [8] = 'warlock', [9] = 'demon' } function doRemoveCorpse(pos) for i = 1, 255 do corp = {x=pos.x, y=pos.y, z=pos.z, stackpos=i} if isCorpse(getThingFromPos(corp).uid) then break end end doRemoveItem(getThingFromPos(corp).uid, 1) end ]]></config> <creaturescript type="death" name="Arena" event="script"><![CDATA[ domodlib('ArenaLib') if isPlayer(deathList[1]) and isMonster(cid) then if getPlayerStorageValue(deathList[1], storage) > -1 and getPlayerStorageValue(deathList[1], storage) < 10 then setPlayerStorageValue(deathList[1], storage, getPlayerStorageValue(deathList[1], storage) + 1) addEvent(doRemoveCorpse, 500, getCreaturePosition(cid)) setPlayerStorageValue(deathList[1], storage2, -1) end if getPlayerStorageValue(deathList[1], storage) == 10 then doTeleportThing(deathList[1], trofypos) end end return TRUE ]]></creaturescript> <creaturescript type="kill" name="ArenaK" event="script"><![CDATA[ domodlib('ArenaLib') if isMonster(cid) and isPlayer(target) then if getPlayerStorageValue(target, storage) > -1 and getPlayerStorageValue(target, storage) < 10 then setPlayerStorageValue(target, storage, -1) setPlayerStorageValue(target, storage2, -1) doRemoveCreature(cid) addEvent(doRemoveCorpse, 500, getCreaturePosition(target)) end end return TRUE ]]></creaturescript> <creaturescript type="logout" name="ArenaL" event="script"><![CDATA[ domodlib('ArenaLib') if getPlayerStorageValue(cid, storage) > -1 and getPlayerStorageValue(cid, storage) < 10 then return FALSE, doPlayerSendCancel(cid, "You can't logout during arena!") end return TRUE ]]></creaturescript> <movevent type="StepIn" actionid="40000" event="script"><![CDATA[ domodlib('ArenaLib') if monsters[getPlayerStorageValue(cid, storage)] then if getPlayerStorageValue(cid, storage2) == -1 then local mon = doCreateMonster(monsters[getPlayerStorageValue(cid, storage)], monpos) setPlayerStorageValue(cid, storage2, 1) registerCreatureEvent(mon, "Arena") registerCreatureEvent(mon, "ArenaK") end end return TRUE ]]></movevent> <movevent type="StepIn" actionid="40001" event="script"><![CDATA[ domodlib('ArenaLib') for _, pid in pairs(getPlayersOnline()) do if (getPlayerStorageValue(pid, storage) > -1 and getPlayerStorageValue(pid, storage) < 10) or getPlayerStorageValue(cid, storage) == 10 then return TRUE, doTeleportThing(cid, fromPosition) end end if getPlayerMoney(cid) < dinheiro then return TRUE, doTeleportThing(cid, fromPosition), doPlayerSendCancel(cid, "Voce nao tem dinheiro.") end doPlayerRemoveMoney(cid, dinheiro) setPlayerStorageValue(cid, storage, 0) doPlayerSendTextMessage(cid, 4, "Arena Svargrond!") return TRUE, doTeleportThing(cid, playerpos) ]]></movevent> </mod> Crie um arquivo .xml em mods e cole este script nele, nada mais precisa ser feito. Editando o script: Logo no início do mod você deve mudar as posições da sala de recompensas, de onde os monstros vão ser criados e de onde fica a arena. É possível mudar os monstros também. Lembrando que o actionid dos pisos devem ser 40000 para o de entrada na arena e 40001 para criar os monstros. Só irei avaliar pedidos de quests que tiverem explicações e forem do tibia. Favor avisar caso seja encontrado alguma falha. Por enquanto é isso galera, com o tempo eu irei adicionando mais quests. Espero que aproveitem, até mais. Editado Setembro 11, 2012 por Demonbholder Link para o comentário Compartilhar em outros sites More sharing options...
pablo361 25 Postado Abril 23, 2011 Share Postado Abril 23, 2011 Muito boom ... axo que seus scripts ficaram melhores do que os originais Parabéns =) rep+ Link para o comentário Compartilhar em outros sites More sharing options...
Kuro o Shiniga 87 Postado Abril 23, 2011 Share Postado Abril 23, 2011 (editado) Muito Bom Demonbholder! Aprovado Continue Assim Vai Ajudar Muitas Pessoas Rep+ Editado Abril 23, 2011 por Pinpao Link para o comentário Compartilhar em outros sites More sharing options...
Kimoszin 32 Postado Abril 23, 2011 Share Postado Abril 23, 2011 Booooaa cara :button_ok: Vai ajudar aqueles que querem criar seu map/servidor com script diferentes e bons. Uma dica: Vc gosta de mapear? vc podia criar a parte da demon oak, e da anihi e por embaixo para download, ai a pessoa que nao tem baixar e te-la. Abraços Link para o comentário Compartilhar em outros sites More sharing options...
Demonbholder 420 Postado Abril 23, 2011 Autor Share Postado Abril 23, 2011 Não é a minha atividade favorita. Se alguém quiser fazer os mapas da Demon Oak, Annihilator e Demon Helmet, eu colocarei os créditos. Até mais. Link para o comentário Compartilhar em outros sites More sharing options...
749676 2 Postado Abril 29, 2011 Share Postado Abril 29, 2011 (editado) esse mlk ai manja pakas, ta sempre com boa vontade para ajduar o povo do xtibia aki.. xD Editado Abril 29, 2011 por 749676 Link para o comentário Compartilhar em outros sites More sharing options...
Parafusootserver 0 Postado Setembro 15, 2011 Share Postado Setembro 15, 2011 Arena Svargrond - fiz a arena mas nao consigo entrar nela, diz que o piso esta bloquiado. tem como me ajudar ? Link para o comentário Compartilhar em outros sites More sharing options...
pbottrinks 29 Postado Setembro 19, 2011 Share Postado Setembro 19, 2011 Parabéns Demonb. Tópico muito útil. Tenho uma dúvida, as quests são pra ser motadas iguais as originais? (maping). Tá de parabéns. :* Link para o comentário Compartilhar em outros sites More sharing options...
Demonbholder 420 Postado Setembro 22, 2011 Autor Share Postado Setembro 22, 2011 (editado) Sim, sinceramente, a demon oak não ta 100% ainda, mas as outras funcionam bem. Editado Setembro 22, 2011 por Demonbholder Link para o comentário Compartilhar em outros sites More sharing options...
pbottrinks 29 Postado Setembro 22, 2011 Share Postado Setembro 22, 2011 Pow, qeria monta as quest pra vc. Link para o comentário Compartilhar em outros sites More sharing options...
milbradt 19 Postado Setembro 11, 2012 Share Postado Setembro 11, 2012 Olá Demonbholder, estou revivendo o topico pois estou com 1 duvida. Fui testar seu mod Arena Svargrond. Algumas coisas que percebi. 1: Para entrar na arena o action id é o 40001. 2: E para o monster aparecer na ARENA é o action 40000. 3: Quando você mata todos os monster da Arena, nada acontece, você continua na arena, e fica tranvado la. Esses forão os erros que encontrei, claro talvez os actionid você apenas se enganou na hora de postar no topico. Link para o comentário Compartilhar em outros sites More sharing options...
Demonbholder 420 Postado Setembro 11, 2012 Autor Share Postado Setembro 11, 2012 (editado) De fato, eu inverti na hora de criar o tópico quanto aos actionids, consertei agora. E quanto ao erro de não teleportar, acredito que esteja funcionando sim, pois esta parte do script confirma isso: if getPlayerStorageValue(deathList[1], storage) == 10 then doTeleportThing(deathList[1], trofypos) end De repente você não configurou a posição trofypos, ou algo assim. Editado Setembro 11, 2012 por Demonbholder Link para o comentário Compartilhar em outros sites More sharing options...
milbradt 19 Postado Setembro 11, 2012 Share Postado Setembro 11, 2012 (editado) Percebi o meu erro agora.. Tinha excluido uns monster la em cima, e o script iria teleportar apenas quando matase os 10 monsters. Então jamais eu seria teleportado Vlw ai cara, Rep + ae pelos sistemas. E deixar vivo aqui uma questão ja que estou no embalo.. uhauha Você poderia me dizer como fazer para o script tambem adicionar uma storage ao jogador? eu tentei assim: if getPlayerStorageValue(deathList[1], storage) == 2 then setPlayerStorageValue(cid,49501,1) doTeleportThing(deathList[1], trofypos) end Porem não esta dando a storage ao jogador.. Se não puder ajudar.. vlw mesmo assim mano! @Edit... Denovo ;X Ou é um erro no sistema ou eu não entendi. Tipo... quando alguem esta na Arena, obviamente não é pra ninguem poder entrar. Porem.. Se o Personagem 1 fes a quest da Arena, o personagem 2 não pode entrar nem mesmo depois que ela estiver vazia.... Percebi que Só pode entrar se o Personagem 1 esta Deslogado :X Acredito tambem que se o Personagem 2 Fizer, os dois teram que estar deslogado para um Terceiro poder fazer! Editado Setembro 11, 2012 por milbradt Link para o comentário Compartilhar em outros sites More sharing options...
Demonbholder 420 Postado Setembro 12, 2012 Autor Share Postado Setembro 12, 2012 Para adicionar um storage o certo é: setPlayerStorageValue(deathList[1],49501,1) E quanto ao outro erro, você deve ter colocado menos monstros que no script original, certo? Por isso o erro está acontecendo. Link para o comentário Compartilhar em outros sites More sharing options...
milbradt 19 Postado Setembro 12, 2012 Share Postado Setembro 12, 2012 (editado) Exato, mas consegui arrumar, apenas modifiquei onde tinha os "10" pelo numero de monster que deixei. Eu tambem abri um topico sobre uma duvida do seu mod em pedidos e duvidas de scripting. O @leoxtibia me ajudou la, não sei muito sobre scripts mas creio que oq ele fes se chama um loop de area. Se querer ver as duvidas e uns erros que tinha axado.. http://www.xtibia.co...o-demonbholder/ Editado Setembro 12, 2012 por milbradt Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados