-
Quem Está Navegando 0 membros estão online
- Nenhum usuário registrado visualizando esta página.
-
Conteúdo Similar
-
- 0 respostas
- 57 visualizações
-
- 0 respostas
- 1064 visualizações
-
- 1 resposta
- 3014 visualizações
-
- 1 resposta
- 2438 visualizações
-
Pergunta
Josegvb 87
olá, ja passei semanas tentando resolver isso mas nao deu e ja que no suporte do topico a ajuda é bem limitada decidi criar um topico em relaçao ao meu problema
entao estou com o siguente problema, no servidor dxp acho os danos bem desbalançados e ridiculos tentei mil coisas pra tentar balançar assim ou trocar o dano, bom primeiramente o dano melee esta bugado no servidor, ja tentei com a soluçao postada la mas nao fez mt diferença...
no DxP e a maioria dos PDA tem só 3 tipos de efetividades: Super, Weak, Non (nula)
no PxG tem 6: Super Effective, Effective, Normal, inefectivo, very inefectivo e Non
entao quis colocar mais pra balançar mais os pokemons ja que agr um pokemon tipo Leaf esta pegando o mesmo dano que um tipo Water em contra de outro tipo Water, quanto o Water por ser do mesmo elemento deberia ter mais resistença pra water mas eles estao levando o msm dano
entao quis colocar nas efetividades e paresce q consegui mas ao msm tempo n, a verdade agr fikei bem confuso aeuueaaeu achei q nao tinha pegado mas pegou sim porem quando os bixos batem de frente o dano é bugado
e me falaram q eu precisaba "editar a função de atack no statschange, não apenas adicionar."
mas paresce q nao...
entao peço sua ajuda pra arrumar se o codigo estiver perfeito entao pra arrumar o bug do surf estar batendo td isso...
https://gyazo.com/b86bfecd38648827f0070a30761ec176
a funçao modificada tava assim:
function getEffectvineSpell(attacker, spellNameFromAttacker, value, cid) -- printar os elementos
local name = getCreatureName(attacker) -- reflect system
local spells = {"Shadow Storm", "Electric Storm", "Magma Storm", "Blizzard", "Meteor Mash", "Leaf Storm", "Hydropump", "Falling Rocks"}
local pokesMetro = {"Smeargle", "Clefable", "Clefairy", "Mew", "Cleffa", "Togetic", "Togepi"}
if(spellNameFromAttacker ~= -1) then -- checagem de efetividades
if isMega(attacker) then
name = getPlayerStorageValue(attacker, storages.isMega)
elseif name:find("Smeargle") then
name = getSmeargleAttackNameFromSkactch(attacker, spellNameFromAttacker) -- retorna o nome do poke q tem essa magia
end
if isInArray(spells, spellNameFromAttacker) and isInArray(pokesMetro, doCorrectString(getCreatureName(attacker))) then
name = getMetronomeName(spellNameFromAttacker) -- Metronome
end
local spellRace, pokeElement1, pokeElement2 = getMoveType(name, spellNameFromAttacker), getPokemonType(cid).type1, getPokemonType(cid).type2
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 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
elseif isInArray(typeTable[spellRace].week, pokeElement1) or isInArray(typeTable[spellRace].week, pokeElement2) then -- elemento atacante ser mais forte que os elementos de defesa
value = value
elseif isInArray(typeTable[spellRace].non, pokeElement1) or isInArray(typeTable[spellRace].non, pokeElement2) then -- elemento atacante ser mais forte que os elementos de defesa
if getPlayerStorageValue(attacker, 999457) == 1 then -- dark and miracle eye
value = value
else
value = 0
end
end
if getCreatureName(cid) == "Venusaur" and value ~= 0 and isMega(cid) and isInArray({"ice", "fire"}, spellRace)then -- Passiva thick fat
value = value / 2
end
end
return value
end
modificada:
function getEffectvineSpell(attacker, spellNameFromAttacker, value, cid) -- printar os elementos
local name = getCreatureName(attacker) -- reflect system
local spells = {"Shadow Storm", "Electric Storm", "Magma Storm", "Blizzard", "Meteor Mash", "Leaf Storm", "Hydropump", "Falling Rocks"}
local pokesMetro = {"Smeargle", "Clefable", "Clefairy", "Mew", "Cleffa", "Togetic", "Togepi"}
if(spellNameFromAttacker ~= -1) then -- checagem de efetividades
if isMega(attacker) then
name = getPlayerStorageValue(attacker, storages.isMega)
elseif name:find("Smeargle") then
name = getSmeargleAttackNameFromSkactch(attacker, spellNameFromAttacker) -- retorna o nome do poke q tem essa magia
end
if isInArray(spells, spellNameFromAttacker) and isInArray(pokesMetro, doCorrectString(getCreatureName(attacker))) then
name = getMetronomeName(spellNameFromAttacker) -- Metronome
end
local spellRace, pokeElement1, pokeElement2 = getMoveType(name, spellNameFromAttacker), getPokemonType(cid).type1, getPokemonType(cid).type2
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 isInArray(typeTable[spellRace].super, pokeElement1) or isInArray(typeTable[spellRace].super, pokeElement2) then -- elemento atacante ser mais forte que os elementos de defesa
value = value * 2
elseif isInArray(typeTable[spellRace].effective, pokeElement1) or isInArray(typeTable[spellRace].effective, pokeElement2) then -- elemento atacante ser mais forte que os elementos de defesa
value = value * 1.6
elseif isInArray(typeTable[spellRace].norm, pokeElement1) or isInArray(typeTable[spellRace].norm, pokeElement2) then -- elemento atacante ser mais forte que os elementos de defesa
value = value * 1.2
elseif isInArray(typeTable[spellRace].inef, pokeElement1) or isInArray(typeTable[spellRace].inef, pokeElement2) then -- elemento atacante ser mais forte que os elementos de defesa
value = value * 0.8
elseif isInArray(typeTable[spellRace].weak, pokeElement1) or isInArray(typeTable[spellRace].weak, pokeElement2) then -- elemento atacante ser mais forte que os elementos de defesa
value = value * 0.4
elseif isInArray(typeTable[spellRace].non, pokeElement1) or isInArray(typeTable[spellRace].non, pokeElement2) then -- elemento atacante ser mais forte que os elementos de defesa
if getPlayerStorageValue(attacker, 999457) == 1 then -- dark and miracle eye
value = value
else
value = 0
end
end
if getCreatureName(cid) == "Venusaur" and value ~= 0 and isMega(cid) and isInArray({"ice", "fire"}, spellRace)then -- Passiva thick fat
value = value / 2
end
end
setPlayerStorageValue(attacker, 21102, -1)
return value
end
o meelee q ta bugado...
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 isInArray(typeTable[pokeRaceAttacker].super, pokeRaceDefender) or isInArray(typeTable[pokeRaceAttacker].super, pokeRaceDefender) then -- elemento atacante ser mais forte que os elementos de defesa
value = value * 1.3
elseif isInArray(typeTable[pokeRaceAttacker].weak, pokeRaceDefender) or isInArray(typeTable[pokeRaceAttacker].weak, pokeRaceDefender) then -- elemento atacante ser mais forte que os elementos de defesa
value = value
elseif isInArray(pokesGhosts, nomeDefense) then -- não bater em pokemons ghosts
value = 0
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
e o pokemove
move8 = {name = "Hydro Cannon", level = 50, cd = 60, dist = 1, target = 0, f = 95, t = "water"},
elseif spell == "Hydro Cannon" then
local p = getThingPosWithDebug(cid)
local d = isCreature(target) and getCreatureDirectionToTarget(cid, target) or getCreatureLookDir(cid)
function sendAtk(cid, area, eff)
if isCreature(cid) then
if not isSightClear(p, area, false) then return true end
doAreaCombatHealth(cid, WATERDAMAGE, area, 0, 0, 0, eff)
doAreaCombatHealth(cid, WATERDAMAGE, area, whirl3, -min, -max, 68)
end
end
for a = 0, 4 do
local t = { --alterado v1.4
[0] = {64, {x=p.x, y=p.y-(a+1), z=p.z}},
[1] = {65, {x=p.x+(a+1), y=p.y, z=p.z}},
[2] = {66, {x=p.x, y=p.y+(a+1), z=p.z}},
[3] = {67, {x=p.x-(a+1), y=p.y, z=p.z}}
}
addEvent(sendAtk, 300*a, cid, t[d][2], t[d][1])
end
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados