Postado Fevereiro 1, 2015 10 anos function onUse(cid, item, topos) local doors = { [88651] = {vocation = {1, 5, 2, 6}, messageFail = "Sorry, you need to be a Sorcerer or Druid to pass."}, [88653] = {vocation = {3, 7}, messageFail = "Sorry, you need to be a Paladin or Royal Paladin to pass."}, [88654] = {vocation = {4, 8}, messageFail = "Sorry, you need to be a Knight or Elite Knight to pass."} } if isInArray(doors[item.actionid].vocation, getPlayerVocation(cid)) then doTeleportThing(cid, toPosition) doTransformItem(item.uid, item.itemid + 1) else return doPlayerSendCancel(cid, doors[item.actionid].messageFail) end return true end <action actionid="88651;88653;88654" event="script" value="portavocation.lua"/>
Postado Fevereiro 1, 2015 10 anos Autor function onUse(cid, item, topos) local doors = { [88651] = {vocation = {1, 5, 2, 6}, messageFail = "Sorry, you need to be a Sorcerer or Druid to pass."}, [88653] = {vocation = {3, 7}, messageFail = "Sorry, you need to be a Paladin or Royal Paladin to pass."}, [88654] = {vocation = {4, 8}, messageFail = "Sorry, you need to be a Knight or Elite Knight to pass."} } if isInArray(doors[item.actionid].vocation, getPlayerVocation(cid)) then doTeleportThing(cid, toPosition) doTransformItem(item.uid, item.itemid + 1) else return doPlayerSendCancel(cid, doors[item.actionid].messageFail) end return true end <action actionid="88651;88653;88654" event="script" value="portavocation.lua"/> Amigo a porta fala que esta Locked agora e apresenta o seguinte erro [01/02/2015 21:43:59] [Error - Action Interface] [01/02/2015 21:43:59] data/actions/scripts/Portasquestvip.lua:onUse [01/02/2015 21:43:59] Description: [01/02/2015 21:43:59] attempt to index a nil value [01/02/2015 21:43:59] stack traceback: [01/02/2015 21:43:59] [C]: in function 'doTeleportThing' [01/02/2015 21:43:59] data/actions/scripts/Portasquestvip.lua:9: in function <data/actions/scripts/Portasquestvip.lua:1>
Postado Fevereiro 1, 2015 10 anos function onUse(cid, item, topos) local doors = { [88651] = {vocation = {1, 5, 2, 6}, messageFail = "Sorry, you need to be a Sorcerer or Druid to pass."}, [88653] = {vocation = {3, 7}, messageFail = "Sorry, you need to be a Paladin or Royal Paladin to pass."}, [88654] = {vocation = {4, 8}, messageFail = "Sorry, you need to be a Knight or Elite Knight to pass."} } if isInArray(doors[item.actionid].vocation, getPlayerVocation(cid)) then doTeleportThing(cid, toPosition, true) doTransformItem(item.uid, item.itemid + 1) else return doPlayerSendCancel(cid, doors[item.actionid].messageFail) end return true end
Postado Fevereiro 2, 2015 10 anos Autor function onUse(cid, item, topos) local doors = { [88651] = {vocation = {1, 5, 2, 6}, messageFail = "Sorry, you need to be a Sorcerer or Druid to pass."}, [88653] = {vocation = {3, 7}, messageFail = "Sorry, you need to be a Paladin or Royal Paladin to pass."}, [88654] = {vocation = {4, 8}, messageFail = "Sorry, you need to be a Knight or Elite Knight to pass."} } if isInArray(doors[item.actionid].vocation, getPlayerVocation(cid)) then doTeleportThing(cid, toPosition, true) doTransformItem(item.uid, item.itemid + 1) else return doPlayerSendCancel(cid, doors[item.actionid].messageFail) end return true end amigo , Este script ele não passa pela portinha ela fala que esta locked . o script do nosso amigo la de cima ele passa pelo porta só que ao invés dele abrir a porta ele passa por cima dela . sem abrir ou fechar e ainda continua o erro .. Tava fuçando e vi que se eu trocar estar parte Onde esta escrito Toposition por ( TOPOS) a portinha abre e fecha quando o char passa , mais o problema é que ao ficar no meio da porta se alguém der use ela ira trocar de porta automaticamente bugando a mesma --- doTeleportThing(cid, toPosition, true) --- doTeleportThing(cid, Topos, true) [01/02/2015 23:16:50] [Error - Action Interface] [01/02/2015 23:16:50] data/actions/scripts/Portasquestvip.lua:on Use [01/02/2015 23:16:50] Description: [01/02/2015 23:16:50] attempt to index a nil value [01/02/2015 23:16:50] stack traceback: [01/02/2015 23:16:50] [C]: in function 'doTeleportThing' [01/02/2015 23:16:50] data/actions/scripts/Portasquestvip.lua:9: in function <data/actions/scripts/Portasquestvip.lua:1> Editado Fevereiro 2, 2015 10 anos por igorcbc (veja o histórico de edições)
Postado Fevereiro 2, 2015 10 anos Aqui, tente esse... vá em action/script e crie um script chamado pdoor.lua e coloque isso dentro function onUse(cid, item, frompos, item2, topos) reqvoc = getPlayerVocation(cid) if item.uid == 8200 then -- mude para 8201 se quando for usar o mesmo script para outra vocação e 8203.... if reqvoc == 3 or recvoc == 7 then -- Aqui é o id da vocação, 3 é paladin e 7 é royal pos = getPlayerPosition(cid) if pos.x == topos.x then if pos.y < topos.y then pos.y = topos.y + 1 else pos.y = topos.y - 1 end elseif pos.y == topos.y then if pos.x < topos.x then pos.x = topos.x + 1 else pos.x = topos.x - 1 end else doPlayerSendTextMessage(cid,22,'Stand in front of the door.') return 1 end doTeleportThing(cid,pos) doSendMagicEffect(topos,12) else doPlayerSendTextMessage(cid,22,'Somente Paladins entram aqui.') -- Mensagem end return 1 else return 0 end end e em action,xml coloque <action uniqueid="8200" script="pdoor.lua" /> PS: quando for criar outra voc, mude o uniqueID aqui tbm, coloque o mesmo do pdoor.lua feito isso é só colocar actionID 8200, nas portas de paladin. Te ajudei? Se você achar que eu mereço, me dê uma "rep+" e selecione meu post como "melhor resposta" Skype: JoadsonAion
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.