Ir para conteúdo

Featured Replies

Postado

Opa, eai tk. 

 

tenho um servidor online, caso queiram conhecer:  http://www.orgpokemon.com

mas esse não é o ponto... 

 

Estou com um problema no meu sistema de smeargle, consigo fazer ele copiar as spells e até soltar mas ele não dá dano... (detalhe: se eu deixo ele bater no meele sem ter usado nenhuma skill, ele dá dano normal mas a partir da hora que eu uso uma magia ele para de dar dano) 

 

Acredito que o problema seja em getEffectivineSpell, whatever, aqui está o erro:

 

Spoiler

[25/07/2018 16:06:56] [Error - CreatureScript Interface] 
[25/07/2018 16:06:56] data/creaturescripts/scripts/player/statsChange.lua:onStatsChange
[25/07/2018 16:06:56] Description: 
[25/07/2018 16:06:56] data/lib/011-string.lua:16: bad argument #1 to 'find' (string expected, got nil)
[25/07/2018 16:06:56] stack traceback:
[25/07/2018 16:06:56]     [C]: in function 'find'
[25/07/2018 16:06:56]     data/lib/011-string.lua:16: in function '(for generator)'
[25/07/2018 16:06:56]     data/lib/011-string.lua:16: in function 'explode'
[25/07/2018 16:06:56]     data/lib/106-main functions.lua:526: in function 'getMoveTypeSmeargle'
[25/07/2018 16:06:56]     data/lib/106-main functions.lua:365: in function 'getEffectvineSpell'
[25/07/2018 16:06:56]     data/creaturescripts/scripts/player/statsChange.lua:249: in function <data/creaturescripts/scripts/player/statsChange.lua:6>

 

a função getMoveTypeSmeargle:

 

Spoiler

function getMoveTypeSmeargle(name, moveName, attacker)
	local x = {}
--------------SMEARGLETABLE
if name == "Smeargle" and isSummon(attacker) then
local move1 = getItemAttribute(getPlayerSlotItem(getCreatureMaster(attacker), 8).uid, "Sketch1")
local move2 = getItemAttribute(getPlayerSlotItem(getCreatureMaster(attacker), 8).uid, "Sketch2")
local move3 = getItemAttribute(getPlayerSlotItem(getCreatureMaster(attacker), 8).uid, "Sketch3")
local move4 = getItemAttribute(getPlayerSlotItem(getCreatureMaster(attacker), 8).uid, "Sketch4")
local move5 = getItemAttribute(getPlayerSlotItem(getCreatureMaster(attacker), 8).uid, "Sketch5")
local move6 = getItemAttribute(getPlayerSlotItem(getCreatureMaster(attacker), 8).uid, "Sketch6")
local move7 = getItemAttribute(getPlayerSlotItem(getCreatureMaster(attacker), 8).uid, "Sketch7")
local move8 = getItemAttribute(getPlayerSlotItem(getCreatureMaster(attacker), 8).uid, "Sketch8")

local movename1, movecd1, moveforce1, movetype1, movetarget1, movelevel1, movedist1 = string.explode(move1, "|")[1], string.explode(move1, "|")[2], string.explode(move1, "|")[3], string.explode(move1, "|")[4], string.explode(move1, "|")[5], string.explode(move1, "|")[6], string.explode(move1, "|")[7]
local movename2, movecd2, moveforce2, movetype2, movetarget2, movelevel2, movedist2 = string.explode(move2, "|")[1], string.explode(move2, "|")[2], string.explode(move2, "|")[3], string.explode(move2, "|")[4], string.explode(move2, "|")[5], string.explode(move2, "|")[6], string.explode(move2, "|")[7]
local movename3, movecd3, moveforce3, movetype3, movetarget3, movelevel3, movedist3 = string.explode(move3, "|")[1], string.explode(move3, "|")[2], string.explode(move3, "|")[3], string.explode(move3, "|")[4], string.explode(move3, "|")[5], string.explode(move3, "|")[6], string.explode(move3, "|")[7]
local movename4, movecd4, moveforce4, movetype4, movetarget4, movelevel4, movedist4 = string.explode(move4, "|")[1], string.explode(move4, "|")[2], string.explode(move4, "|")[3], string.explode(move4, "|")[4], string.explode(move4, "|")[5], string.explode(move4, "|")[6], string.explode(move4, "|")[7]
local movename5, movecd5, moveforce5, movetype5, movetarget5, movelevel5, movedist5 = string.explode(move5, "|")[1], string.explode(move5, "|")[2], string.explode(move5, "|")[3], string.explode(move5, "|")[4], string.explode(move5, "|")[5], string.explode(move5, "|")[6], string.explode(move5, "|")[7]
local movename6, movecd6, moveforce6, movetype6, movetarget6, movelevel6, movedist6 = string.explode(move6, "|")[1], string.explode(move6, "|")[2], string.explode(move6, "|")[3], string.explode(move6, "|")[4], string.explode(move6, "|")[5], string.explode(move6, "|")[6], string.explode(move6, "|")[7]
local movename7, movecd7, moveforce7, movetype7, movetarget7, movelevel7, movedist7 = string.explode(move7, "|")[1], string.explode(move7, "|")[2], string.explode(move7, "|")[3], string.explode(move7, "|")[4], string.explode(move7, "|")[5], string.explode(move7, "|")[6], string.explode(move7, "|")[7]
local movename8, movecd8, moveforce8, movetype8, movetarget8, movelevel8, movedist8 = string.explode(move8, "|")[1], string.explode(move8, "|")[2], string.explode(move8, "|")[3], string.explode(move8, "|")[4], string.explode(move8, "|")[5], string.explode(move8, "|")[6], string.explode(move8, "|")[7]


local smeargletable = {move1 = {name = movename1, level = tonumber(movelevel1), cd = tonumber(movecd1), dist = tonumber(movedist1), target = tonumber(movetarget1), f = tonumber(moveforce1), t = movetype1},
		 move2 = {name = movename2, level = tonumber(movelevel2), cd = tonumber(movecd2), dist = tonumber(movedist2), target = tonumber(movetarget2), f = tonumber(moveforce2), t = movetype2},
		 move3 = {name = movename3, level = tonumber(movelevel3), cd = tonumber(movecd3), dist = tonumber(movedist3), target = tonumber(movetarget3), f = tonumber(moveforce3), t = movetype3},
		 move4 = {name = movename4, level = tonumber(movelevel4), cd = tonumber(movecd4), dist = tonumber(movedist4), target = tonumber(movetarget4), f = tonumber(moveforce4), t = movetype4},
		 move5 = {name = movename5, level = tonumber(movelevel5), cd = tonumber(movecd5), dist = tonumber(movedist5), target = tonumber(movetarget5), f = tonumber(moveforce5), t = movetype5},
		 move6 = {name = movename6, level = tonumber(movelevel6), cd = tonumber(movecd6), dist = tonumber(movedist6), target = tonumber(movetarget6), f = tonumber(moveforce6), t = movetype6},
		 move7 = {name = movename7, level = tonumber(movelevel7), cd = tonumber(movecd7), dist = tonumber(movedist7), target = tonumber(movetarget7), f = tonumber(moveforce7), t = movetype7},
		 move8 = {name = movename8, level = tonumber(movelevel8), cd = tonumber(movecd8), dist = tonumber(movedist8), target = tonumber(movetarget8), f = tonumber(moveforce8), t = movetype8},
		  }
		  x =smeargletable
end
--------------SMEARGLETABLE
	if not x then return "" end
	
	local z = "\n"
	local tables = {x.move1, x.move2, x.move3, x.move4, x.move5, x.move6, x.move7, x.move8, x.move9, x.move10, x.move11, x.move12}
	for i = 1, #tables do
		if tables[i].name == moveName then
		   return tables[i].t
		end
	end
		return true
end 

 

 

função getEffectvineSpell:

 

Spoiler

function getEffectvineSpell(attacker, spellNameFromAttacker, value, cid) -- printar os elementos
	
if(spellNameFromAttacker ~= -1) then -- checagem de efetividades

	
local name = getCreatureName(attacker) -- reflect system
	  if isMega(attacker) then
	     name = getPlayerStorageValue(attacker, storages.isMega)
      end
local spellRace, pokeElement1, pokeElement2 = getMoveType(name, spellNameFromAttacker), getPokemonType(cid).type1, getPokemonType(cid).type2
	
	if getCreatureName(attacker) == "Smeargle" and isSummon(attacker) then
	spellRace = getMoveTypeSmeargle(getCreatureName(attacker), spellNameFromAttacker, attacker)
	end
	
	if spellNameFromAttacker == "X Elemental" then
	spellRace = getPokemonType(attacker).type1
	end
	
	if getCreatureName(cid) == "Kecleon" then
	local elementospell = spellRace
	KecleonColor(cid, elementospell)
	pokeElement1= getPlayerStorageValue(cid, 21113)
	end

	if getCreatureName(cid) == "Kecleon" and getPlayerStorageValue(cid, 21113) ==nil then
	setPlayerStorageValue(cid, 21113, "normal")
	end
  
  
	if not typeTable[spellRace] then 
		local remover = removeSpellInXML(doCorrectString(name), spellNameFromAttacker)
		if remover then print("Magia: " .. spellNameFromAttacker .. " removida do XML: " .. doCorrectString(name) .. ".xml") end
		return 0
	end

	if spellRace == "poison" and (pokeElement1 == "steel" or pokeElement2 == "steel") then
	value = 0
	end
	if isInArray(typeTable[spellRace].non, pokeElement1) or isInArray(typeTable[spellRace].non, pokeElement2) then -- elemento atacante ser mais forte que os elementos de defesa
		value = 0
		end
	if isInArray(typeTable[spellRace].super, pokeElement1) or isInArray(typeTable[spellRace].super, pokeElement2) then -- elemento atacante ser mais forte que os elementos de defesa
		value = value * 1.3
	end
		if isInArray(typeTable[spellRace].week, pokeElement1) or isInArray(typeTable[spellRace].week, pokeElement2) then -- elemento atacante ser mais forte que os elementos de defesa
		value = value * 0.7
		end
		
	
	if getCreatureName(cid) == "Venusaur" and value ~= 0 and isMega(cid) and isInArray({"ice", "fire"}, spellRace)then -- Passiva thick fat
	   value = value / 2
	end
	if getCreatureName(cid) == "Kecleon" then
	local elementospell = spellRace
	setPlayerStorageValue(cid, 21113, elementospell)
	end

	if isSummon(cid) and isSummon(attacker) then 
	value = value /4
	end

end
	
	return value
end

 

 

não sei se interfere mas tem mais uma, getEffectvineCombat:

 

Spoiler

function getEffectvineCombat(cid, attacker, value)
if isPlayer(cid) or isPlayer(attacker) then return false end -- seguranca do player nao atacar
	local pokeRaceAttacker, pokeRaceDefender = getPokemonType(attacker).type1, getPokemonType(cid).type1
	
	if pokeRaceAttacker == nil or pokeRaceDefender == nil then
	print ("bugado "..cid .." o " ..attacker)
	return 0
	end
	
	if isInArray(typeTable[pokeRaceAttacker].super, pokeRaceDefender) or isInArray(typeTable[pokeRaceAttacker].super, pokeRaceDefender) then -- elemento atacante ser mais forte que os elementos de defesa
		value = value * 2.0
	end
		if isInArray(typeTable[pokeRaceAttacker].week, pokeRaceDefender) or isInArray(typeTable[pokeRaceAttacker].week, pokeRaceDefender) then -- elemento atacante ser mais forte que os elementos de defesa
		value = value
		end
		
		if pokeRaceDefender == "ghost" then -- apenas ghost não toma alguns melees
			local hasforesight = true

			if hasforesight then
				value = value / 2
			else
				value = 0
			end
		end
	if getCreatureName(cid) == "Venusaur" and value ~= 0 and isMega(cid) and isInArray({"ice", "fire"}, pokeRaceAttacker)then -- Passiva thick fat
	   value = value / 2
	end

	return value
end

 

 

desde já agradeço!!

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

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

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Conteúdo Similar

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo