Ir para conteúdo

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


lucashgas

Posts Recomendados

@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

@Slicer

Slicer vc pode fazer um tutorial explicando como coloca novos pokemons no seu serv sem level, pois eu procurei em todo lugar e nao achei... please ?

 

 

 

 

Bonus:

 

rockstone-1.png

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

@Slicer

concertei a nurse! :]

agora só falta o bug do duel :x

acho que nem é TANTO um bug, é mais colocar para Ex: Se um player tiver 4 Pokemon na bag não pode invitar e nem aceitar duel de 5~6 Pokemons e etc. '-'

vlw

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

Resolvido!

 

@Wiisht

Já arrumei valeu por ajudar ai ;D

 

estou com outro problema aqui , se alguem conseguir me ajudar ficaria muito agradecido.

 

 

 

 

[04/09/2012 20:10:28] [Error - Spell Interface]

[04/09/2012 20:10:28] In a timer event called from:

[04/09/2012 20:10:28] data/spells/scripts/ps/Mud Bomb.lua:onCastSpell

[04/09/2012 20:10:28] Description:

[04/09/2012 20:10:28] data/lib/032-position.lua:231: attempt to index local 'pos' (a boolean value)

[04/09/2012 20:10:28] stack traceback:

[04/09/2012 20:10:28] data/lib/032-position.lua:231: in function 'getPosfromArea'

[04/09/2012 20:10:28] data/lib/newStatusSyst.lua:799: in function <data/lib/newStatusSyst.lua:796>

 

 

 

[04/09/2012 20:29:58] [Error - Action Interface]

[04/09/2012 20:29:58] data/actions/scripts/pokedex.lua:onUse

[04/09/2012 20:29:58] Description:

[04/09/2012 20:29:58] data/actions/scripts/pokedex.lua:19: attempt to index a boolean value

[04/09/2012 20:29:58] stack traceback:

[04/09/2012 20:29:58] data/actions/scripts/pokedex.lua:19: in function <data/actions/scripts/pokedex.lua:3>

 

 

 

[04/09/2012 20:29:52] [Error - CreatureScript Interface]

[04/09/2012 20:29:52] data/creaturescripts/scripts/pokeexp.lua:onDeath

[04/09/2012 20:29:52] Description:

[04/09/2012 20:29:52] (luaDoCreatureAddHealth) Creature not found

[04/09/2012 20:29:58] Evolution doesn't have an experience table speed gain. Check it at data/lib/level tables.lua.

[04/09/2012 20:29:58] Error while executing function "getPlayerInfoAboutPokemon("Black Ilusion, Evolution)", Evolution doesn't exist.

 

 

 

[04/09/2012 20:39:09] [Error - Spell Interface]

[04/09/2012 20:39:09] data/spells/scripts/ps/Bubblebeam.lua:onCastSpell

[04/09/2012 20:39:09] Description:

[04/09/2012 20:39:09] data/lib/pokemon moves.lua:115: attempt to perform arithmetic on local 'movetype' (a nil value)

[04/09/2012 20:39:09] stack traceback:

[04/09/2012 20:39:09] data/lib/pokemon moves.lua:115: in function 'docastspell'

[04/09/2012 20:39:09] data/spells/scripts/ps/Bubblebeam.lua:5: in function <data/spells/scripts/ps/Bubblebeam.lua:1>

 

 

Creio que sejam só esses, REP+ para quem me ajudar !!

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

@PknFan

 

pos = getThingPos(cid)
doSendMagicEffect({x = pos.x - 1, y = pos.y, z = pos.z}, effect)

 

OPS, se oq bateu no boost foi o D.A, coloca + 1, se foi o alaka é - 1

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

Alguem sabe como coloco a exp por estagio aki no pda. por que mechi la no stages.xml configurei la certinho fui no config.lua coloquei true la mais nao funfou a exp por stages.

 

Se alguem puder me ajudar fico grato

Link para o comentário
Compartilhar em outros sites

O problema do Smix é que ele posta o system e não ajuda a arrumar [ele diz q ta 100% + na vdd ta td bugado],e n tem respeito por ninguem.

 

Bom! Ele postou script e está com bugs de fato, mas é só estudar o script dele e consertar os bugs...Você não espera que o rapaz tenha a obrigação de concertar isso? rs. Eu estou estudando o script para ver se eu arrumo uns bugs aqui, mas pelo geito vai demorar, pois já que eu sou novo no ramo de tibia não conheço os comandos e suas funções.¬¬' O negocio é que estou pegando firme na leitura para desvendar o funcionamento dos scripts, mas seu eu tive-se as source seria divino meu estudo....coisa quase impossível de arrumar (bruno123 libera ai rs)

 

Os bugs são o seguinte..vamos lá!

 

--Depot não atualiza as balls para icones ou para ball

 

--Quando pokemon estiver em ação...não pode colocar de icone para ball, mas pode colocar de ball para icone.

 

--Ao dar trade de um pokemon com alguém. Você está com o mod icon e o seu amigo esta com mod ball--na sua visão fica o icon e a ball no trade

 

--Ao jogar um pokemon com modo ball no chão e em seguida mudar para icone e pegar o pokemons do chão você visualiza-ra o modo ball no que foi pego do chão e modo icone no que já possuia no inventário

 

 

Acho que ao pegar uma ball do chão o inventário teria que verificar o sistema se está em ball ou icone e mudar a ball em seguida.

 

 

Existe a possibilidade de colocar para o sistema funcionar só quando relogar no usuario?

 

Trade com 2 pokemon.

 

bugfail.JPG

Link para o comentário
Compartilhar em outros sites

@pedrowarlock

 

Acho a função de desativar um lixo, melhor sem poder desativar os icons, assim que editei o meu.

 

 

@off

Sobre a ultima att do client da pxg, em breve, efeitos são problematicos hasuhasa, amanham (hoje) trago

Link para o comentário
Compartilhar em outros sites

Huum...Pensando bem seria uma boa o sistema de icone permanente. Essa de alterna de ball para icone seria uma droga de concertar os bugs.Acho que vou fazer assim também. Sobre a duvida que eu estava tendo ao atualizar a barra quando dizar "hi" no cp eu já fiz aqui. Só coloquei

 

 

if useKpdoDlls then

doUpdateMoves(cid)

doUpdatePokemonsBar(cid)

end

 

 

 

 

No final do heal.lua. E uma coisa que eu coloquei também foi healar só quando o pokemon estiver na ball (configuration.lua). Porque healar fora da ball é sem lógica para o jogo. Há outro detalhe. Quando estou com o pokemon em ação e dizer "hi" é exibido um efeito magico de heal, mas não heala, pois meu pokemon está fora da ball, então coloquei o comando "doSendMagicEffect(getThingPos(cid), 132)" lá no final.

 

 

doSendMagicEffect(getThingPos(cid), 132)

if useKpdoDlls then

doUpdateMoves(cid)

doUpdatePokemonsBar(cid)

end

 

 

e removi o "doSendMagicEffect(getThingPos(cid), 132)" lé do inicio do script.

Estou postando isso porque algumas pessoas esteve com mesmo problema.

 

 

 

Há! Ja ia me esquecendo! Seria uma boa sumir com a barra de moves e deixar só a de escolha de pokemons. Como todos dizem "essa barra é toda bugada!"

Estou vendo aqui se consigo arrumar uma igual do pxg, mas vai demorar um pouco preciso estudar o funcionamento do tibia mais um pouco.

Gostei do sistema de loot do pxg de quando eu pegar algo ele ir para bag principal e se houver algum item do mesmo tipo ele se acumula a ele, mas ouvi dizer que isso só nas source. Será?

 

Achei alguns bugs.O dito copia o tangela e quando manda super vines aparece a sprite de shiny tangela

As vezes quando você usa o mind control quando o pokemon que você está controlando morre o seu tambem morre. (ótimo sistema muito bom mesmo).

Barra de coundown as vezes não atualiza os moves...bug chato se resolvido acho que a barra ficaria 100%

Link para o comentário
Compartilhar em outros sites

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