Ir para conteúdo

[Encerrado] [Pokemon] Dúvidas? - Pda


lucashgas

Posts Recomendados

@Pokemonultimatetwo

 

Devem ter sido mortos por players nos testes do Slicer. okayyy

 

 

Xi nem sei, procura por ai aUAHSUAhsausa, FUCK THE POLICEEE!

 

 

Matar, matar e matar (ou quest tambem sei lá :D nunca se sabe)

 

 

Ve se o cropsize dele ta "64" ou "96", teste 1 de cada e veja se conserta, veja se o id no .xml se não está diferente do .dat e .spr (ver com dat editor)

 

 

Pelo que eu vi todos estão faltando os arquivos, eles podem ter sidos mudados de lugar pelo Slicer ou simplismente apagados por nao terem mais uso

 

Tente 2 coisas:

 

Tire do spells.xml e teste, veja se dará erro em algum monster, caso de tente outra coisa

 

-

 

Tente achar os arquivos podem estar em outras pastas, coloque na pasta "/ps" ou mude o diretorio no spells.xml

 

 

Se tentar /m Furret, dará erro ou não fará o monstro, pode testar.

 

Parece que está bugado em algum lugar no caso o mais provavel que seja no "monsters.xml" e configurações assim

 

Veja se esta tudo certo na pasta "/monsters" depois veja outros arquivos como "configuration.lua" e outros arquivos que precisa editar para colocar um pokemon no OT

 

 

Pelo que eu me lembre os npcs viram "monstros" então é só configurar o loot como se fosse um pokemon (que no caso é um monstro)

 

 

Bem tem outro jeito de usar a tabela, não sei como ta no script do npc mas deve ser algo assim

 

wildRocket[math.random(1,5)]

ou

wildRocket[math.random(#wildRocket)]

 

Se quer escolher um pre definido veja um jeito facil

 

wildRocket[1]

Escolherá a tabela numero 1, simples né? não vou postar direto como ta pq nao quero abrir o arquivo aqui (preguiça, falo msm)

 

 

Vá no script de headbutt e procure a parte relacionada a checkar os pokes para que tenham mais do q lvl 15

 

Ai pode fazer do jeito que eu acho mais simples

 

headbuttList = {"Mewtwo", "Mew", "Minha Vó", "Slicer", "E noobs do Xtibia"}

ai no lugar do negocio q lvl 15, coloque algo simples

if isInArray(headbuttList, jeitoquechecka o nome dos pokes) then

 

Caso faça desse jeito, pode colocar até a tabela no configuration.lua que nao daria problema algum (só se ja tiver uma tabela com esse nome) e só foi uma "base" o resto é só ver, nem base é, é mais a "ideia" de como fazer entendeu?

 

 

 

@Slicer

 

Agora que me liguei.

 

Porque você coloca o nome dos npcs assim:

 

".aNomeDoFDP"

 

da onde se tirou isso, é ritual ou bruxaria? sai de mim, queimaaa CHESSUSSS!!

 

raxei aki o/. @Slicer pq no headbutt sai 2 pokes? devia vim 1 :S

Link para o comentário
Compartilhar em outros sites

@Slicer sim estou usando mais o unico corpse que nao acho é do shiny charizard

 

@slicer outra duvida quando eu crio meu cliente proprio nao funfa o sistema de cowndown bar mesmo eu copiando tua dll e colocando na minha pasta. existe alguma maneira de embutir o dll no cliente?

Link para o comentário
Compartilhar em outros sites

@Wiisht

q tal tu pegar a tabela surfs em lib/configuration.lua --'

 

@Mated

o script q controla os slots ali eh o data/mods/firstitem.xml... mas isso tb soh vai mudar os novos chares... ;p

 

@PkNfan

cria o icone ae q nos ve oq pode fazer... hehe

 

Pode cre eu tinha pego, porém eu mudei para "local surf" em vez de "surfs" (tongo eu eêr uheauheah)..

tem outro erro agora:

 

 

[04/09/2012 15:21:39] [Error - Npc interface]

[04/09/2012 15:21:39] data/npc/scripts/heal.lua:onCreatureSay

[04/09/2012 15:21:39] Description:

[04/09/2012 15:21:39] data/npc/scripts/heal.lua:118: attempt to compare number with string

[04/09/2012 15:21:39] stack traceback:

[04/09/2012 15:21:39] data/npc/scripts/heal.lua:118: in function <data/npc/scripts/heal.lua:33>

 

 

 

esse erro da no console (não me diga) kkkkk :x

 

script:

 

local pokeballs = {

[1] = {effect = 188, on = 11826, use = 11827, off = 11828, all = {11826, 11827, 11828}},

[2] = {effect = 191, on = 11829, use = 11830, off = 11831, all = {11829, 11830, 11831}},

[3] = {effect = 190, on = 11835, use = 11836, off = 11837, all = {11835, 11836, 11837}},

[4] = {effect = 189, on = 11832, use = 11833, off = 11834, all = {11832, 11833, 11834}},

[5] = {effect = 188, on = 11737, use = 11738, off = 11739, all = {11737, 11738, 11739}},

[6] = {effect = 189, on = 11740, use = 11741, off = 11742, all = {11740, 11741, 11742}},

[7] = {effect = 190, on = 11743, use = 11744, off = 11745, all = {11743, 11744, 11745}},

[8] = {effect = 191, on = 11746, use = 11747, off = 11748, all = {11746, 11747, 11748}},

}

 

function onThingMove(creature, thing, oldpos, oldstackpos)

end

 

function onCreatureAppear(creature)

end

 

function onCreatureDisappear(cid, pos)

if focus == cid then

selfSay('Good bye sir!')

focus = 0

talk_start = 0

end

end

 

function onCreatureTurn(creature)

end

 

function msgcontains(txt, str)

return (string.find(txt, str) and not string.find(txt, '(%w+)' .. str) and not string.find(txt, str .. '(%w+)'))

end

 

function onCreatureSay(cid, type, msg)

local msg = string.lower(msg)

local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid

 

for a, b in pairs(gobackmsgs) do

local gm = string.gsub(b.go, "doka!", "")

local bm = string.gsub(b.back, "doka!", "")

if string.find(string.lower(msg), string.lower(gm)) or string.find(string.lower(msg), string.lower(bm)) then

return true

end

end

 

if((msgcontains(msg, 'hi') or msgcontains(msg, 'heal') or msgcontains(msg, 'help')) and (getDistanceToCreature(cid) <= 3)) then

 

if exhaustion.get(cid, 9211) then

selfSay('Please wait a few moment before asking me to heal your pokemons again!')

return true

end

 

if not getTileInfo(getThingPos(cid)).protection and nurseHealsOnlyInPZ then

selfSay("Please, get inside the pokémon center to heal your pokemons!")

return true

end

 

exhaustion.set(cid, 9211, 5)

 

doCreatureAddHealth(cid, getCreatureMaxHealth(cid)-getCreatureHealth(cid))

doCureStatus(cid, "all", true)

doSendMagicEffect(getThingPos(cid), 132)

 

local mypb = getPlayerSlotItem(cid, 8)

 

if #getCreatureSummons(cid) >= 1 then

 

if not nurseHealsPokemonOut then

selfSay("Please, return your pokemon to his ball!")

return true

end

 

local s = getCreatureSummons(cid)[1]

doCreatureAddHealth(s, getCreatureMaxHealth(s))

doSendMagicEffect(getThingPos(s), 13)

doCureStatus(s, "all", false)

if getPlayerStorageValue(s, 1008) < baseNurseryHappiness then

setPlayerStorageValue(s, 1008, baseNurseryHappiness)

end

if getPlayerStorageValue(s, 1009) > baseNurseryHunger then

setPlayerStorageValue(s, 1009, baseNurseryHunger)

end

else

if mypb.itemid ~= 0 and isPokeball(mypb.itemid) then --alterado v1.3

doItemSetAttribute(mypb.uid, "hp", 1)

if getItemAttribute(mypb.uid, "hunger") and getItemAttribute(mypb.uid, "hunger") > baseNurseryHunger then

doItemSetAttribute(mypb.uid, "hunger", baseNurseryHunger)

end

for c = 1, 15 do

local str = "move"..c

setCD(mypb.uid, str, 0)

end

if getItemAttribute(mypb.uid, "happy") and getItemAttribute(mypb.uid, "happy") < baseNurseryHappiness then

doItemSetAttribute(mypb.uid, "happy", baseNurseryHappiness)

end

if getPlayerStorageValue(cid, 17000) <= 0 and getPlayerStorageValue(cid, 17001) <= 0 and getPlayerStorageValue(cid, 63215) <= 0 then

for a, b in pairs (pokeballs) do

if isInArray(b.all, mypb.itemid) then

doTransformItem(mypb.uid, b.on)

end

end

end

end

end

 

local bp = getPlayerSlotItem(cid, CONST_SLOT_BACKPACK)

 

for balls = 1, 8 do --editar a qntdade de balls da tabela ali decima...

for times = 1, 3 do

local items = getItemsInContainerById(bp.uid, pokeballs[balls].all[times])

if #items >= 1 then

for _, uid in pairs(items) do

doItemSetAttribute(uid, "hp", 1)

doTransformItem(uid, pokeballs[balls].on)

for c = 1, 15 do

local str = "move"..c

setCD(uid, str, 0) --alterado v1.3

end

if getItemAttribute(uid, "hunger") and getItemAttribute(uid, "hunger") > baseNurseryHunger then

doItemSetAttribute(uid, "hunger", baseNurseryHunger)

end

if getItemAttribute(uid, "happy") and getItemAttribute(uid, "happy") < baseNurseryHappiness then

doItemSetAttribute(uid, "happy", baseNurseryHappiness)

end

end

end

end

end

 

 

selfSay('There you go! You and your pokemons are healthy again.')

 

end

end

 

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

Boa tarde galera, esta dando um problema aqui

 

[04/09/2012 15:14:30] [Error - Spell Interface]

[04/09/2012 15:14:30] data/spells/scripts/passivas/Demon Puncher.lua:onCastSpell

[04/09/2012 15:14:30] Description:

[04/09/2012 15:14:30] (luaGetCreatureStorage) Creature not found

 

Alguem sabe?

Link para o comentário
Compartilhar em outros sites

@Slicer ta dando um bug no exp2.0

 

 

data/creaturescripts/scripts/exp2.0.lua:252: attempt to index field '?' (a nil value)

[04/09/2012 16:11:29] stack traceback:

[04/09/2012 16:11:29] data/creaturescripts/scripts/exp2.0.lua:252: in function <data/creaturescripts/scripts/exp2.0.lua:63>

 

 

local combats = {						 --alterado v1.6 \/
[PSYCHICDAMAGE] = {cor = COLOR_PSYCHIC},
[GRASSDAMAGE] = {cor = COLOR_GRASS},
[POISONEDDAMAGE] = {cor = COLOR_GRASS},
[FIREDAMAGE] = {cor = COLOR_FIRE2},						
[bURNEDDAMAGE] = {cor = COLOR_BURN},
[WATERDAMAGE] = {cor = COLOR_WATER},
[iCEDAMAGE] = {cor = COLOR_ICE},
[NORMALDAMAGE] = {cor = COLOR_NORMAL},
[FLYDAMAGE] = {cor = COLOR_FLYING},		  
[GHOSTDAMAGE] = {cor = COLOR_GHOST},
[GROUNDDAMAGE] = {cor = COLOR_GROUND},
[ELECTRICDAMAGE] = {cor = COLOR_ELECTRIC},
[ROCKDAMAGE] = {cor = COLOR_ROCK},
[bUGDAMAGE] = {cor = COLOR_BUG},
[FIGHTDAMAGE] = {cor = COLOR_FIGHTING},
[DRAGONDAMAGE] = {cor = COLOR_DRAGON},
[POISONDAMAGE] = {cor = COLOR_POISON},
[DARKDAMAGE] = {cor = COLOR_DARK},			  
[sTEELDAMAGE] = {cor = COLOR_STEEL},
[MIRACLEDAMAGE] = {cor = COLOR_PSYCHIC},
[DARK_EYEDAMAGE] = {cor = COLOR_GHOST},
[sEED_BOMBDAMAGE] = {cor = COLOR_GRASS},
[sACREDDAMAGE] = {cor = COLOR_FIRE2},
}
--alterado v1.5  tabelas agora estao em lib/configuration.lua
local function sendPlayerDmgMsg(cid, text)
if not isCreature(cid) then return true end
doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, text)
endlocal races = {
[4] = {cor = COLOR_FIRE2},
[6] = {cor = COLOR_WATER},
[7] = {cor = COLOR_NORMAL},
[8] = {cor = COLOR_FIRE2},
[9] = {cor = COLOR_FIGHTING},
[10] = {cor = COLOR_FLYING},
[11] = {cor = COLOR_GRASS},
[12] = {cor = COLOR_POISON},
[13] = {cor = COLOR_ELECTRIC},
[14] = {cor = COLOR_GROUND},
[15] = {cor = COLOR_PSYCHIC},
[16] = {cor = COLOR_ROCK},
[17] = {cor = COLOR_ICE},
[18] = {cor = COLOR_BUG},
[19] = {cor = COLOR_DRAGON},
[20] = {cor = COLOR_GHOST},
[21] = {cor = COLOR_STEEL},
[22] = {cor = COLOR_DARK},
[1] = {cor = 180},
[2] = {cor = 180},
[3] = {cor = 180},
[5] = {cor = 180},
}
local damages = {GROUNDDAMAGE, ELECTRICDAMAGE, ROCKDAMAGE, FLYDAMAGE, BUGDAMAGE, FIGHTINGDAMAGE, DRAGONDAMAGE, POISONDAMAGE, DARKDAMAGE, STEELDAMAGE}
local fixdmgs = {PSYCHICDAMAGE, COMBAT_PHYSICALDAMAGE, GRASSDAMAGE, FIREDAMAGE, WATERDAMAGE, ICEDAMAGE, NORMALDAMAGE, GHOSTDAMAGE}
local ignored = {POISONEDDAMAGE, BURNEDDAMAGE}				--alterado v1.6
local cannotkill = {BURNEDDAMAGE, POISONEDDAMAGE}function onStatsChange(cid, attacker, type, combat, value)
if combat == FLYSYSTEMDAMAGE then return false end
if isPlayer(cid) and getCreatureOutfit(cid).lookType == 814 then return false end -- TVif not isCreature(attacker) then  --alterado v1.5 cid == attacker
if not isInArray(fixdamages, combat) and combats[combat] then
 doSendAnimatedText(getThingPos(cid), value, combats[combat].cor)
end
return true
end
local damageCombat = combat
--------------------------------------------------
--alterado v1.6  retirado os combats sleep_powder e poison_powder daki!
--------------------------------------------------
if type == STATSCHANGE_HEALTHGAIN then
if cid == attacker then
return true
end
if isSummon(cid) and isSummon(attacker) and canAttackOther(cid, attacker) == "Cant" then
return false
end
return true
end
--------------------------------------------------
if isMonster(cid) then
local valor = value
  if not pokes[getCreatureName(cid)] and damageCombat == COMBAT_PHYSICALDAMAGE then
  valor = getOffense(attacker) * playerDamageReduction
  doCreatureAddHealth(cid, -math.abs(valor), 3, races[7].cor)					   --alterado v1.6 dano nos npcs
  return false
  elseif not pokes[getCreatureName(cid)] and damageCombat ~= COMBAT_PHYSICALDAMAGE then
  doCreatureAddHealth(cid, -math.abs(valor), 3, combats[damageCombat].cor)
  return false
  end
end
--------------------------------------------------
if isPlayer(attacker) thenlocal valor = value
if valor > getCreatureHealth(cid) then
 valor = getCreatureHealth(cid)
end
if combat == COMBAT_PHYSICALDAMAGE then
return false
endif combat == PHYSICALDAMAGE then
doSendMagicEffect(getThingPos(cid), 3)
doSendAnimatedText(getThingPos(cid), valor, races[getMonsterInfo(getCreatureName(cid)).race].cor)
end
if combats[damageCombat] and not isInArray(fixdmgs, damageCombat) then
doSendAnimatedText(getThingPos(cid), valor, combats[damageCombat].cor)
endif #getCreatureSummons(attacker) >= 1 and not isInArray({POISONEDDAMAGE, BURNEDDAMAGE}, combat) then
 doPlayerSendTextMessage(attacker, MESSAGE_STATUS_DEFAULT, "Your "..getPokeName(getCreatureSummons(attacker)[1]).." dealt "..valor.." damage to "..getSomeoneDescription(cid)..".")
end
return true
end
--------------------------------------------------
if isPlayer(cid) and #getCreatureSummons(cid) >= 1 and type == STATSCHANGE_HEALTHLOSS then
return false																		  
end
--------------------------------------------------
if isPlayer(cid) and #getCreatureSummons(cid) <= 0 and type == STATSCHANGE_HEALTHLOSS thenif isSummon(attacker) or isPlayer(attacker) then
  if canAttackOther(cid, attacker) == "Cant" then return false end
end
local valor = 0
 if combat == COMBAT_PHYSICALDAMAGE then
  valor = getOffense(attacker)
 else
  valor = getSpecialAttack(attacker)
 endvalor = valor * playerDamageReduction
valor = valor * math.random(83, 117) / 100
if valor >= getCreatureHealth(cid) then
 valor = getCreatureHealth(cid)
endvalor = math.floor(valor)
if valor >= getCreatureHealth(cid) then
   if getPlayerStorageValue(cid, 6598754) >= 1 or getPlayerStorageValue(cid, 6598755) >= 1 then
	  setPlayerStorageValue(cid, 6598754, -1)
	  setPlayerStorageValue(cid, 6598755, -1)
	  doRemoveCondition(cid, CONDITION_OUTFIT)
   end
   if getPlayerStorageValue(cid, 17001) >= 1 or getPlayerStorageValue(cid, 17000) >= 1 or getPlayerStorageValue(cid, 63215) >= 1 then
	  doRemoveCondition(cid, CONDITION_OUTFIT)
	  setPlayerStorageValue(cid, 17000, 0)
	  setPlayerStorageValue(cid, 17001, 0)
	  setPlayerStorageValue(cid, 63215, -1)
	  doChangeSpeed(cid, PlayerSpeed)
local item = getPlayerSlotItem(cid, 8)
local btype = getPokeballType(item.itemid)
  if #getCreatureSummons(cid) <= 0 then
 if isInArray(pokeballs[btype].all, item.itemid) then
  doTransformItem(item.uid, pokeballs[btype].off)
  doItemSetAttribute(item.uid, "hp", 0)
 end
  end
  end
  ------------Edited Golden Arena------------------
  if getPlayerStorageValue(cid, 22545) == 1 then
	 if getGlobalStorageValue(22550) == 1 then
		doPlayerSendTextMessage(cid, 20, "You are the last survivor of the golden arena! Take your reward!")
		doPlayerAddItem(cid, 2152, 100)  --premio
		setPlayerStorageValue(cid, 22545, -1)
		doTeleportThing(cid, getClosestFreeTile(cid, getClosestFreeTile(cid, posBackGolden)), false)  --alterado v1.4
		setGlobalStorageValue(22550, -1)
		doCreatureAddHealth(cid, getCreatureMaxHealth(cid))
		return true		  
	 else
		 setGlobalStorageValue(22550, getGlobalStorageValue(22550)-1)
		 setPlayerStorageValue(cid, 22545, -1)
		 doTeleportThing(cid, getClosestFreeTile(cid, posBackGolden), false)	--alterado v1.4
		 doCreatureAddHealth(cid, getCreatureMaxHealth(cid))
		 return true
	 end
 end
 -------------------------------------------	
end
doCreatureAddHealth(cid, -valor, 3, 180)
if not isPlayer(cid) then
addEvent(sendPlayerDmgMsg, 5, cid, "You lost "..valor.." hitpoints due to an attack from "..getSomeoneDescription(attacker)..".")
end
return false
end
--------------------------------------------------
if isMonster(attacker) and getPlayerStorageValue(attacker, 201) ~= -1 then
if isPlayer(cid) then
return false
end
if getPlayerStorageValue(getCreatureMaster(cid), ginasios[getPlayerStorageValue(attacker, 201)].storage) ~= 1 then
return false
end
end
--------------------------------------------------
if isMonster(cid) and getPlayerStorageValue(cid, 201) ~= -1 then
if getPlayerStorageValue(getCreatureMaster(attacker), ginasios[getPlayerStorageValue(cid, 201)].storage) ~= 1 then
return false
end
end
--------------------------------------------------
if ehMonstro(cid) and ehMonstro(attacker) then
return false										  --edited monstro nao atacar monstro
end
--------------------------------------------------
--------------------REFLECT-----------------------
if getPlayerStorageValue(cid, 21099) >= 1 and combat ~= COMBAT_PHYSICALDAMAGE then
  if not isInArray({"Team Claw", "Team Slice"}, getPlayerStorageValue(attacker, 21102)) then
  doSendMagicEffect(getThingPosWithDebug(cid), 135)
  doSendAnimatedText(getThingPosWithDebug(cid), "REFLECT", COLOR_GRASS)
  addEvent(docastspell, 100, cid, getPlayerStorageValue(attacker, 21102))
  if getCreatureName(cid) == "Wobbuffet" then
	 doRemoveCondition(cid, CONDITION_OUTFIT)  
  end
  setPlayerStorageValue(cid, 21099, -1)					--alterado v1.6
  setPlayerStorageValue(cid, 21100, 1)
  setPlayerStorageValue(cid, 21101, attacker)
  setPlayerStorageValue(cid, 21103, getTableMove(attacker, getPlayerStorageValue(attacker, 21102)).f)
  setPlayerStorageValue(cid, 21104, getCreatureOutfit(attacker).lookType)
  return false
  end
end
-------------------------------------------------local multiplier = 1
  if isCreature(cid) then
  poketype1 = pokes[getCreatureName(cid)].type		--alterado v1.6
  poketype2 = pokes[getCreatureName(cid)].type2
  end
  if not poketype1 or not poketype2 then return false end  --alterado v1.6

if getCreatureCondition(cid, CONDITION_INVISIBLE) then
return false
end
if damageCombat ~= COMBAT_PHYSICALDAMAGE and not isInArray(ignored, damageCombat) then
if isInArray(effectiveness[damageCombat].super, poketype1) then
 multiplier = multiplier + 0.5
end
if isInArray(effectiveness[damageCombat].super, poketype2) then
 multiplier = multiplier + 0.5
end
if isInArray(effectiveness[damageCombat].weak, poketype1) then	--Edited effetivenes = pxg... ;p
 multiplier = multiplier - 0.25
end
if isInArray(effectiveness[damageCombat].weak, poketype2) then
 multiplier = multiplier - 0.25
end
if isInArray(effectiveness[damageCombat].non, poketype1) or isInArray(effectiveness[damageCombat].non, poketype2) then
  if isInArray(specialabilities["foresight"], getCreatureName(attacker)) then   --alterado v1.5
	 multiplier = 0.5				
  end						 --alterado v1.6
end
elseif combat == COMBAT_PHYSICALDAMAGE then
if isGhostPokemon(cid) then			   --alterado v1.3
   if not isInArray(specialabilities["foresight"], getCreatureName(attacker)) then  --passiva Foresight!!
	  doSendMagicEffect(getThingPos(cid), 3)	
   return false
   end
end
 local cd = getPlayerStorageValue(attacker, conds["Miss"])
	local cd2 = getPlayerStorageValue(attacker, conds["Confusion"])
	local cd3 = getPlayerStorageValue(attacker, conds["Stun"])
	if cd >= 0 or cd2 >= 0 or cd3 >= 0 then
	   if math.random(1, 100) > 50 then  --Edited miss system  -- 50% chance de da miss no atk fisico
	doSendMagicEffect(getThingPos(cid), 211)
	doSendAnimatedText(getThingPos(attacker), "MISS", 215)		 --alterado v1.5
	return false
	   end
	end
end
--------------------------------------------------
local valor = valueif multiplier == 1.5 and poketype2 == "no type" then
	multiplier = 2										 --alterado v1.6
elseif multiplier == 1.5 and poketype2 ~= "no type" then
 multiplier = 1.75	  
elseif multiplier == 1.25 then	--edited effetivines = pxg
 multiplier = 1  
end
--------------------------------------------------
if isSummon(cid) and isSummon(attacker) then
	if getCreatureMaster(cid) == getCreatureMaster(attacker) then
	   return false
	end
 if canAttackOther(cid, attacker) == "Cant" then
	   return false
	end
endvalor = valor * multiplier
if isSummon(attacker) then
 valor = valor * getHappinessRate(attacker)
else
 valor = valor * summonReduction
endvalor = math.floor(valor)

if combat == COMBAT_PHYSICALDAMAGE then
   block = 1 - (getDefense(cid) / (getOffense(attacker) + getDefense(cid)))
valor = getOffense(attacker) * block

   if isInArray(specialabilities["counter"], getCreatureName(cid)) then
   if math.random(1, 100) <= 10 then
	  doCreatureAddHealth(attacker, -valor, 3, 180)	--alterado v1.5
	  valor = 0
	  doSendAnimatedText(getThingPosWithDebug(cid), "COUNTER", 215)
	  end
   end

else
   valor = valor / getDefense(cid)
end

-------------------------Edited CLAN SYSTEM-----------------------------------
if isSummon(attacker) and getPlayerStorageValue(getCreatureMaster(attacker), 86228) >= 1 then
   valor = valor*getClanPorcent(getCreatureMaster(attacker), combat, "atk")						   --alterado v1.3
elseif isSummon(cid) and getPlayerStorageValue(getCreatureMaster(cid), 86228) >= 1 then
   valor = valor - (valor*getClanPorcent(getCreatureMaster(cid), combat, "def", pokes[getCreatureName(cid)].type, pokes[getCreatureName(cid)].type2))
end
-----------------------------------------------------------------------
---------------------- FEAR / ROAR ------------------------------------
if getPlayerStorageValue(attacker, conds["Fear"]) >= 1 then		 --alterado!!
return true
end
--------------------------------------------------------------------------
if damageCombat ~= COMBAT_PHYSICALDAMAGE and not isInArray(ignored, damageCombat) then
  if isInArray(effectiveness[damageCombat].non, poketype1) or isInArray(effectiveness[damageCombat].non, poketype2) then
  if not isInArray(specialabilities["foresight"], getCreatureName(attacker)) then	 --alterado v1.6
	 valor = valor * 0					  --alterado v1.5
  end
  end
end
if damageCombat == GROUNDDAMAGE then
  if isInArray(specialabilities["levitate"], getCreatureName(cid)) then
  valor = 0					  --alterado v1.5
  end
end
-----------------------------------------------------------------------------
local p = getThingPos(cid)					
if p.x == 1 and p.y == 1 and p.z == 10 then
return false								  
endif getPlayerStorageValue(cid, 9658783) == 1 then
return false	 --imune
end
-----------------------------------------------------------------------------
if valor >= getCreatureHealth(cid) then
 if isInArray(cannotKill, combat) and isPlayer(cid) then
  valor = getCreatureHealth(cid) - 1
 else
  valor = getCreatureHealth(cid)
 end
end
valor = math.floor(valor)			 --alterado v1.6

------------------ SKILLs Q CURAM O ATTACKER ---------------------------------
local function doHeal(cid, amount)
if (getCreatureHealth(cid) + amount) >= getCreatureMaxHealth(cid) then
  amount = math.abs(getCreatureHealth(cid)-getCreatureMaxHealth(cid))
end
if getCreatureHealth(cid) ~= getCreatureMaxHealth(cid) then		   --alterado v1.6
  doCreatureAddHealth(cid, amount)
  doSendAnimatedText(getThingPosWithDebug(cid), "+"..amount.."", 65)
end
end

if damageCombat == PSYCHICDAMAGE or damageCombat == MIRACLEDAMAGE then
  if getPlayerStorageValue(attacker, 95487) >= 1 then
  doHeal(attacker, valor)
  setPlayerStorageValue(attacker, 95487, -1)				  --alterado v1.6
  end
elseif damageCombat == SEED_BOMBDAMAGE then
  doHeal(attacker, valor)
end
--------------------------------------------
----------SACRED FIRE-----------------------
if combat == SACREDDAMAGE and not ehNPC(cid) then	--alterado v1.6
  local ret = {}
  ret.id = cid
  ret.cd = 9
  ret.check = getPlayerStorageValue(cid, conds["Silence"])
  ret.eff = 39
  ret.cond = "Silence"
  doCondition2(ret)
end
-----------------------------------------------------------Passiva Lifesteal Clobat------------
if combat == COMBAT_PHYSICALDAMAGE then
  if getCreatureName(attacker) == "Crobat" then					--alterado v1.4
  doCreatureAddHealth(attacker, math.floor(valor))
  doSendAnimatedText(getThingPos(attacker), "+ "..math.floor(valor), 30)
  end
end
--------------------------------------------
if isSummon(attacker) then
 if combat == COMBAT_PHYSICALDAMAGE then
  doTargetCombatHealth(getCreatureMaster(attacker), cid, PHYSICALDAMAGE, -valor, -valor, 255)
  addEvent(doDoubleHit, 1000, attacker, cid, valor, races)	  --alterado v1.6
 else
  doTargetCombatHealth(getCreatureMaster(attacker), cid, damageCombat, -valor, -valor, 255)
 end
else
 if combat ~= COMBAT_PHYSICALDAMAGE then
  doCreatureAddHealth(cid, -math.abs(valor), 3, combats[damageCombat].cor)
 else
		doCreatureAddHealth(cid, -math.abs(valor), 3, races[getMonsterInfo(getCreatureName(cid)).race].cor)
		addEvent(doDoubleHit, 1000, attacker, cid, valor, races)   --alterado v1.6
	end
 if isSummon(cid) and valor ~= 0 then
  addEvent(sendPlayerDmgMsg, 5, getCreatureMaster(cid), "Your "..getCreatureName(cid).." lost "..valor.." hitpoints due to an attack from "..getSomeoneDescription(attacker)..".")
 endend

if damageCombat == FIREDAMAGE and not isBurning(cid) then
local ret = {}
ret.id = cid
ret.cd = math.random(5, 12)
ret.check = getPlayerStorageValue(cid, conds["Burn"])
ret.damage = isSummon(attacker) and getMasterLevel(attacker)+getPokemonBoost(attacker) or getPokemonLevel(attacker)
ret.cond = "Burn"

doCondition2(ret)
elseif damageCombat == POISONDAMAGE and not isPoisoned(cid) then
   local ret = {}
ret.id = cid
ret.cd = math.random(6, 15)
ret.check = getPlayerStorageValue(cid, conds["Poison"])
local lvl = isSummon(attacker) and getMasterLevel(attacker) or getPokemonLevel(attacker)
   ret.damage = math.floor((getPokemonLevel(attacker)+lvl)/2)
ret.cond = "Poison"

doCondition2(ret)
end
--[[---------------CD BAR-----------------------
if isSummon(cid) then
  doCreatureExecuteTalkAction(getCreatureMaster(cid), "/pokeread")
end  ]]
------------------------------------POTIONS-------------------------------------------
if isSummon(cid) and type == STATSCHANGE_HEALTHLOSS then
  if getPlayerStorageValue(cid, 173) >= 1 then
  if damageCombat ~= BURNEDDAMAGE and damageCombat ~= POISONEDDAMAGE then
	 setPlayerStorageValue(cid, 173, -1)  --alterado v1.6
	 doSendAnimatedText(getThingPos(cid), "Lost Heal", 144)
  end
  end
end
----------------------------------------PASSIVAS------------------------------------- --alterado v1.6 \/ todas as passivas agora estao em lib/pokemon moves.lua
-------------------------------------------Counter Helix------------------------------------
local helix = {"Scyther", "Scizor", "Shiny Scyther", "Hitmontop", "Shiny Hitmontop", "Pineco", "Forretress"}
if isInArray(helix, getCreatureName(cid)) and math.random(1, 100) <= 15 then
  docastspell(cid, "Counter Helix")
end
-------------------------------------------Lava Counter/Electricity----------------------------
local Fire_Thunder = {"Magmar", "Electabuzz", "Shiny Electabuzz", "Magby", "Elekid"}if isInArray(Fire_Thunder, getCreatureName(cid)) and math.random(1, 100) <= 15 then
  docastspell(cid, "Lava-Electricity")
end
-------------------------------------------Demon Kicker-------------------------------------
--alterado v1.6 esta por ATK agora
-------------------------------------------Demon Puncher-------------------------------------
--alterado v1.6 esta por ATK agora
---------------------------------------Stunning Confusion-----------------------------------------
local ducks = {"Golduck", "Psyduck", "Wobbuffet"} --alterado v1.6	
if isInArray(ducks, getCreatureName(cid)) and math.random(1, 100) <= 20 then
  docastspell(cid, "Stunning Confusion")
end
-----------------------------------------Groundshock-----------------------------------
if getCreatureName(cid) == "Kangaskhan" and math.random(1, 100) <= 20 then
  docastspell(cid, "Groundshock")
end
--------------------------------------Electric Charge---------------------------------------------
local charge = {"Pikachu", "Raichu", "Shiny Raichu"}if isInArray(charge, getCreatureName(cid)) and math.random(1, 100) <= 15 then
  docastspell(cid, "Electric Charge", 0, 0)
end
-------------------------------------Melody------------------------------------
if getCreatureName(cid) == "Wigglytuff" and math.random(1, 100) <= 10 then
  docastspell(cid, "Melody")
end
------------------------------------- Dragon Fury / Fury ---------------------------------------
local DracoFury = {"Persian", "Raticate", "Shiny Raticate", "Gyarados", "Shiny Gyarados", "Dratini", "Shiny Dratini", "Dragonair", "Shiny Dragonair",
"Dragonite", "Shiny Dragonite"}	--alterado v1.6
if isInArray(DracoFury, getCreatureName(cid)) and math.random(1, 100) <= 10 then
  docastspell(cid, "Dragon Fury", 0, 0)
end
------------------------------------- Mega Drain ---------------------------------------
local mega = {"Oddish", "Gloom", "Vileplume", "Kabuto", "Kabutops", "Parasect", "Tangela", "Shiny Vileplume", "Shiny Tangela", "Shiny Parasect"}

if isInArray(mega, getCreatureName(cid)) and math.random(1, 100) <= 10 then
  docastspell(cid, "Mega Drain")
end
------------------------------------- Spores Reaction ---------------------------------------
local spores = {"Oddish", "Gloom", "Vileplume", "Shiny Vileplume"}if isInArray(spores, getCreatureName(cid)) and math.random(1, 100) <= 10 then
  docastspell(cid, "Spores Reaction")
end
------------------------------------ Amnesia ----------------------------------------  
local amnesia = {"Wooper", "Quagsire", "Swinub", "Piloswine"}
if isInArray(amnesia, getCreatureName(cid)) and math.random(1, 100) <= 10 then
  docastspell(cid, "Amnesia", 0, 0)
end
----------------------------------- Zen Mind -----------------------------------------
if getCreatureName(cid) == "Slowking" and math.random(1, 100) <= 10 and isWithCondition(cid) then
  docastspell(cid, "Zen Mind", 0, 0)
end
---------------------------------- Mirror Coat ---------------------------------------
if getCreatureName(cid) == "Wobbuffet" and math.random(1, 100) <= 30 then  
  docastspell(cid, "Mirror Coat", 0, 0)
end
--------------------------------- Illusion -----------------------------------------
return false
end

 

 

 

 

 

 

 

 

@Slicer onde mudo o dano das passives agora os poke estao com as passives muito forte, procurei em pokes moves.lua mais nao achei numeros pra mudar efeito da passive feito antes tinha antes desta nova atualizaçao. se puder ajudar fico grato

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

@Slicer

tem um bug que ta acontecendo aqui, tipo os players vão dar "fly" ai aparece a msg que ta em duel, mesmo não estando.

sabe como arruma cara ?, vlw!

OBS: Duel por order!

 

e quando vai dar surf também

 

Edit: Bom pelo que EU vi, isto deve acontecer por algumas causas

• Quando player tem 5 Pokemons ele pode aceitar Duel de 6 Pokemons (Pode ser uma das causas para continuar com storage do duel).

• Quando o player ta duel pode entrar no CP.

 

 

Essas duas causas deve fazer esse bug.

tem como colocar o duel para ex: se o cara tiver 5 Pokemons não consegue invitar duel de 6 pokemons etc, tem como pff ?.. vlw

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

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