Ir para conteúdo

Featured Replies

Postado

ola pessoal gostaria de pedir um script de um npc que faz virar morador da cidade em vez do player ter que passar em cima de um tile.

 

Ou seja, o jogador fala com o npc que pergunta se ele deseja virar morador de tal cidade. ai o player diz "yes" e passa a ser morador dessa cidade.
 
Segue o script do tile que faz virar morador da cidade em meu servidor.

 

 

function onStepIn(cid, item, position, fromPosition)

if(item.actionid > 30020 and item.actionid < 30100) then
local townId = (item.actionid - 30020)
doPlayerSetTown(cid, townId)
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Voce agora e um morador de " .. getTownName(townId) .. ".")
end
 
return true
end

 

Se alguém puder me ajudar fico muito grato, já procurei em todo o tibiaking e não encontrei.

abraços!

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

  • 3 weeks later...
  • Respostas 9
  • Visualizações 1.8k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Tenta colocar isso aqui no .lua do NPC:  local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} loca

  • local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {}   function onCreatureAppear(cid)              

  • Fiz pra que o player seja teleportado para o templo da nova town ao falar com o NPC. mayor.lua (data/npc/scripts): local newtown = 5 -- new townID local keywordHandler = KeywordHandler:new() local

Postado

Tenta colocar isso aqui no .lua do NPC: 

local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
local talkState = {}
local townid = [COLOQUE O ID DA CIDADE AQUI]

function onCreatureAppear(cid)            npcHandler:onCreatureAppear(cid)            end
function onCreatureDisappear(cid)        npcHandler:onCreatureDisappear(cid)            end
function onCreatureSay(cid, type, msg)  npcHandler:onCreatureSay(cid, type, msg)    end
function onThink()                        npcHandler:onThink()                        end

function greetCallback(cid)
     if msgcontains(cid,"citizen") then
          selfSay("Do you want to become a citizen?", cid)
          talkState[talkUser]=1
     end
     if talkState[talkUser]==1 then
          if msgcontains(cid,"yes") then
               selfSay("So be it!", cid)
               doPlayerSetTown(cid, townid)
          elseif msgcontains(cid,"no") then
               selfSay("As you wish.", cid)
          end
          talkState[talkUser]=0
     end
end
 
npcHandler:setCallback(CALLBACK_GREET, greetCallback)
npcHandler:addModule(FocusModule:new())

Não esquece de mudar o ID da cidade ali. Se não funcionar, me avisa. :)

 

Abraço.

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

Postado
  • Autor

então não deu certo. 

coloquei o npc no mapa e tudo mas ele não aparece e nem consigo sumonar ele. como coloco no script do npc em si? coloquei assim...

 

<?xml version="1.0" encoding="UTF-8"?>

<npc name="Rei De Baiak" script="data/npc/scripts/reidebaiak.lua" walkinterval="2000" floorchange="0">
    <health now="100" max="100"/>
    <look type="129" head="19" body="69" legs="107" feet="50" addons="0"/>
    <parameters>
        <parameter key="message_greet" value="Bem vindo |PLAYERNAME|. Eu posso fazelo virar morador de Baiak, basta dizer {citizen}."/>
        <parameter key="message_farewell" value="Ate Logo"/>
    </parameters>
</npc>

de qualquer forma rep + por tentar me ajudar. vou dar uma verificada aqui no código e ve se consigo alguma coisa.

Postado
local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
local talkState = {}
 
function onCreatureAppear(cid)                npcHandler:onCreatureAppear(cid) end
function onCreatureDisappear(cid)            npcHandler:onCreatureDisappear(cid) end
function onCreatureSay(cid, type, msg)        npcHandler:onCreatureSay(cid, type, msg) end
function onThink()                            npcHandler:onThink() end
 
function creatureSayCallback(cid, type, msg)
    if(not npcHandler:isFocused(cid)) then
        return false
    end
 
    local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid
    
    if (msgcontains(msg, "yes")) then
        if getPlayerTown(cid) == 0 then
            npcHandler:say("Welcome! You are now a citizen of Baiak Town", cid)
            doPlayerSetTown(cid, 1)
        else
            npcHandler:say("sorry you already are a resident of this city!!", cid)
        end
        end
 
 
return true
end
 
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

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

www.pokemiw.com
24 Horas Online - 1º 2º 3º 4º 5º 6º 7º gerações 100%
 

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