Ir para conteúdo
  • Cadastre-se

(Resolvido)shiny stone erro no distito


Ir para solução Resolvido por Dwarfer,

Posts Recomendados

Diga em poucas palavras a base utilizada (Nome do servidor ou nome do website).

Ex. TFS : Pokemon Dash Advanced (1.0)

Base: 

PokexGeneration server

 

Qual erro está surgindo/O que você procura?

queria ajuda em um erro no meu servidor de pokemon quando faco um shiny ele da erro no distrito

 

 

Você tem o código disponível? Se tiver publique-o aqui:

 

local evo = {
                           --nome do shiny, qnts stones precisa
["Snorlax"] = {"Shiny Snorlax", 5},
["Gengar"] = {"Shiny Gengar", 7},
["Ninetales"] = {"Shiny Ninetales",  4},
["Raichu"] = {"Shiny Raichu", 5},
["Alakazam"] = {"Shiny Alakazam", 7},
}
local pokeballs = {
[2531] = {"Pokeball"},
[2557] = {"Superball"},
[2524] = {"Greatball"},
[2525] = {"Ultraball"},
[2523] = {"Masterball"},
}

function onUse(cid, item, fromPosition, itemEx, toPosition)
   
   if isMonster(itemEx.uid) and getCreatureMaster(itemEx.uid) == cid then
          
          local monster = getCreatureName(itemEx.uid)
         if evo[monster] then  
                
                if getPlayerItemCount(cid, item.itemid) >= evo[monster][2] then
                    doPlayerSendTextMessage(cid, 27, "Congratulations! Your "..getPokeName(itemEx.uid).." evolved into a "..evo[monster][1].."!")
                    
                    local health, maxHealth = getCreatureHealth(itemEx.uid), getCreatureMaxHealth(itemEx.uid)
                    doSendMagicEffect(getThingPos(itemEx.uid), 18)
                    doRemoveCreature(itemEx.uid)
                    doPlayerRemoveItem(cid, item.itemid, evo[monster][2]-1)
                    doRemoveItem(item.uid, 1)
                    doSummonMonster(cid,evo[monster][1])
                    
                    local pokeball = getPlayerSlotItem(cid, 8)
                    doItemSetAttribute(pokeball.uid, "poke", evo[monster][1])
                    doItemSetAttribute(pokeball.uid, "level", pokes[evo[monster][1]].level)
                    doItemSetAttribute(ball, "hp", 1)
                    doItemSetAttribute(ball, "happy", 110)
                    
                    local pk = getCreatureSummons(cid)[1]
                    
                    local getShinyPokeballs = balls[getPlayerSlotItem(cid, 8).itemid]
                    doTransformItem(getPlayerSlotItem(cid, 8).uid, getShinyPokeballs.newBall)
                    adjustStatus(pk, pokeball.uid, true, false, true)
                    return true
                 else
                    return doPlayerSendTextMessage(cid, 27, "You need atleast ".. evo[monster][2] .." stones to do it!")
                 end
          end
end
return false
end

 

[07/09/2018 06:46:32] [Error - Action Interface] 
[07/09/2018 06:46:32] data/actions/scripts/Shinystone.lua:onUse
[07/09/2018 06:46:32] Description: 
[07/09/2018 06:46:32] (luaDoItemSetAttribute) Item not found

[07/09/2018 06:46:32] [Error - Action Interface] 
[07/09/2018 06:46:32] data/actions/scripts/Shinystone.lua:onUse
[07/09/2018 06:46:32] Description: 
[07/09/2018 06:46:32] (luaDoItemSetAttribute) Item not found

[07/09/2018 06:46:33] [Error - Action Interface] 
[07/09/2018 06:46:33] data/actions/scripts/Shinystone.lua:onUse
[07/09/2018 06:46:33] Description: 
[07/09/2018 06:46:33] data/actions/scripts/Shinystone.lua:42: attempt to index global 'balls' (a nil value)
[07/09/2018 06:46:33] stack traceback:
[07/09/2018 06:46:33]     data/actions/scripts/Shinystone.lua:42: in function <data/actions/scripts/Shinystone.lua:17>

Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui.

Screenshot_1.png

Link para o post
Compartilhar em outros sites
  • Solução
local evo = {
                           --nome do shiny, qnts stones precisa
["Snorlax"] = {"Shiny Snorlax", 5},
["Gengar"] = {"Shiny Gengar", 7},
["Ninetales"] = {"Shiny Ninetales",  4},
["Raichu"] = {"Shiny Raichu", 5},
["Alakazam"] = {"Shiny Alakazam", 7},
}
local pokeballs = {
[2531] = {newBall = 1111}, -- edite o "1111" para o id para o qual a pokeball 2531 se transformará
[2557] = {newBall = 1111},
[2524] = {newBall = 1111},
[2525] = {newBall = 1111},
[2523] = {newBall = 1111},
}

function onUse(cid, item, fromPosition, itemEx, toPosition)
   
    if isMonster(itemEx.uid) and getCreatureMaster(itemEx.uid) == cid then
        local monster = getCreatureName(itemEx.uid)
        if evo[monster] then  
            if getPlayerItemCount(cid, item.itemid) >= evo[monster][2] then
                doPlayerSendTextMessage(cid, 27, "Congratulations! Your "..getPokeName(itemEx.uid).." evolved into a "..evo[monster][1].."!")
                
                local health, maxHealth = getCreatureHealth(itemEx.uid), getCreatureMaxHealth(itemEx.uid)
                doSendMagicEffect(getThingPos(itemEx.uid), 18)
                doRemoveCreature(itemEx.uid)
                doPlayerRemoveItem(cid, item.itemid, evo[monster][2]-1)
                doRemoveItem(item.uid, 1)
                doSummonMonster(cid,evo[monster][1])
                
                local pokeball = getPlayerSlotItem(cid, 8)
                doItemSetAttribute(pokeball.uid, "poke", evo[monster][1])
                doItemSetAttribute(pokeball.uid, "level", pokes[evo[monster][1]].level)
                doItemSetAttribute(pokeball.uid, "hp", 1)
                doItemSetAttribute(pokeball.uid, "happy", 110)
                
                local pk = getCreatureSummons(cid)[1]
                local getShinyPokeballs = pokeballs[getPlayerSlotItem(cid, 8).itemid]
                if getShinyPokeBalls then
                    doTransformItem(getPlayerSlotItem(cid, 8).uid, getShinyPokeballs.newBall)
                    adjustStatus(pk, pokeball.uid, true, false, true)
                end
                return true
            else
                return doPlayerSendTextMessage(cid, 27, "You need atleast ".. evo[monster][2] .." stones to do it!")
            end
        end
    end
    return false
end

 

Contato:

 

Link para o post
Compartilhar em outros sites

Arrumei o bug que tinha e alguns que dariam problema no stats do pokemon

local evo = {	--nome do shiny, qnts stones precisa
	["Snorlax"] = {"Shiny Snorlax", 5},
	["Gengar"] = {"Shiny Gengar", 7},
	["Ninetales"] = {"Shiny Ninetales",  4},
	["Raichu"] = {"Shiny Raichu", 5},
	["Alakazam"] = {"Shiny Alakazam", 7},
}

local pokeballs = {
	[2531] = {"Pokeball"},
	[2557] = {"Superball"},
	[2524] = {"Greatball"},
	[2525] = {"Ultraball"},
	[2523] = {"Masterball"},
}

function onUse(cid, item, fromPosition, itemEx, toPosition)
   
	if isCreature(itemEx.uid) and isMonster(itemEx.uid) and getCreatureMaster(itemEx.uid) == cid then
		local monster = getCreatureName(itemEx.uid)
		if evo[monster] then  
			if getPlayerItemCount(cid, item.itemid) >= evo[monster][2] then
				doPlayerSendTextMessage(cid, 27, "Congratulations! Your "..getPokeName(itemEx.uid).." evolved into a "..evo[monster][1].."!")                   
				local health, maxHealth = getCreatureHealth(itemEx.uid), getCreatureMaxHealth(itemEx.uid)
				doSendMagicEffect(getThingPos(itemEx.uid), 18)
				doRemoveCreature(itemEx.uid)
				doPlayerRemoveItem(cid, item.itemid, evo[monster][2]-1)
				doRemoveItem(item.uid, 1)
				doSummonMonster(cid,evo[monster][1])
				local pokeball = getPlayerSlotItem(cid, 8)
				if not pokeball then
					return false
				end
				doItemSetAttribute(pokeball.uid, "poke", evo[monster][1])
				doItemSetAttribute(pokeball.uid, "level", pokes[evo[monster][1]].level)
				doItemSetAttribute(pokeball.uid, "happy", 110)
				local pk = getCreatureSummons(cid)[1]
				local getShinyPokeballs = balls[pokeball.itemid]
				doTransformItem(pokeball.uid, getShinyPokeballs.newBall)
				adjustStatus(pk, pokeball.uid, true, false, true)
				return true
			else
				return doPlayerSendTextMessage(cid, 27, "You need atleast ".. evo[monster][2] .." stones to do it!")
			end
		end
	end
return false
end

 

 

Te ajudei ?? Que tal fazer uma contribuição ?

Doar

Link para o post
Compartilhar em outros sites
Em 07/09/2018 em 09:04, Dwarfer disse:

local evo = {
                           --nome do shiny, qnts stones precisa
["Snorlax"] = {"Shiny Snorlax", 5},
["Gengar"] = {"Shiny Gengar", 7},
["Ninetales"] = {"Shiny Ninetales",  4},
["Raichu"] = {"Shiny Raichu", 5},
["Alakazam"] = {"Shiny Alakazam", 7},
}
local pokeballs = {
[2531] = {newBall = 1111}, -- edite o "1111" para o id para o qual a pokeball 2531 se transformará
[2557] = {newBall = 1111},
[2524] = {newBall = 1111},
[2525] = {newBall = 1111},
[2523] = {newBall = 1111},
}

function onUse(cid, item, fromPosition, itemEx, toPosition)
   
    if isMonster(itemEx.uid) and getCreatureMaster(itemEx.uid) == cid then
        local monster = getCreatureName(itemEx.uid)
        if evo[monster] then  
            if getPlayerItemCount(cid, item.itemid) >= evo[monster][2] then
                doPlayerSendTextMessage(cid, 27, "Congratulations! Your "..getPokeName(itemEx.uid).." evolved into a "..evo[monster][1].."!")
                
                local health, maxHealth = getCreatureHealth(itemEx.uid), getCreatureMaxHealth(itemEx.uid)
                doSendMagicEffect(getThingPos(itemEx.uid), 18)
                doRemoveCreature(itemEx.uid)
                doPlayerRemoveItem(cid, item.itemid, evo[monster][2]-1)
                doRemoveItem(item.uid, 1)
                doSummonMonster(cid,evo[monster][1])
                
                local pokeball = getPlayerSlotItem(cid, 8)
                doItemSetAttribute(pokeball.uid, "poke", evo[monster][1])
                doItemSetAttribute(pokeball.uid, "level", pokes[evo[monster][1]].level)
                doItemSetAttribute(pokeball.uid, "hp", 1)
                doItemSetAttribute(pokeball.uid, "happy", 110)
                
                local pk = getCreatureSummons(cid)[1]
                local getShinyPokeballs = pokeballs[getPlayerSlotItem(cid, 8).itemid]
                if getShinyPokeBalls then
                    doTransformItem(getPlayerSlotItem(cid, 8).uid, getShinyPokeballs.newBall)
                    adjustStatus(pk, pokeball.uid, true, false, true)
                end
                return true
            else
                return doPlayerSendTextMessage(cid, 27, "You need atleast ".. evo[monster][2] .." stones to do it!")
            end
        end
    end
    return false
end

 

 

cara vlw mesmo funciono e parou os erro muito obrigado rep+

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