Postado Junho 2, 2014 10 anos bom galera, quero pedir um script que funciona assim você tem item X ai tu usa ele num item Y e tem que estar em sqm em pos W pra ele dar teleport pra pos K.... entenderam? uma foto pra tentar explicar melhor: e um outro script, que funciona assim... 5 players.... tipo anihilator, só que com 5 players, e o lider da coisa ter que usar item X em item Y .... e os players estando nos sqms marcados vo postar uma foto: Se Ajudei Rep+ pra mim
Postado Junho 2, 2014 10 anos Não estou em casa, quando estiver até posso fazer pra você. Só não entendi uma coisa no segundo... o lider do que? da guild, da party...?
Postado Junho 2, 2014 10 anos A primeira já fiz só configura dentro do lua.. questnova.lua --SCRIPT BY MADE LLUCAS75-- function onUse(cid, item, fromPosition, itemEx, toPosition) local pos = {x= 160,y= 54,z= 7} --coloque posição da quest local item1 = 7131 --item que levará use local player1pos = {x=33225, y=31671, z=13, stackpos=253} -- posição que player deve ficar local player1 = getThingfromPos(player1pos) if itemEx.itemid == item1 then if player1 == player1pos then doTeleportThing(cid, pos) doRemoveItem(item.uid, 1) else doPlayerSendCancel(cid, "Vá à posição certa para começar a quest.") end else doPlayerSendCancel(cid, "Use a chave no portal para entrar na quest.") end return true end tag é actions.xml <action itemid="id da chave" script="questnova.lua"/> A segunda fiz com base na anihi...,(só 1 equipe por vez) questnova1.lua --SCRIPT BY MADE LLUCAS75 usado de base anihi-- function onUse(cid, item, fromPosition, itemEx, toPosition) local item1 = 7131 --item que levará use local questlevel = 100 --level mínimo dos participantes para começar quest local after = 1223 -- Depois que entrar transformar nesse id só para 1 grupo ficar no lugar local efeito = 1 --efeito que dará ao telar local efeito2 = 2 --efeito que dará ao chegar na quest --Posições onde os players devem ficar para começar-- local player1pos = {x=33222, y=31671, z=13, stackpos=253} local player1 = getThingfromPos(player1pos) local player2pos = {x=33223, y=31671, z=13, stackpos=253} local player2 = getThingfromPos(player2pos) local player3pos = {x=33224, y=31671, z=13, stackpos=253} local player3 = getThingfromPos(player3pos) local player4pos = {x=33225, y=31671, z=13, stackpos=253} local player4 = getThingfromPos(player4pos) --Onde os players serão telados-- local nplayer1pos = {x=33219, y=31659, z=13} local nplayer2pos = {x=33220, y=31659, z=13} local nplayer3pos = {x=33221, y=31659, z=13} local nplayer4pos = {x=33222, y=31659, z=13} --Posições onde os monstros irão nascer monster1pos = {x=32224, y=31659, z=13} monster2pos = {x=32223, y=31659, z=13} monster3pos = {x=32221, y=31657, z=13} monster4pos = {x=33219, y=31657, z=13} monster5pos = {x=32320, y=31661, z=13} monster6pos = {x=32320, y=31661, z=13} --Quais monstros serão sumonados na quest-- monster1 = "Demon" monster2 = "Demon" monster3 = "Demon" monster4 = "Demon" monster5 = "Demon" monster6 = "Demon" --Outras posições--(verificação de grupos dentro da quest) local starting={x=33217, y=31655, z=13, stackpos=253} --coordenada superior esquerda(as coordenadas desse tem que serem menores que o ending) local checking={x=starting.x, y=starting.y, z=starting.z, stackpos=starting.stackpos} local ending={x=33224, y=31663, z=13, stackpos=253} --coordenada inferior direita(tem que ser maiores que o starting local trash= {x=33193, y=31689, z=15} --Lugar onde os monstros que restaram irão caso os players não estejam na quest(uma área qualquer no mapa que tenha um chão...) --Fim configuração das posições-- if itemEx.itemid == item1 then if player1.itemid > 0 and player2.itemid > 0 and player3.itemid > 0 and player4.itemid > 0 then player1level = getPlayerLevel(player1.uid) player2level = getPlayerLevel(player2.uid) player3level = getPlayerLevel(player3.uid) player4level = getPlayerLevel(player4.uid) if player1level >= questlevel and player2level >= questlevel and player3level >= questlevel and player4level >= questlevel then queststatus1 = getPlayerStorageValue(player1.uid,5000) queststatus2 = getPlayerStorageValue(player2.uid,5000) queststatus3 = getPlayerStorageValue(player3.uid,5000) queststatus4 = getPlayerStorageValue(player4.uid,5000) if queststatus1 == -1 and queststatus2 == -1 and queststatus3 == -1 and queststatus4 == -1 then doSummonCreature(monster1, monster1pos) doSummonCreature(monster2, monster2pos) doSummonCreature(monster3, monster3pos) doSummonCreature(monster4, monster4pos) doSummonCreature(monster5, monster5pos) doSummonCreature(monster6, monster6pos) doSendMagicEffect(player1pos,efeito) doSendMagicEffect(player2pos,efeito) doSendMagicEffect(player3pos,efeito) doSendMagicEffect(player4pos,efeito) doTeleportThing(player1.uid,nplayer1pos) doTeleportThing(player2.uid,nplayer2pos) doTeleportThing(player3.uid,nplayer3pos) doTeleportThing(player4.uid,nplayer4pos) doSendMagicEffect(nplayer1pos, efeito2) doSendMagicEffect(nplayer2pos, efeito2) doSendMagicEffect(nplayer3pos, efeito2) doSendMagicEffect(nplayer4pos, efeito2) doTransformItem(itemEx.uid, after) doRemoveItem(item.uid, 1) else doPlayerSendCancel(cid,"Sorry, not possible.") end else doPlayerSendCancel(cid,"Os participantes não tem level suficiente.") end else doPlayerSendCancel(cid,"Os participantes não estão nos lugares certos para iniciar a quest.") end else doPlayerSendCancel(cid,"Use a chave no lugar certo.") end if itemEx.itemid == item1 then players=0 totalmonsters=0 monster = {} repeat creature= getThingfromPos(checking) if creature.itemid > 0 then if getPlayerAccess(creature.uid) == 0 then players=players+1 end if getPlayerAccess(creature.uid) ~= 0 and getPlayerAccess(creature.uid) ~= 3 then totalmonsters=totalmonsters+1 monster[totalmonsters]=creature.uid end end checking.x=checking.x+1 if checking.x>ending.x then checking.x=starting.x checking.y=checking.y+1 end until checking.y>ending.y if players==0 then current=0 repeat current=current+1 doTeleportThing(monster[current],trash) until current>=totalmonsters doTransformItem(itemEx.uid, item1) end -- Here is the end of it end return 1 end actions.xml <action itemid="id da chave" script="questnova1.lua"/> Se vc tiver conhecimentos básicos de scripts vai saber editá-lo, deixei o mais especifíco possível... na edição do arquivo com comentários... Agora to sem tempo.. Mas se vc não conseguir adaptar essa pra um player, quiser algum do scripts de maneira diferente avise..., Caso de erro avise também.. Se quiser mudar algo de noite rafaço pra ti... Obs:a de cima ta pra 1 player só que da rpa entrar quantos players quiserem ao msm tempo e pa..) Boa sorte. Editado Junho 2, 2014 10 anos por llucas75 (veja o histórico de edições) Scripter: |||||||||| 10% Te ajudei?? REP + e ficamos quites... Atenciosamente, Lucas. Abraços!
Postado Junho 2, 2014 10 anos Autor A primeira já fiz só configura dentro do lua.. questnova.lua --SCRIPT BY MADE LLUCAS75-- function onUse(cid, item, fromPosition, itemEx, toPosition) local pos = {x= 160,y= 54,z= 7} --coloque posição da quest local item1 = 7131 --item que levará use local player1pos = {x=33225, y=31671, z=13, stackpos=253} -- posição que player deve ficar local player1 = getThingfromPos(player1pos) if itemEx.itemid == item1 then if player1 == player1pos then doTeleportThing(cid, pos) doRemoveItem(item.uid, 1) else doPlayerSendCancel(cid, "Vá à posição certa para começar a quest.") end else doPlayerSendCancel(cid, "Use a chave no portal para entrar na quest.") end return true end tag é actions.xml <action itemid="id da chave" script="questnova.lua"/> A segunda fiz com base na anihi...,(só 1 equipe por vez) questnova1.lua --SCRIPT BY MADE LLUCAS75 usado de base anihi-- function onUse(cid, item, fromPosition, itemEx, toPosition) local item1 = 7131 --item que levará use local questlevel = 100 --level mínimo dos participantes para começar quest local after = 1223 -- Depois que entrar transformar nesse id só para 1 grupo ficar no lugar local efeito = 1 --efeito que dará ao telar local efeito2 = 2 --efeito que dará ao chegar na quest --Posições onde os players devem ficar para começar-- local player1pos = {x=33222, y=31671, z=13, stackpos=253} local player1 = getThingfromPos(player1pos) local player2pos = {x=33223, y=31671, z=13, stackpos=253} local player2 = getThingfromPos(player2pos) local player3pos = {x=33224, y=31671, z=13, stackpos=253} local player3 = getThingfromPos(player3pos) local player4pos = {x=33225, y=31671, z=13, stackpos=253} local player4 = getThingfromPos(player4pos) --Onde os players serão telados-- local nplayer1pos = {x=33219, y=31659, z=13} local nplayer2pos = {x=33220, y=31659, z=13} local nplayer3pos = {x=33221, y=31659, z=13} local nplayer4pos = {x=33222, y=31659, z=13} --Posições onde os monstros irão nascer monster1pos = {x=32224, y=31659, z=13} monster2pos = {x=32223, y=31659, z=13} monster3pos = {x=32221, y=31657, z=13} monster4pos = {x=33219, y=31657, z=13} monster5pos = {x=32320, y=31661, z=13} monster6pos = {x=32320, y=31661, z=13} --Quais monstros serão sumonados na quest-- monster1 = "Demon" monster2 = "Demon" monster3 = "Demon" monster4 = "Demon" monster5 = "Demon" monster6 = "Demon" --Outras posições--(verificação de grupos dentro da quest) local starting={x=33217, y=31655, z=13, stackpos=253} --coordenada superior esquerda(as coordenadas desse tem que serem menores que o ending) local checking={x=starting.x, y=starting.y, z=starting.z, stackpos=starting.stackpos} local ending={x=33224, y=31663, z=13, stackpos=253} --coordenada inferior direita(tem que ser maiores que o starting local trash= {x=33193, y=31689, z=15} --Lugar onde os monstros que restaram irão caso os players não estejam na quest(uma área qualquer no mapa que tenha um chão...) --Fim configuração das posições-- if itemEx.itemid == item1 then if player1.itemid > 0 and player2.itemid > 0 and player3.itemid > 0 and player4.itemid > 0 then player1level = getPlayerLevel(player1.uid) player2level = getPlayerLevel(player2.uid) player3level = getPlayerLevel(player3.uid) player4level = getPlayerLevel(player4.uid) if player1level >= questlevel and player2level >= questlevel and player3level >= questlevel and player4level >= questlevel then queststatus1 = getPlayerStorageValue(player1.uid,5000) queststatus2 = getPlayerStorageValue(player2.uid,5000) queststatus3 = getPlayerStorageValue(player3.uid,5000) queststatus4 = getPlayerStorageValue(player4.uid,5000) if queststatus1 == -1 and queststatus2 == -1 and queststatus3 == -1 and queststatus4 == -1 then doSummonCreature(monster1, monster1pos) doSummonCreature(monster2, monster2pos) doSummonCreature(monster3, monster3pos) doSummonCreature(monster4, monster4pos) doSummonCreature(monster5, monster5pos) doSummonCreature(monster6, monster6pos) doSendMagicEffect(player1pos,efeito) doSendMagicEffect(player2pos,efeito) doSendMagicEffect(player3pos,efeito) doSendMagicEffect(player4pos,efeito) doTeleportThing(player1.uid,nplayer1pos) doTeleportThing(player2.uid,nplayer2pos) doTeleportThing(player3.uid,nplayer3pos) doTeleportThing(player4.uid,nplayer4pos) doSendMagicEffect(nplayer1pos, efeito2) doSendMagicEffect(nplayer2pos, efeito2) doSendMagicEffect(nplayer3pos, efeito2) doSendMagicEffect(nplayer4pos, efeito2) doTransformItem(itemEx.uid, after) doRemoveItem(item.uid, 1) else doPlayerSendCancel(cid,"Sorry, not possible.") end else doPlayerSendCancel(cid,"Os participantes não tem level suficiente.") end else doPlayerSendCancel(cid,"Os participantes não estão nos lugares certos para iniciar a quest.") end else doPlayerSendCancel(cid,"Use a chave no lugar certo.") end if itemEx.itemid == item1 then players=0 totalmonsters=0 monster = {} repeat creature= getThingfromPos(checking) if creature.itemid > 0 then if getPlayerAccess(creature.uid) == 0 then players=players+1 end if getPlayerAccess(creature.uid) ~= 0 and getPlayerAccess(creature.uid) ~= 3 then totalmonsters=totalmonsters+1 monster[totalmonsters]=creature.uid end end checking.x=checking.x+1 if checking.x>ending.x then checking.x=starting.x checking.y=checking.y+1 end until checking.y>ending.y if players==0 then current=0 repeat current=current+1 doTeleportThing(monster[current],trash) until current>=totalmonsters doTransformItem(itemEx.uid, item1) end -- Here is the end of it end return 1 end actions.xml <action itemid="id da chave" script="questnova1.lua"/> Se vc tiver conhecimentos básicos de scripts vai saber editá-lo, deixei o mais especifíco possível... na edição do arquivo com comentários... Agora to sem tempo.. Mas se vc não conseguir adaptar essa pra um player, quiser algum do scripts de maneira diferente avise..., Caso de erro avise também.. Se quiser mudar algo de noite rafaço pra ti... Obs:a de cima ta pra 1 player só que da rpa entrar quantos players quiserem ao msm tempo e pa..) Boa sorte. tem como colocar a primeira com só um player? EDIT: mas não tá dando certo, ta bugando e.e pode explicar melhor o script 1? posição da quest, não entendi essa --SCRIPT BY MADE LLUCAS75-- function onUse(cid, item, fromPosition, itemEx, toPosition) local pos = {x= 33560,y= 32414,z= 12} --coloque posição da quest --- posição que o player vai ir certo? local item1 = 22638 --item que levará use local player1pos = {x=33614, y=32394, z=11, stackpos=253} -- posição que player deve ficar local player1 = getThingfromPos(player1pos) if itemEx.itemid == item1 then if player1 == player1pos then doTeleportThing(cid, pos) doRemoveItem(item.uid, 1) else doPlayerSendCancel(cid, "Vá à posição certa para começar a quest.") end else doPlayerSendCancel(cid, "Use the key in silver lock pedestal to enter in Terofar's room.") end return true end mas não tá dando, ele fica falando que o player ta na pos errada na hora de usar Editado Junho 2, 2014 10 anos por Schiffert (veja o histórico de edições) Se Ajudei Rep+ pra mim
Postado Junho 2, 2014 10 anos Autor Não estou em casa, quando estiver até posso fazer pra você. Só não entendi uma coisa no segundo... o lider do que? da guild, da party...? lider do time ali, o cara que tiver próximo ao lock pedestal, no caso o slot Se Ajudei Rep+ pra mim
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.