Ir para conteúdo
  • Cadastre-se

(Resolvido)RESOLVIDO Npc Primeiro Item


Ir para solução Resolvido por joadson,

Posts Recomendados

eae galera blz ? eu estava estudando um pouco de script então tentei criar um npc que vc conversa com ele e ele te da um item ai eu fiz tudo certinho, quando fui colocar o npc no meu OT deu alguns erros na distro mas já consertei ai quando terminei tudo, sem erro coloquei o script, sumonei o npc tudo certo até ai, ai quando vou falar com ele não da erro na distro não acontece nada!!! Exclusivamente nada!! quem puder me ajudar, estarei agradecido 

 

NPC.xml

<?xml version="1.0" encoding="UTF-8"?>
<npc name="Kelvin" script="item.lua" walkinterval="2000" floorchange="0">
<health now="100" max="100"/>
<look type="133" head="78" body="92" legs="76" feet="0" addons="3"/>
	<parameters>
		<parameter key="message_greet" value="Ola |PLAYERNAME|, Eu sou o Kelvin quer algums {items} ?."/>
	</parameters>
</npc>

NPC.lua

local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)

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 

	if not npcHandler:isFocused(cid) then
		return false
	end

	if getPlayerStorageValue(cid, 99746) == false then
		if msgcontains(msg, 'item') then
			npcHandler:say('Opa, então voce ainda não tem items e precisa de ajuda ? tome isto vai lhe ajudar em sua jornada', cid)
			doPlayerAddItem(cid, 2160, 100)
			setPlayerStorageValue(cid, 99746)
			
	return true
end
else 
npcHandler:say('Saia daqui já lhe ajudei', cid)
end


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

Pronto postei o script, quem puder consertar e me reportar o que eu errei agradecerei e ganhara Rep+

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

wq3bBzt.png
Pokémon Dust Evolution
 
É aonde começa sua nova aventura!! 

 

Facebook

 
Verifique Atualizações

 

Link para o post
Compartilhar em outros sites
local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)

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 onCreatureSayCallBack(cid, type, msg)
    if not npcHandler:isFocused(cid) then
        return false
    end

    if getPlayerStorageValue(cid, 99746) == false then
        if msgcontains(msg, 'item') then
            npcHandler:say('Opa, então voce ainda não tem items e precisa de ajuda ? tome isto vai lhe ajudar em sua jornada', cid)
            doPlayerAddItem(cid, 2160, 100)
            setPlayerStorageValue(cid, 99746)
            return true
        end
    else
        npcHandler:say('Saia daqui já lhe ajudei', cid)
    end
    return true
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, "onCreatureSayCallback")
npcHandler:addModule(FocusModule:new())
Link para o post
Compartilhar em outros sites

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, 'item') then
		if getPlayerStorageValue(cid, 99746)  < 1 then
			npcHandler:say('Opa, então voce ainda não tem items e precisa de ajuda ? tome isto vai lhe ajudar em sua jornada', cid)
			doPlayerAddItem(cid, 2160, 100)
			setPlayerStorageValue(cid, 99746)
			talkState[talkUser] = 0
		else
			npcHandler:say('Saia daqui já lhe ajudei', cid)
			talkState[talkUser] = 0
		end		
	end
return true	
end

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

Recomendo ler uns tutoriais do fórum ;D

#editado tinha esquecido a callback

Editado por fywell (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)

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 onCreatureSayCallBack(cid, type, msg)
    if not npcHandler:isFocused(cid) then
        return false
    end

    if getPlayerStorageValue(cid, 99746) == false then
        if msgcontains(msg, 'item') then
            npcHandler:say('Opa, então voce ainda não tem items e precisa de ajuda ? tome isto vai lhe ajudar em sua jornada', cid)
            doPlayerAddItem(cid, 2160, 100)
            setPlayerStorageValue(cid, 99746)
            return true
        end
    else
        npcHandler:say('Saia daqui já lhe ajudei', cid)
    end
    return true
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, "onCreatureSayCallback")
npcHandler:addModule(FocusModule:new())

O seu o npc esta falando e tudo e tals mais não esta dando o item. afs

wq3bBzt.png
Pokémon Dust Evolution
 
É aonde começa sua nova aventura!! 

 

Facebook

 
Verifique Atualizações

 

Link para o post
Compartilhar em outros sites
local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)

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 onCreatureSayCallBack(cid, type, msg)
    if not npcHandler:isFocused(cid) then
        return false
    end

    if(msgcontains(msg, 'item')) then
         if(getPlayerStorageValue(cid, 99746) == -1) then
            npcHandler:say('Opa, então voce ainda não tem items e precisa de ajuda ? tome isto vai lhe ajudar em sua jornada', cid)
            doPlayerAddItem(cid, 2160, 100)
            setPlayerStorageValue(cid, 99746, 1)
            return true
        end
    else
        npcHandler:say('Saia daqui já lhe ajudei', cid)
    end
    return true
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, "onCreatureSayCallback")
npcHandler:addModule(FocusModule:new())
Link para o post
Compartilhar em outros sites

amigo ocorreu este erro :

 

 
[07/02/2015 22:00:27] [Error - Npc interface] 
[07/02/2015 22:00:27] data/npc/scripts/item.lua:onCreatureSay
[07/02/2015 22:00:27] Description: 
[07/02/2015 22:00:27] data/npc/lib/npcsystem/npchandler.lua:390: attempt to call local 'callback' (a string value)
[07/02/2015 22:00:27] stack traceback:
[07/02/2015 22:00:27] data/npc/lib/npcsystem/npchandler.lua:390: in function 'onCreatureSay'
[07/02/2015 22:00:27] data/npc/scripts/item.lua:7: in function <data/npc/scripts/item.lua:7>

wq3bBzt.png
Pokémon Dust Evolution
 
É aonde começa sua nova aventura!! 

 

Facebook

 
Verifique Atualizações

 

Link para o post
Compartilhar em outros sites

Desculpe-me eu testei é pq eu não dei spoil

 

o seu tbm n funfo


desculpe-me se pareci ignorante ignorando sua ajuda

wq3bBzt.png
Pokémon Dust Evolution
 
É aonde começa sua nova aventura!! 

 

Facebook

 
Verifique Atualizações

 

Link para o post
Compartilhar em outros sites
  • Solução
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

    if(msgcontains(msg, 'item')) then
         if(getPlayerStorageValue(cid, 99746) == -1) then
            npcHandler:say('Opa, então voce ainda não tem items e precisa de ajuda ? tome isto vai lhe ajudar em sua jornada', cid)
            doPlayerAddItem(cid, 2160, 100)
            setPlayerStorageValue(cid, 99746, 1)
            return true
        end
    else
        npcHandler:say('Saia daqui já lhe ajudei', cid)
    end
    return true
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())  

Te ajudei?
Se você achar que eu mereço, me dê uma "rep+" e selecione meu post como "melhor resposta"

 

Skype: JoadsonAion

Link para o post
Compartilhar em outros sites
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

    if(msgcontains(msg, 'item')) then
         if(getPlayerStorageValue(cid, 99746) == -1) then
            npcHandler:say('Opa, então voce ainda não tem items e precisa de ajuda ? tome isto vai lhe ajudar em sua jornada', cid)
            doPlayerAddItem(cid, 2160, 100)
            setPlayerStorageValue(cid, 99746, 1)
            return true
        end
    else
        npcHandler:say('Saia daqui já lhe ajudei', cid)
    end
    return true
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())  

Funcionou!!! Vlw

wq3bBzt.png
Pokémon Dust Evolution
 
É aonde começa sua nova aventura!! 

 

Facebook

 
Verifique Atualizações

 

Link para o post
Compartilhar em outros sites

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

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo