Ir para conteúdo

Featured Replies

Postado

Eae pessoal blz?? Estou aqui para postar um script simples porém util pra comunidade!

 
Descrição: Você é morador de uma cidade, por exemplo, Carlin, dai você quer virar morador de Thais(Configuravel), você fala com o Npc James, ele vai te perguntar se você quer morar em thais, se você dizer sim, ele vai te teleportar para thais e você vai ser um morador de thais! Caso você já seja morador de Thais, ele vai dizer que você é morador de thais!
 
Testado em Tfs 0.3.6pl1 e Funcionou!
 
Simples não?? Vamos começar!
 
Em data/npc crie um arquivo James.xml e coloque isto dentro:
 

<?xml version="1.0" encoding="UTF-8"?>
<npc name="James" script="data/npc/scripts/James.lua" walkinterval="0" floorchange="0" access="5" >
<health now="150" max="150"/>
<look type="177" head="17" body="54" legs="114" feet="0" addons="2" />
<parameters>
<parameter key="message_greet" value="Welcome to CITYNAME |PLAYERNAME|! Would you like to become {resident} of CITYNAME??"/>
<parameter key="message_farewell" value="Goodbye!"/>
</parameters>
 
</npc>

 
E Agora em data/npc/scripts Crie um arquivo .lua chamado de James e dentro coloque isto:
 

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 CITYID = 1 -- Townid da cidade!
local CITYNAME = "Thais" -- Nome da Cidade!
 
local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid
if msgcontains(msg, 'resident') or msgcontains(msg, 'yes') then
if (getPlayerTown(cid) ~= CITYID) then
doPlayerSetTown(cid, CITYID)
doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)))
selfSay('You just become resident '.. CITYNAME ..'!', cid)
elseif msgcontains(msg, 'no') then
selfSay('How Are You! If you want to become a resident of '.. CITYNAME ..' talk to me!', cid)
else
selfSay('Already a resident of '.. CITYNAME ..'!!!', cid)
end
end
return 0
end
 
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) 
npcHandler:addModule(FocusModule:new())


 
Configurações:
 
No arquivo James.xml, onde tiver escrito "CITYNAME", substitua pelo nome da cidade
 
e em James.lua só modifique está parte:
 

local CITYID = 1 -- Townid da cidade!
local CITYNAME = "Thais" -- Nome da Cidade!

 
 
Creio que já deu pra entender ali no código oque deve configurar!
 
Pessoal Obrigado pela atenção e espero que façam um bom proveito!
 
Créditos
 

Zet0N0Mumurou(Eu) - Por Criar o Script!
KualKerun - Pela ideia!

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

Postado

Tópico aprovado e movido a área correta, obrigado por compartilhar.

Você recebeu um REP pela contribuição.


Dica: Você pode usar a função getTownName(CITYID) para não precisar escrever o nome da cidade na variável!

Postado
  • Autor

Eu to ligado! eu fiz assim do jeito atual é porque os nomes das cidades algumas estão erradas e tals então deixei assim até porque não dá trabalho pra ninguem com ou sem isto   :) Mas valeu pela Dica!

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

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