Ir para conteúdo

[Encerrado] Não receber pokemons iniciais


Pokerangers

Posts Recomendados

Bom galera, gostaria de uma ajuda pra resolver um problema que acredito que seja comun, porem não achei solução em outros meios.

 

O problema é o seguinte, você cria a conta, nasce em uma salinha, fala com um NPC e escolhe sua cidade, após isso você clica em um dos 3 baus e escolhe um pokemon inicial.

 

9scb.png

 

 

 

Script do NPC:

 

<?xml version="1.0" encoding="UTF-8"?>
<npc name="Professor Robert" script="profrobert.lua" floorchange="0" speed="0">
<health now="150" max="150"/>
<look type="522" head="97" body="114" legs="114" feet="0"/>
<parameters>
<parameter key="message_greet" value="Hello |PLAYERNAME|, what city do you want to begin your jorney?"/>
</parameters>
</npc>
E no server não aparece nenhum erro, oque está acontecendo?
Desde já agradeço, fico no aguardo.
Editado por Pokerangers
Link para o comentário
Compartilhar em outros sites

Primeiramente troque seu starter.lua (data/actions/scripts) por este:

local starterpokes = {
["Squirtle"] = {x = 51, y = 69, z = 7},    
["Charmander"] = {x = 47, y = 69, z = 7},   --- muda posição dos baús remere map editor
["Bulbasaur"] = {x = 49, y = 69, z = 7},
}

local btype = "normal"

function onUse(cid, item, frompos, item2, topos)

if getPlayerLevel(cid) > 5 then --alterado v1.3
return true
end

local pokemon = ""

for a, b in pairs (starterpokes) do
if isPosEqualPos(topos, b) then
pokemon = a
end
end

if pokemon == "" then return true end

if getPlayerStorageValue(cid, 9658754) ~= 1 then	 --alterado v1.7 -opicional-
sendMsgToPlayer(cid, 27, "Talk to the Prof. Robert to choose your beginner city first!")
return true
end


local gender = getRandomGenderByName(pokemon)

local happy = 250

doPlayerAddItem(cid, 2394, 50)
doPlayerAddItem(cid, 12343, 20)
doPlayerAddItem(cid, 2160, 2)
doPlayerAddItem(cid, 12348, 100)

local item = doCreateItemEx(2219)
doItemSetAttribute(item, "poke", pokemon)
doItemSetAttribute(item, "hp", 1)
doItemSetAttribute(item, "happy", happy)
doItemSetAttribute(item, "gender", gender)
doItemSetAttribute(item, "description", "Contains a "..pokemon..".")
doItemSetAttribute(item, "fakedesc", "Contains a "..pokemon..".")
doItemSetAttribute(item, "unique", getCreatureName(cid)) --alterado v1.6
doPlayerAddItemEx(cid, item, true)

doTransformItem(item, pokeballs[btype].on)

doPlayerSendTextMessage(cid, 27, "You got your first pokemon! You also received some pokeballs to help you in your way.")
doPlayerSendTextMessage(cid, 27, "Don\'t forget to use your pokedex on every undiscovered pokemon!")

doSendMagicEffect(getThingPos(cid), 29)
doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)))
doSendMagicEffect(getThingPos(cid), 27)
doSendMagicEffect(getThingPos(cid), 29)


return TRUE
end

Depois Troque seu Npc robert(data/npcs/scripts por este:

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

local places = {
["cerulean"] = 1,
["saffron"] = 2,
["lavender"] = 3,
["celadon"] = 4,
["pewter"] = 5,     --Troca id das cidades se necessário
["viridian"] = 6, 
["vermilion"] = 7, 
["fuchsia"] = 8,                      
["cinnabar"] = 9,
["snow"] = 10,
}
       
        if msgcontains(string.lower(msg), 'city') or msgcontains(string.lower(msg), 'citys') then
           if getPlayerStorageValue(cid, 9658754) == 1 then
              selfSay("You already choose your beginner town!", cid)
              return true
           else
              selfSay("You can choose your beginner town between: {{saffron}, {cerulean}, {lavender}, {fuchsia}, {celadon}, {viridian}, {vermilion}, {pewter}, {cinnabar} or {snow}}.", cid) 
              return true
           end
        elseif places[string.lower(msg)] then
           city = string.lower(msg)
           selfSay("Are you sure which you want to begin in {".. doCorrectString(msg) .."}?", cid) 
           talkState[talkUser] = 2
           return true
       elseif msgcontains(msg, "yes") or msgcontains(msg, "Yes") and talkState[talkUser] == 2 then   
           if getPlayerStorageValue(cid, 9658754) == 1 then
              selfSay("You already choose your beginner town!", cid)
              return true
           else
              selfSay("OK then... Now your beginner town is ".. doCorrectString(city)..". Good luck in your jorney!", cid)
              doPlayerSetTown(cid, places[city])
              setPlayerStorageValue(cid, 9658754, 1)
              return true
           end
        elseif msgcontains(msg, "no") or msgcontains(msg, "No") and talkState[talkUser] == 2 then  
           selfSay("Ok then... say again what city you want to begin!", cid)
           talkState[talkUser] = 0
           return true 
        end

return true
end

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

Se fizer tudo corretamente, não terá erros.

Link para o comentário
Compartilhar em outros sites

Vou fazer oque você falou e testar, ja arrumei o meu RME

 

EDIT:

 

Bom cara, não funciono, não ocorre erro nenhum, simplesmente não recebo o pokemon clicando com o direito no báu, acredito que seja algo com ele, actionID, coisa do genero, podes me ajudar?

Editado por Pokerangers
Link para o comentário
Compartilhar em outros sites

Vou fazer oque você falou e testar, ja arrumei o meu RME

 

EDIT:

 

Bom cara, não funciono, não ocorre erro nenhum, simplesmente não recebo o pokemon clicando com o direito no báu, acredito que seja algo com ele, actionID, coisa do genero, podes me ajudar?

Lvl 5 pra menos recebe.

 

se quiser editar o level \/

if getPlayerLevel(cid) > 5 then --alterado v1.3
Editado por homersapiens
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...