Postado Agosto 16, 2015 9 anos 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 Agosto 16, 2015 9 anos por Summer Slyer (veja o histórico de edições)
Postado Agosto 16, 2015 9 anos 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 Agosto 16, 2015 9 anos 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 Agosto 16, 2015 9 anos 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.