Ir para conteúdo

Featured Replies

  • 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
  • Autor

corrigindo, ainda há um erro.

estou falando com outro npc de outra cidade e ele ta me dizendo que ja sou morador de tal cidade mesmo não sendo.

Postado

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.



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 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, 'dweller')) then
		talkState[talkUser] = 1
		selfSay('You want to become a dweller of this city?', cid)
	elseif (msgcontains(msg, 'yes') and talkState[talkUser] == 1) then
		if (getPlayerTown(cid) ~= newtown) then
			doPlayerSetTown(cid, newtown)
			doTeleportThing(cid, getTownTemplePosition(newtown))
			doSendMagicEffect(getThingPos(cid), CONST_ME_TELEPORT)
			selfSay('Now you are a dweller of '..getTownName(newtown)..' City.', cid)
		else
			talkState[talkUser] = 0
			selfSay('You are already a dweller of this city.', cid)
		end
	elseif (msgcontains(msg, 'no') and talkState[talkUser] == 1) then
		talkState[talkUser] = 0
		selfSay('Okay, you are just visiting.', cid)
	end
	
	return true
end

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())




Mayor.xml (data/npc):

<npc name="Mayor" script="data/npc/scripts/mayor.lua" access="5" lookdir="1">
<health now="1000" max="1000"/>
<look type="123" head="45" body="67" legs="89" feet="10" addons="1"/>
	<parameters>
		<parameter key="message_greet" value="Hello |PLAYERNAME|. I can make you a {dweller} of this city." />
	</parameters>
</npc>

The corrupt fear us.

The honest support us.

The heroic join us.

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.7k

Informação Importante

Confirmação de Termo