Código Perfeito, Mais a indentação ta complicado, haha.
- Fórum
- OTServ
- Tutoriais
- Tutoriais de Scripting
- Npc que troca um pokemon por outro pokemon
Npc que troca um pokemon por outro pokemon
Por Marshmello, 10 de abr. de 2018 em Tutoriais de Scripting
info
Grupo: Conde
Registrado: 23/05/17
Posts: 584
Reputação: +113
Gênero: Masculino
Char no Tibia: Não Tenho

info
Grupo: Conde
Registrado: 21/04/16
Posts: 831
Reputação: +271
Gênero: Masculino

6 minutos atrás, DarkWore disse:Código Perfeito, Mais a indentação ta complicado, haha.
Fiz na express
info
Grupo: Campones
Registrado: 23/09/17
Posts: 97
Reputação: +51
Gênero: Masculino
Char no Tibia: Sam

Curti, se possível traz mais sistemas assim
Em 10/04/2018 at 17:58, DarkWore disse:Código Perfeito, Mais a indentação ta complicado, haha.
a identação de lua é assim !
info
Grupo: Conde
Registrado: 23/05/17
Posts: 584
Reputação: +113
Gênero: Masculino
Char no Tibia: Não Tenho

31 minutos atrás, Jair Kevick disse:a identação de lua é assim !
Foi corrigido, oque eu tinha visto antes estava mal organizado, de qualquer forma é um colega meu foi apenas um comentário.
info
Grupo: Campones
Registrado: 04/10/15
Posts: 82
Reputação: +1

deu erro
[Error - LuaScriptInterface::loadFile] data/npc/scripts/EventoNPC.lua:10: '}' expected (to close '{' at line 2) near 'sto'
[Warning - NpcScript::NpcScript] Cannot load script: data/npc/scripts/EventoNPC.lua
data/npc/scripts/EventoNPC.lua:10: '}' expected (to close '{' at line 2) near 'sto'
info
Grupo: Conde
Registrado: 21/04/16
Posts: 831
Reputação: +271
Gênero: Masculino

Em 26/06/2018 em 23:49, sidneivascao disse:deu erro
[Error - LuaScriptInterface::loadFile] data/npc/scripts/EventoNPC.lua:10: '}' expected (to close '{' at line 2) near 'sto'
[Warning - NpcScript::NpcScript] Cannot load script: data/npc/scripts/EventoNPC.lua
data/npc/scripts/EventoNPC.lua:10: '}' expected (to close '{' at line 2) near 'sto'
Corrigido topico atualizado
info
Grupo: Campones
Registrado: 04/10/15
Posts: 82
Reputação: +1

23 horas atrás, Marshmello disse:Corrigido topico atualizado
deu certo , so tem um pequeno problema , se o player nao tiver o pokemon , e ele falar Hi
missao
e aparecer akela msg 01:33 NPC NAME: Preciso que me traga um Divine Arceus.
da esse erro na distro http://prntscr.com/k0nnxl
Acontece porque o player nao tem o pokemon , se o player tiver , o npc funciona e troca de boa
e tbm se nao tiver usando pokemon e falar "missao" da erro tbm e fala que precisa do pokemon , fora isso sistema ta perfeito , se puder me ajuda resolver, fico grato hehe
Editado Junho 29 por sidneivascao
info
Grupo: Conde
Registrado: 21/04/16
Posts: 831
Reputação: +271
Gênero: Masculino

10 horas atrás, sidneivascao disse:deu certo , so tem um pequeno problema , se o player nao tiver o pokemon , e ele falar Hi
missao
e aparecer akela msg 01:33 NPC NAME: Preciso que me traga um Divine Arceus.
da esse erro na distro http://prntscr.com/k0nnxl
Acontece porque o player nao tem o pokemon , se o player tiver , o npc funciona e troca de boa
e tbm se nao tiver usando pokemon e falar "missao" da erro tbm e fala que precisa do pokemon , fora isso sistema ta perfeito , se puder me ajuda resolver, fico grato hehe
Isso acontece , pois ele n acha a creatura spawn, ai da esse erro, tipico do PDA
info
Grupo: Campones
Registrado: 04/10/15
Posts: 82
Reputação: +1

Em 29/06/2018 em 11:59, Marshmello disse:Isso acontece , pois ele n acha a creatura spawn, ai da esse erro, tipico do PDA
Nao e pda minha distro , mais como resolveria?
info
Grupo: Campones
Registrado: 15/04/18
Posts: 30
Reputação: 0
Gênero: Masculino

aqui da o seguinte erro
[22/07/2018 23:08:33] [Error - Npc interface]
[22/07/2018 23:08:33] data/npc/scripts/safftroca.lua:onCreatureSay
[22/07/2018 23:08:33] Description:
[22/07/2018 23:08:33] data/npc/scripts/safftroca.lua:55: attempt to call global 'addPokeToPlayer' (a nil value)
[22/07/2018 23:08:33] stack traceback:
[22/07/2018 23:08:33] data/npc/scripts/safftroca.lua:55: in function 'callback'
[22/07/2018 23:08:33] data/npc/lib/npcsystem/npchandler.lua:390: in function 'onCreatureSay'
[22/07/2018 23:08:33] data/npc/scripts/safftroca.lua:22: in function <data/npc/scripts/safftroca.lua:22>
ele apenas remove o poke do player na hora de entregar da esse erro =/
info
Grupo: Conde
Registrado: 21/04/16
Posts: 831
Reputação: +271
Gênero: Masculino

4 horas atrás, caique8921 disse:aqui da o seguinte erro
[22/07/2018 23:08:33] [Error - Npc interface]
[22/07/2018 23:08:33] data/npc/scripts/safftroca.lua:onCreatureSay
[22/07/2018 23:08:33] Description:
[22/07/2018 23:08:33] data/npc/scripts/safftroca.lua:55: attempt to call global 'addPokeToPlayer' (a nil value)
[22/07/2018 23:08:33] stack traceback:
[22/07/2018 23:08:33] data/npc/scripts/safftroca.lua:55: in function 'callback'
[22/07/2018 23:08:33] data/npc/lib/npcsystem/npchandler.lua:390: in function 'onCreatureSay'
[22/07/2018 23:08:33] data/npc/scripts/safftroca.lua:22: in function <data/npc/scripts/safftroca.lua:22>ele apenas remove o poke do player na hora de entregar da esse erro =/
Sistema funcional apenas para PDA tfs 0.3.6
info
Grupo: Campones
Registrado: 15/04/18
Posts: 30
Reputação: 0
Gênero: Masculino

12 horas atrás, Marshmello disse:Sistema funcional apenas para PDA tfs 0.3.6
Ah entendi... Obg!
info
Grupo: Conde
Registrado: 21/04/16
Posts: 831
Reputação: +271
Gênero: Masculino

14 minutos atrás, caique8921 disse:Ah entendi... Obg!
Qual base você usa?



info
Grupo: Conde
Registrado: 21/04/16
Posts: 831
Reputação: +271
Gênero: Masculino
Fala MelloGang Blz ? Hoje vim trazer um NPC de evento , onde o player precisa trazer um pokemon(configuravel) por outro pokemon entao vamos la
Em NPC crie um NPC.xml e cole isso
<?xml version="1.0" encoding="UTF-8"?>
<npc name="NPC NAME" script="EventoNPC.lua" walkinterval="0" floorchange="0" access="5" level="1" maglevel="1">
<health now="150" max="150"/>
<look type="2144" head="90" body="97" legs="114" feet="94"/>
<parameters>
<parameter key="message_greet" value="Ola, |PLAYERNAME|. estou aqui para lhe dar uma missao, eu erei precisar pikachu para completar minha colecao, voce tem esses items? diga {missao}."/>
<!-- <parameter key="message_greet" value="Ola, |PLAYERNAME|. Safari ainda nao esta aberta"/> -->
</parameters>
</npc>
Dps Vá em npc/script e crie um arquivo.lua e cole isso
-
--Marshmello
local cfg = {
btype = "Cherish", --Type Da ball
pokemonida = "Pikachu", -- Pokemon que o NPc vai pedir a troca
pokemonVolta = "Pikachu Fly", -- Pokemon que o player vai ganhar
palavra = "missao", -- Palavra para completar
mensagem = "Preciso que me traga um pikachu.", -- msg quando n tiver o pokemon
concluir = "Parabéns você cosegui completar minha missão, receba seus premios.", -- msg quando completar a quest
completa = "você ja completou essa missão", -- msg quanto tentar fazer novamente
sto = 9876574 , -- STORAGE
-- OBS: Voce precisa ta com pokemon fora da ball para fazer a troca
}
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 playerHaveItems(cid, itemid)
local items = type(itemid) == "table" and itemid or {itemid}
for i = 1, #items do
if getPlayerItemCount(cid, items) <= 0 then
return false
end
end
return true
end
function doPlayerRemoveItems(cid, itemid, count)
local items = type(itemid) == "table" and itemid or {itemid}
for i = 1, #items do
doPlayerRemoveItem(cid, items, count ~= nil and count or 1)
end
return nil
end
function creatureSayCallback(cid, type, msg)
if(not npcHandler:isFocused(cid)) then
return false
end
if msgcontains(msg, cfg.palavra) then
if getPlayerStorageValue(cid,cfg.sto) == -1 then
if getCreatureName(getCreatureSummons(cid)[1]) == cfg.pokemonida then
setPlayerStorageValue(cid, cfg.sto, 1)
doRemoveItem(getPlayerSlotItem(cid, 8).uid, 1)
doRemoveCreature(getCreatureSummons(cid)[1])
addPokeToPlayer(cid, cfg.pokemonVolta, 0, nil, cfg.btype)
selfSay(cfg.concluir)
else
selfSay(cfg.mensagem)
end
else
selfSay(cfg.completa)
end
return true
end
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
--Marshmello
e só configurar e pronto
Então e isso galera gostou deixe seu REP+
Editado Junho 28 por Marshmello