Ir para conteúdo

Featured Replies

Postado
  Em 12/02/2018 em 23:23, Kyllini disse:

@SoulSarti então, cada bau tem seu item com id especifica já que é de cada vocação, id's [12712 [vocation 5] - 12713 [vocation 6] - 12714 [vocation 7] e 12715 [vocation 8].

 

Provavelmente você saberia me ajudar no meu outro tópico também que não tem haver com "action" de bau, e sim um script de npc que leva as pessoas pro local da quest. 

 

kkk ja estou pedindo muito .. :p

Deixa eu entender, então existem 4 baus, cada um com um uniqueid e eles devem entregar o item de acordo com a vocação do jogador. É isso?
pois é possivel também manter um unico bau e fazê-lo entregar um item diferente para cada vocação que for "abri-lo". o que voce precisa?

 

e sobre o npc, se vc ja criou o topico pra ele, me manda o link do topico. caso n tenha criado, crie e mande o link, pra gnt n misturar os casos no msm topico. tb pode ajudar outros jogadores com a msm intençao q vc.

  • Respostas 14
  • Visualizações 1.9k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • tenta assim (sono ta me atrapalhando.. aushausha)   local config = { items = {{12714,1}}, -- aqui vc configura quais items vc quer dar de recompensa. caso for mais de 1, adicione uma virgula

  • UAHEUAHEUAHEUHA foi mal, eu corrigi o teleport mas eu usei uma versao antiga do script, onde eu n tinha modificado os items.  onde tem o for i = 1, #config.items do doPlayerAddItem(

  • Hehe  marca la como melhor resposta e da aquele repzin maroto. Jaja vou trabalhar no script do npc. é rapido, mas eu to trabalhando nos meus projetos ao msm tempo, entao pode demorar um tiquin. mas sa

Postado

Me manda o link por aqui mesmo, mas antes me diz se o codigo que eu vou te passar esta funcionando:

ele é um codigo pra qualquer quest que voce queira por no seu servidor, desde que o bau tenha uniqueid e a quest exija alguma vocação pra ser recolhida.

espero que esteja 100% funcional!

 

local config = {
items = {{id,qtd}}, -- aqui vc configura quais items vc quer dar de recompensa. caso for mais de 1, adicione uma virgula e ponha a id e qtd dentro de colchetes
--{{2160,3},{2134,1}},
voc = {5}, -- aqui vc poe os ids das vocações que podem abrir o bau. caso sejam mais de 1, basta adicionar uma virgula dps do ultimo numero e por o outro. voc = {5,6}, 
storage = 5000, -- altere para o storage que você desejar
gmessage = true, -- vai mandar mensagem global quando o jogar finalizar a quest? true = sim | false = nao
unique = 0, --uniqueid do bau. caso nao tenha, deixe 0, caso tenha, ponha o valor.
teleport = {check = false, {}}, --vai teletransportar o jogar ao finalizar a quest? se sim, mude para true e dps da virgula mude o {} para a posição desejada, ex:
--teleport = {true, {x = 2438, y = 2400, z = 9}}
nome = "Hellraiser" -- aqui vc poe o nome da sua quest, se tiver. Na mensagem global, aparecerá da seguinte maneira: 
-- "O player (nomedochar) completou a quest Hellraiser!." Deixe em branco o nome para nao mostrar qual foi a quest feita (isso ainda vai gerar uma mensagem global!)
}

function onUse(cid, item, frompos, item2, topos)
if item.uid == config.unique then
   if getPlayerStorageValue(cid, config.storage) ~= 1 and isInArray(config.voc, getPlayerVocation(cid)) then
      if config.gmessage and config.nome ~= "" then
         doBroadcastMessage("O player "..getCreatureName(cid).." completou a quest ".. config.nome .. "!",MESSAGE_STATUS_WARNING)
      elseif config.gmessage and config.nome == "" then
         doBroadcastMessage("O player "..getCreatureName(cid).." completou uma quest!",MESSAGE_STATUS_WARNING)    
      end
      setPlayerStorageValue(cid, config.storage, 1)
      for i = 1, #config.items do
          doPlayerAddItem(cid, config.items[i][1], config.items[i][2])
      end
      if config.teleport[1] then
         doTeleportThing(cid, config.teleport[2])
      end
   elseif getPlayerStorageValue(cid, config.storage) == 1 then    -- caso ja tenha feito a quest
      doPlayerSendCancel(cid, "Você já fez essa quest!")
   elseif not isInArray(config.voc, getPlayerVocation(cid)) then  -- caso nao seja da vocação apropriada
      doPlayerSendCancel(cid, "Você não pode receber a recompensa porque não tem a vocação apropriada!")
   end
end


return true
end

 

lembrando que voce pode usar esse codigo e apenas alterar as variaveis para qualquer quest que se enquadre no que eu expliquei acima.

Postado
  • Autor
  Citar

[12/2/2018 22:13:7] [Error - Action Interface] 
[12/2/2018 22:13:7] data/actions/scripts/testtp.lua:onUse
[12/2/2018 22:13:7] Description: 
[12/2/2018 22:13:7] attempt to index a nil value
[12/2/2018 22:13:7] stack traceback:
[12/2/2018 22:13:7]     [C]: in function 'doTeleportThing'
[12/2/2018 22:13:7]     data/actions/scripts/testtp.lua:27: in function <data/actions/scripts/testtp.lua:14>

Então, testei aqui ... ele entregou o item certinho, a vocação e a mensagem tambem está perfeito, porém a parte de "teleporta" o jogador não funcionou ta desse jeito.

  Citar

local config = {
items = {{12714,1}}, -- aqui vc configura quais items vc quer dar de recompensa. caso for mais de 1, adicione uma virgula e ponha a id e qtd dentro de colchetes
--{{2160,3},{2134,1}},
voc = {1}, -- aqui vc poe os ids das vocações que podem abrir o bau. caso sejam mais de 1, basta adicionar uma virgula dps do ultimo numero e por o outro. voc = {5,6}, 
storage = 5000, -- altere para o storage que você desejar
gmessage = true, -- vai mandar mensagem global quando o jogar finalizar a quest? true = sim | false = nao
unique = 1000, --uniqueid do bau. caso nao tenha, deixe 0, caso tenha, ponha o valor.
teleport = {check = true, {x = 157, y = 51, z = 7}}, --vai teletransportar o jogar ao finalizar a quest? se sim, mude para true e dps da virgula mude o {} para a posição desejada, ex:
--teleport = {true, {x = 2438, y = 2400, z = 9}}
nome = "Hellraiser" -- aqui vc poe o nome da sua quest, se tiver. Na mensagem global, aparecerá da seguinte maneira: 
-- "O player (nomedochar) completou a quest Hellraiser!." Deixe em branco o nome para nao mostrar qual foi a quest feita (isso ainda vai gerar uma mensagem global!)
}

function onUse(cid, item, frompos, item2, topos)
if item.uid == config.unique then
   if getPlayerStorageValue(cid, config.storage) ~= 1 and isInArray(config.voc, getPlayerVocation(cid)) then
      if config.gmessage and config.nome ~= "" then
         doBroadcastMessage("O player "..getCreatureName(cid).." completou a quest ".. config.nome .. "!",MESSAGE_STATUS_WARNING)
      elseif config.gmessage and config.nome == "" then
         doBroadcastMessage("O player "..getCreatureName(cid).." completou uma quest!",MESSAGE_STATUS_WARNING)    
      end
      setPlayerStorageValue(cid, config.storage, 1)
      for i = 1, #config.items do
          doPlayerAddItem(cid, config.items[1], config.items[2])
      end
      if config.teleport[1] then
         doTeleportThing(cid, config.teleport[2])
      end
   elseif getPlayerStorageValue(cid, config.storage) == 1 then    -- caso ja tenha feito a quest
      doPlayerSendCancel(cid, "Você já fez essa quest!")
   elseif not isInArray(config.voc, getPlayerVocation(cid)) then  -- caso nao seja da vocação apropriada
      doPlayerSendCancel(cid, "Você não pode receber a recompensa porque não tem a vocação apropriada!")
   end
end


return true
end

 

Editado por Kyllini (veja o histórico de edições)

Postado
  Em 13/02/2018 em 00:14, Kyllini disse:

Então, testei aqui ... ele entregou o item certinho, a vocação e a mensagem tambem está perfeito, porém a parte de "teleporta" o jogador não funcionou ta desse jeito.

 

 

tenta assim (sono ta me atrapalhando.. aushausha)

 

local config = {
items = {{12714,1}}, -- aqui vc configura quais items vc quer dar de recompensa. caso for mais de 1, adicione uma virgula e ponha a id e qtd dentro de colchetes
--{{2160,3},{2134,1}},
voc = {1}, -- aqui vc poe os ids das vocações que podem abrir o bau. caso sejam mais de 1, basta adicionar uma virgula dps do ultimo numero e por o outro. voc = {5,6}, 
storage = 5000, -- altere para o storage que você desejar
gmessage = true, -- vai mandar mensagem global quando o jogar finalizar a quest? true = sim | false = nao
unique = 1000, --uniqueid do bau. caso nao tenha, deixe 0, caso tenha, ponha o valor.
teleport = {true, {x = 157, y = 51, z = 7}}, --vai teletransportar o jogar ao finalizar a quest? se sim, mude para true e dps da virgula mude o {} para a posição desejada, ex:
--teleport = {true, {x = 2438, y = 2400, z = 9}}
nome = "Hellraiser" -- aqui vc poe o nome da sua quest, se tiver. Na mensagem global, aparecerá da seguinte maneira: 
-- "O player (nomedochar) completou a quest Hellraiser!." Deixe em branco o nome para nao mostrar qual foi a quest feita (isso ainda vai gerar uma mensagem global!)
}

function onUse(cid, item, frompos, item2, topos)
if item.uid == config.unique then
   if getPlayerStorageValue(cid, config.storage) ~= 1 and isInArray(config.voc, getPlayerVocation(cid)) then
      if config.gmessage and config.nome ~= "" then
         doBroadcastMessage("O player "..getCreatureName(cid).." completou a quest ".. config.nome .. "!",MESSAGE_STATUS_WARNING)
      elseif config.gmessage and config.nome == "" then
         doBroadcastMessage("O player "..getCreatureName(cid).." completou uma quest!",MESSAGE_STATUS_WARNING)    
      end
      setPlayerStorageValue(cid, config.storage, 1)
      for i = 1, #config.items do
          doPlayerAddItem(cid, config.items[1], config.items[2])
      end
      if config.teleport[1] then
         tp = config.teleport[2]
         doTeleportThing(cid, tp)
      end
   elseif getPlayerStorageValue(cid, config.storage) == 1 then    -- caso ja tenha feito a quest
      doPlayerSendCancel(cid, "Você já fez essa quest!")
   elseif not isInArray(config.voc, getPlayerVocation(cid)) then  -- caso nao seja da vocação apropriada
      doPlayerSendCancel(cid, "Você não pode receber a recompensa porque não tem a vocação apropriada!")
   end
end


return true
end

 

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.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo