Ir para conteúdo
  • 0

Pokemon Inicial


Fiapera

Pergunta

Quando cria Nova conta vai para pegar o pokemon inicial, Clica no bau que tem as cordenadas no mapa tudo configurado, Ao clicar no bau o player e teletransportado para o CP de Saffron não ocorre nenhum erro, os itens iniciais tudo vem porem so o pokemon que não aparece. Não da erro nem nada, so que a pokebola do pokemon não aparece. Alguem pode me ajudar.

 

AHHH, Não sei se tem algo a ver mais na pasta mods do meu servidor tem um arquivo que eu removi chamado firstitems.   Sera que ele e Essencial para o servidor?.

 

Aqui o arquivo se alguem quiser ver.

Spoiler

<?xml version="1.0" encoding="UTF-8"?>
<mod name="First Items" version="1.0" author="The Forgotten Server" contact="otland.net" enabled="yes">

    <config name="firstitems_config">
<![CDATA[        config = {
            storage = 30001,
            items = {1988, 1987, 2382, 2120, 2580, 2550,}
            -- 2382    (pokedex)    ok
            -- 2550 (order)        ok
            -- 1987 (bag)        ok
            -- 1988 (badge case)    ok
            -- 2120 (rope)        ok
        }
    ]]>
</config>
    <event type="login" name="FirstItems" event="script">
<![CDATA[

        domodlib('firstitems_config')

        function onLogin(cid)


            if getCreatureName(cid) == "Account Manager" then
                doSetCreatureOutfit(cid, {lookType = 655}, -1)
            return true
            end

            if getPlayerSlotItem(cid, CONST_SLOT_ARMOR).itemid > 0 then
            return true
            end

            for _, id in ipairs(config.items) do
                doPlayerAddItem(cid, id, 1)
            end
            local bag = getPlayerItemById(cid, false, 1988).uid
            doAddContainerItem(bag, 12267, 1)
            doAddContainerItem(bag, 12266, 1)
            doAddContainerItem(bag, 12264, 1)
            doAddContainerItem(bag, 12265, 1)
            doAddContainerItem(bag, 12263, 1)
            doAddContainerItem(bag, 12262, 1)
            doAddContainerItem(bag, 12261, 1)
            doAddContainerItem(bag, 12260, 1)

            return true
        end
    ]]></event>
</mod>
 

 

Lembrando que quando criava uma nova conta o player aparecia sem Outfit não podia trocar, ficava sem nada tipo brilhante, igual quando ADM usa o comando /ghost.

Link para o comentário
Compartilhar em outros sites

9 respostass a esta questão

Posts Recomendados

  • 0

Ja testei varios Script alguns da erro outros nem da sinal de vida nem erro nem nada kkkk. Testei 1 aqui agora por npc você fala com ele e dps clica no bau ai da erro.

Erro

Spoiler

[10/05/2020 12:55:18] [Error - Npc interface] 
[10/05/2020 12:55:18] datapack/npc/scripts/firstitems.lua:onCreatureSay
[10/05/2020 12:55:18] Description: 
[10/05/2020 12:55:18] datapack/npc/scripts/firstitems.lua:22: attempt to call global 'getCatchMode' (a nil value)
[10/05/2020 12:55:18] stack traceback:
[10/05/2020 12:55:18]     datapack/npc/scripts/firstitems.lua:22: in function <datapack/npc/scripts/firstitems.lua:9>

 

Arquivo

Spoiler

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 onThink() npcHandler:onThink() end

function onCreatureSay(cid, type1, msg)
    local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid
    
    if isInArray({"hi", "oi", "ola", "olá"}, msg:lower()) then    
        if getPlayerStorageValue(cid, 62364) >= 1 then
            return doPlayerSendCancel(cid, "Quanto tempo! volte aqui sempre que puder")
        end
        selfSay("Olá "..getCreatureName(cid)..", seja bem vindo! gostaria de escolher algum pokémon?", cid)
        talkState[talkUser] = 1
    elseif talkState[talkUser] == 1 and isInArray({"yes", "sim", "help"}, msg:lower()) then
        if getPlayerStorageValue(cid, 62364) >= 1 then
            return doPlayerSendCancel(cid, "Quanto tempo! volte aqui sempre que puder")
        end
        local taskMode = getCatchMode(cid)
        local pokemonsToCatch = getPokemonsToCatch(cid)
        selfSay("Eu tenho aqui comigo do tipo fogo {Bulbasaur}, {Charmander} e {Squirtle}. Você gostaria de ter qual?", cid)
        talkState[talkUser] = 2
    elseif talkState[talkUser] == 2 and isInArray({"Bulbasaur", "Charmander", "Squirtle"}, doCorrectString(string.lower(msg))) then
        if getPlayerStorageValue(cid, 62364) >= 1 then
            return doPlayerSendCancel(cid, "Quanto tempo! volte aqui sempre que puder")
        end
        selfSay("O "..doCorrectString(msg).." é oficialmente seu primeiro pokémon.", cid)
        selfSay("Você recebeu alguns itens que irá lhe ajudar em sua jornada.", cid)
        createBall(cid, doCorrectString(msg), 0, "true")
        doPlayerAddItem(cid, 2394,50) 
        doPlayerAddItem(cid, 2152, 15) 
        doPlayerAddItem(cid, 15774,10) 
        doPlayerAddItem(cid, 15814,1)
        doTeleportThing(cid, {x = 993, y = 1022, z = 7})
        setPlayerStorageValue(cid, 62364, 1)
        talkState[talkUser] = 1
    end
end
    
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

 

Link para o comentário
Compartilhar em outros sites

  • 0
Em 04/05/2020 em 11:29, Fiapera disse:
Versão do Servidor: TFS - 0.3.5
Tipo de Script: actions
Código:
  Mostrar conteúdo oculto


local starterpokes = {
["Bulbasaur"] = {x = 130, y = 61, z = 8},
["Charmander"] = {x = 132, y = 61, z = 8},
["Squirtle"] = {x = 134, y = 61, z = 8},
["Chikorita"] = {x = 137, y = 61, z = 8},
["Cyndaquil"] = {x = 139, y = 61, z = 8},
["Totodile"] = {x = 141, y = 61, z = 8},
}

local itens = {
[2394] = 35,
[2152] = 15,
[15774] = 10,
[15814] = 1,
}

local btype = "normal"
local storage = 77477

local cities = {
["Saffron"] = 1,
}
---------------------------------------- CÓDIGO ------------------------------------

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

 if getPlayerStorageValue(cid, storage) < 1 then
	local pokemon = ""

	for a, b in pairs (starterpokes) do
		if isPosEqualPos(topos, b) then
			pokemon = a
		end
	end
    if pokemon == "" then return true end
	
	doPlayerSendTextMessage(cid,22,"Boa escolha. Divirta-se!")

    addPokeToPlayer(cid, pokemon, 0, nil, btype, true)
     setPlayerStorageValue(cid, 8955, 1)
    nome_pokemon = pokemon
     for i, j in pairs(itens) do		
       doPlayerAddItem(cid, i, j)
     end
	doPlayerSetTown(cid, cities["Saffron"]) -- COLOCA O NOME DA CIDADE QUE QUER QUE SEJA CIDADE NATAL
	doSendMagicEffect(getThingPos(cid), 29)
	doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)))
	doSendMagicEffect(getThingPos(cid), 40)
	doSendMagicEffect(getThingPos(cid), 7)
        setPlayerStorageValue(cid, storage, 1)
    return true

else 
  doPlayerSendTextMessage(cid, 27, "Você já escolheu seu pokémon!")
return true
end
	
return TRUE
end

Quando cria Nova conta vai para pegar o pokemon inicial, Clica no bau que tem as cordenadas no mapa tudo configurado, Ao clicar no bau o player e teletransportado para o CP de Saffron não ocorre nenhum erro, os itens iniciais tudo vem porem so o pokemon que não aparece. Não da erro nem nada, so que a pokebola do pokemon não aparece. Alguem pode me ajudar.

 

AHHH, Não sei se tem algo a ver mais na pasta mods do meu servidor tem um arquivo que eu removi chamado firstitems.   Sera que ele e Essencial para o servidor?.

 

Aqui o arquivo se alguem quiser ver.

  Mostrar conteúdo oculto

<?xml version="1.0" encoding="UTF-8"?>
<mod name="First Items" version="1.0" author="The Forgotten Server" contact="otland.net" enabled="yes">

    <config name="firstitems_config">
<![CDATA[        config = {
            storage = 30001,
            items = {1988, 1987, 2382, 2120, 2580, 2550,}
            -- 2382    (pokedex)    ok
            -- 2550 (order)        ok
            -- 1987 (bag)        ok
            -- 1988 (badge case)    ok
            -- 2120 (rope)        ok
        }
    ]]>
</config>
    <event type="login" name="FirstItems" event="script">
<![CDATA[

        domodlib('firstitems_config')

        function onLogin(cid)


            if getCreatureName(cid) == "Account Manager" then
                doSetCreatureOutfit(cid, {lookType = 655}, -1)
            return true
            end

            if getPlayerSlotItem(cid, CONST_SLOT_ARMOR).itemid > 0 then
            return true
            end

            for _, id in ipairs(config.items) do
                doPlayerAddItem(cid, id, 1)
            end
            local bag = getPlayerItemById(cid, false, 1988).uid
            doAddContainerItem(bag, 12267, 1)
            doAddContainerItem(bag, 12266, 1)
            doAddContainerItem(bag, 12264, 1)
            doAddContainerItem(bag, 12265, 1)
            doAddContainerItem(bag, 12263, 1)
            doAddContainerItem(bag, 12262, 1)
            doAddContainerItem(bag, 12261, 1)
            doAddContainerItem(bag, 12260, 1)

            return true
        end
    ]]></event>
</mod>
 

 

Lembrando que quando criava uma nova conta o player aparecia sem Outfit não podia trocar, ficava sem nada tipo brilhante, igual quando ADM usa o comando /ghost.

 

O arquivo firstitems.xml da pasta mods é para dar os itens do inventário, como bag, pokedex, order e etc. Já o arquivo do pokémon inicial não tem haver com firstitems, pois ele é itens para começar o jogo como potion, revive, pokemon e etc, além do teleport. Mas os itens do inventário dependendo a base já é definido no login.lua da pasta creaturescripts.

 

3 horas atrás, Fiapera disse:

Ja testei varios Script alguns da erro outros nem da sinal de vida nem erro nem nada kkkk. Testei 1 aqui agora por npc você fala com ele e dps clica no bau ai da erro.

Erro

  Ocultar conteúdo

[10/05/2020 12:55:18] [Error - Npc interface] 
[10/05/2020 12:55:18] datapack/npc/scripts/firstitems.lua:onCreatureSay
[10/05/2020 12:55:18] Description: 
[10/05/2020 12:55:18] datapack/npc/scripts/firstitems.lua:22: attempt to call global 'getCatchMode' (a nil value)
[10/05/2020 12:55:18] stack traceback:
[10/05/2020 12:55:18]     datapack/npc/scripts/firstitems.lua:22: in function <datapack/npc/scripts/firstitems.lua:9>

 

Arquivo

  Ocultar conteúdo

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 onThink() npcHandler:onThink() end

function onCreatureSay(cid, type1, msg)
    local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid
    
    if isInArray({"hi", "oi", "ola", "olá"}, msg:lower()) then    
        if getPlayerStorageValue(cid, 62364) >= 1 then
            return doPlayerSendCancel(cid, "Quanto tempo! volte aqui sempre que puder")
        end
        selfSay("Olá "..getCreatureName(cid)..", seja bem vindo! gostaria de escolher algum pokémon?", cid)
        talkState[talkUser] = 1
    elseif talkState[talkUser] == 1 and isInArray({"yes", "sim", "help"}, msg:lower()) then
        if getPlayerStorageValue(cid, 62364) >= 1 then
            return doPlayerSendCancel(cid, "Quanto tempo! volte aqui sempre que puder")
        end
        local taskMode = getCatchMode(cid)
        local pokemonsToCatch = getPokemonsToCatch(cid)
        selfSay("Eu tenho aqui comigo do tipo fogo {Bulbasaur}, {Charmander} e {Squirtle}. Você gostaria de ter qual?", cid)
        talkState[talkUser] = 2
    elseif talkState[talkUser] == 2 and isInArray({"Bulbasaur", "Charmander", "Squirtle"}, doCorrectString(string.lower(msg))) then
        if getPlayerStorageValue(cid, 62364) >= 1 then
            return doPlayerSendCancel(cid, "Quanto tempo! volte aqui sempre que puder")
        end
        selfSay("O "..doCorrectString(msg).." é oficialmente seu primeiro pokémon.", cid)
        selfSay("Você recebeu alguns itens que irá lhe ajudar em sua jornada.", cid)
        createBall(cid, doCorrectString(msg), 0, "true")
        doPlayerAddItem(cid, 2394,50) 
        doPlayerAddItem(cid, 2152, 15) 
        doPlayerAddItem(cid, 15774,10) 
        doPlayerAddItem(cid, 15814,1)
        doTeleportThing(cid, {x = 993, y = 1022, z = 7})
        setPlayerStorageValue(cid, 62364, 1)
        talkState[talkUser] = 1
    end
end
    
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

 

No caso desse erro, está falando que seu servidor não tem a função getCatchMode(), provavelmente copiou de outra base o script e não pegou a função.

 

Mas quando você cria a conta você recebe os itens do inventário? Se recebe, então não vai precisar do firstitems da pasta mods (na verdade nem recomendo ter script de itens iniciais do inventário por lá, é melhor pela pasta creaturescripts mesmo).

 

Mas na minha opinião, não é bom pegar o pokémon falando com npc, no meu ponto de vista é a pior maneira para escolher o pokémon inicial (mas só minha opinião).

 

Respondendo as perguntas que te fiz fica fácil de ajudar.

Link para o comentário
Compartilhar em outros sites

  • 0
4 horas atrás, Yan18 disse:

 

O arquivo firstitems.xml da pasta mods é para dar os itens do inventário, como bag, pokedex, order e etc. Já o arquivo do pokémon inicial não tem haver com firstitems, pois ele é itens para começar o jogo como potion, revive, pokemon e etc, além do teleport. Mas os itens do inventário dependendo a base já é definido no login.lua da pasta creaturescripts.

 

No caso desse erro, está falando que seu servidor não tem a função getCatchMode(), provavelmente copiou de outra base o script e não pegou a função.

 

Mas quando você cria a conta você recebe os itens do inventário? Se recebe, então não vai precisar do firstitems da pasta mods (na verdade nem recomendo ter script de itens iniciais do inventário por lá, é melhor pela pasta creaturescripts mesmo).

 

Mas na minha opinião, não é bom pegar o pokémon falando com npc, no meu ponto de vista é a pior maneira para escolher o pokémon inicial (mas só minha opinião).

 

Respondendo as perguntas que te fiz fica fácil de ajudar.

Tem um script que eu coloquei que você recebia os itens era teleportado para saffron porem não recebia o poke.

 

E esse aqui.

Spoiler

local starterpokes = {
["Bulbasaur"] = {x = 130, y = 61, z = 8},
["Charmander"] = {x = 132, y = 61, z = 8},
["Squirtle"] = {x = 134, y = 61, z = 8},
["Chikorita"] = {x = 137, y = 61, z = 8},
["Cyndaquil"] = {x = 139, y = 61, z = 8},
["Totodile"] = {x = 141, y = 61, z = 8},
}

local itens = {
[2394] = 35,
[2152] = 15,
[15774] = 10,
[15814] = 1,
}

local btype = "normal"
local storage = 77477

local cities = {
["Saffron"] = 1,
}
---------------------------------------- CÓDIGO ------------------------------------

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

 if getPlayerStorageValue(cid, storage) < 1 then
    local pokemon = ""

    for a, b in pairs (starterpokes) do
        if isPosEqualPos(topos, b) then
            pokemon = a
        end
    end
    if pokemon == "" then return true end
    
    doPlayerSendTextMessage(cid,22,"Boa escolha. Divirta-se!")

    addPokeToPlayer(cid, pokemon, 0, nil, btype, true)
     setPlayerStorageValue(cid, 8955, 1)
    nome_pokemon = pokemon
     for i, j in pairs(itens) do        
       doPlayerAddItem(cid, i, j)
     end
    doPlayerSetTown(cid, cities["Saffron"]) -- COLOCA O NOME DA CIDADE QUE QUER QUE SEJA CIDADE NATAL
    doSendMagicEffect(getThingPos(cid), 29)
    doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)))
    doSendMagicEffect(getThingPos(cid), 40)
    doSendMagicEffect(getThingPos(cid), 7)
        setPlayerStorageValue(cid, storage, 1)
    return true

else 
  doPlayerSendTextMessage(cid, 27, "Você já escolheu seu pokémon!")
return true
end
    
return TRUE
end

Não da erro no EXE porem so n recebe o pokemon

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

  • 0
Em 10/05/2020 em 21:38, Fiapera disse:

Tem um script que eu coloquei que você recebia os itens era teleportado para saffron porem não recebia o poke.

 

E esse aqui.

  Ocultar conteúdo

local starterpokes = {
["Bulbasaur"] = {x = 130, y = 61, z = 8},
["Charmander"] = {x = 132, y = 61, z = 8},
["Squirtle"] = {x = 134, y = 61, z = 8},
["Chikorita"] = {x = 137, y = 61, z = 8},
["Cyndaquil"] = {x = 139, y = 61, z = 8},
["Totodile"] = {x = 141, y = 61, z = 8},
}

local itens = {
[2394] = 35,
[2152] = 15,
[15774] = 10,
[15814] = 1,
}

local btype = "normal"
local storage = 77477

local cities = {
["Saffron"] = 1,
}
---------------------------------------- CÓDIGO ------------------------------------

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

 if getPlayerStorageValue(cid, storage) < 1 then
    local pokemon = ""

    for a, b in pairs (starterpokes) do
        if isPosEqualPos(topos, b) then
            pokemon = a
        end
    end
    if pokemon == "" then return true end
    
    doPlayerSendTextMessage(cid,22,"Boa escolha. Divirta-se!")

    addPokeToPlayer(cid, pokemon, 0, nil, btype, true)
     setPlayerStorageValue(cid, 8955, 1)
    nome_pokemon = pokemon
     for i, j in pairs(itens) do        
       doPlayerAddItem(cid, i, j)
     end
    doPlayerSetTown(cid, cities["Saffron"]) -- COLOCA O NOME DA CIDADE QUE QUER QUE SEJA CIDADE NATAL
    doSendMagicEffect(getThingPos(cid), 29)
    doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)))
    doSendMagicEffect(getThingPos(cid), 40)
    doSendMagicEffect(getThingPos(cid), 7)
        setPlayerStorageValue(cid, storage, 1)
    return true

else 
  doPlayerSendTextMessage(cid, 27, "Você já escolheu seu pokémon!")
return true
end
    
return TRUE
end

Não da erro no EXE porem so n recebe o pokemon

Qual a base que você está usando?

Link para o comentário
Compartilhar em outros sites

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...