Postado Março 8, 2018 7 anos @xWhiteWolf, @KotZletY, @marcot Galera estou com uma Duvida Imensa sobre esse Script, estou procurando montar um NPC barco que funcione no estilo do 7.4 no caso na hora de viajar eu não quero que o NPC check se o player está PK, PZ, Battle quero apenas que fale com o NPC e ele teleporte para outra cidade, mesmo que o player esteja PK, PZ, Battle, alguem poderia me ajuda ? USO OTX servidor 8.6 fucei nos Modules no NPC axei algo envolvendo Pzlock, mais não sei bem se ali é a parte correta alguem poderia me dar uma luz ? estou tentando fazer com esse script abaixo : Spoiler local focus = 0 local talk_start = 0 local target = 0 local following = false local attacking = false function onThingMove(creature, thing, oldpos, oldstackpos) end function onCreatureAppear(creature) end function onCreatureDisappear(cid, pos) if focus == cid then selfSay('Tchau então.') focus = 0 talk_start = 0 end end function onCreatureTurn(creature) end function msgcontains(txt, str) return (string.find(txt, str) and not string.find(txt, '(%w+)' .. str) and not string.find(txt, str .. '(%w+)')) end function onCreatureSay(cid, type, msg) msg = string.lower(msg) if (msgcontains(msg, 'hi') and (focus == 0)) and getDistanceToCreature(cid) < 5 then if isPremium(cid) then selfSay('Olá ' .. creatureGetName(cid) .. 'Eu posso te levar para a Infernus City, Diga {infernus}. Isto ira te custar 100k?') focus = cid talk_start = os.clock() else selfSay('Desculpe, somente premiuns podem viajar nesse barco.') focus = 0 talk_start = 0 end elseif msgcontains(msg, 'hi') and (focus ~= cid) and getDistanceToCreature(cid) < 5 then selfSay('Desculpe, ' .. creatureGetName(cid) .. '! Converso com você em um estante.') elseif focus == cid then talk_start = os.clock() elseif msgcontains(msg, 'mordor') then if getPlayerLevel(cid) > 420 or getPlayerLevel(cid) < 419 then if getPlayerVocation(cid) <1 or getPlayerVocation(cid) > 8 then selfSay('Desculpe, Somente Promotion\'s podem ter acesso a Infernus!') talk_state = 0 else selfSay('Você deseja viajar para Infernus por 100000 moedas de ouro?') talk_state = 1 end elseif talk_state == 1 then if msgcontains(msg, 'yes') then if pay(cid,100000) then travel(cid, 250, 2328, 7) selfSay('Que rude!') else selfSay('Desculpe, você não tem dinheiro suficiente.') end end talk_state = 0 elseif msgcontains(msg, 'hi') then selfSay('Olá ' .. creatureGetName(cid) .. ' ?') elseif msgcontains(msg, 'travel') then selfSay('Eu posso te levar para a Infernus City, Diga {infernus}. Isto ira te custar 100k.') elseif msgcontains(msg, 'bye') and getDistanceToCreature(cid) < 4 then selfSay('Tchau, ' .. creatureGetName(cid) .. '!') focus = 0 talk_start = 0 end end end function onCreatureChangeOutfit(creature) end function onThink() doNpcSetCreatureFocus(focus) if (os.clock() - talk_start) > 30 then if focus > 0 then selfSay('Próximo Porfavor...!') end focus = 0 end if focus ~= 0 then if getDistanceToCreature(focus) > 5 then selfSay('Tchau então.') focus = 0 end end end só que ao ligar o servidor me deparo com esse erro, imagem abaixo : Editado Março 11, 2018 7 anos por Micheel15 (veja o histórico de edições)
Postado Março 12, 2018 7 anos Autor @lordzetros, quando coloco isso e dou reload no npc ta retornando esses erros a cada 1 segundo imagem abaixo :
Postado Março 12, 2018 7 anos Posta o código novamente após as modificações, por gentileza. Edit: Eu cometi um engano, na parte do script em si, em que você está trabalhando, não pode usar |PLAYERNAME|, fui dá uma olhada no código e percebi que, a função creatureGetName, na verdade sempre vai retornar nulo, pois a mesma é getCreatureName(cid), e não dá forma que estava no script. Teste aí e me informe como que ficou, @Micheel15 Editado Março 12, 2018 7 anos por lordzetros (veja o histórico de edições)
Postado Março 12, 2018 7 anos Autor @lordzetrosentão, eu falo Hi agora ele responde, mais quando falo o destino ele não me leva eu não fala mais nada, e por incrivel que pareça, não da nenhum erro na distro eu estou tentando fazer um NPC de barco, mais que eu consiga viajar com PK, Battle, resumindo viajar de qualquer jeito ! se você puder me ajudar.
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.