Ir para conteúdo

giovani27

Campones
  • Total de itens

    22
  • Registro em

  • Última visita

Tudo que giovani27 postou

  1. alguem conseguiu fazer o botão do autoloot la em cima funcionar? se alguem conseguiu me ajuda
  2. nao da nenhum erro relacionado a isso nem no client nem na distro , apenas clico e nao abre a telinha de escolher o poke
  3. coloquei no modules no otc e fiz a action mas quando clico no item nao abre a tela pra escolher o poke oq pode ser?
  4. vixi amigo isso ja nao sei eu ainda nao consegui arrumar isso , se conseguir da um toque
  5. copia isso e coloca no seu exp2.0 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}, [MUDBOMBDAMAGE] = {cor = COLOR_GROUND} } --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) end local 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 -- TV if 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) then local valor = value if valor > getCreatureHealth(cid) then valor = getCreatureHealth(cid) end if combat == COMBAT_PHYSICALDAMAGE then return false end if 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) end if #getCreatureSummons(attacker) >= 1 and not isInArray({POISONEDDAMAGE, BURNEDDAMAGE}, combat) then --doPlayerSendTextMessage(attacker, cid, 20, "Seu "..getPokeName(getCreatureSummons(attacker)[1]).." causou "..valor.." de dano no "..getSomeoneDescription(cid)..".") end return true end -------------------------------------------------- if isPlayer(cid) and #getCreatureSummons(cid) >= 1 and type == STATSCHANGE_HEALTHLOSS then --if ehMonstro(attacker) and getClosestFreeTile(getCreatureSummons(cid)[1]) >= 1 then --doSendAnimatedText(getThingPosWithDebug(attacker), "Hmpfg!", 215) --doMonsterSetTarget(attacker, getCreatureSummons(cid)[1]) --end return false end --if isPlayer(cid) and #getCreatureSummons(cid) >= 1 and type == STATSCHANGE_HEALTHLOSS then --if ehMonstro(attacker) and getClosestFreeTile(getCreatureSummons(cid)[1]) <= 0 then --doSendAnimatedText(getThingPosWithDebug(attacker), "Grrr!", 215) --doMonsterSetTarget(attacker, cid) --end --return true --end -------------------------------------------------- if isPlayer(cid) and #getCreatureSummons(cid) <= 0 and type == STATSCHANGE_HEALTHLOSS then if 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) end valor = valor * playerDamageReduction valor = valor * math.random(83, 117) / 100 if valor >= getCreatureHealth(cid) then valor = getCreatureHealth(cid) end valor = 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) doTeleportThing(cid, {x = 1001, y = 1026, z = 14}, false) doCreatureAddHealth(cid, getCreatureMaxHealth(cid)) return false --alterado v1.8 elseif getPlayerStorageValue(cid, 577869) >= 1 then setPlayerStorageValue(cid, 577869, 0) doTeleportThing(cid, {x = 1009, y = 1084, z = 14}, false) doCreatureAddHealth(cid, getCreatureMaxHealth(cid)) return false elseif getPlayerStorageValue(cid, 20000) >= 1 then setPlayerStorageValue(cid, 20000, 0) setPlayerStorageValue(cid,30,0) doTeleportThing(cid, {x = 1172, y = 1366, z = 7}, false) doCreatureAddHealth(cid, getCreatureMaxHealth(cid)) doPlayerSendTextMessage(cid, 20, "Você morreu no Saffari por Favor volte mais tarde!") return false elseif getPlayerStorageValue(cid, 20001) >= 1 then setPlayerStorageValue(cid,20001,0) doTeleportThing(cid, {x = 1371, y = 1240, z = 7}, false) doCreatureAddHealth(cid, getCreatureMaxHealth(cid)) doRemoveCondition(cid, CONDITION_OUTFIT) doPlayerSendTextMessage(cid, 20, "You are died in demon room, please come back!") return false end ------------------------------------------- --- if getPlayerStorageValue(cid, 18) >= 1 then setPlayerStorageValue(cid,18,0) doRemoveCondition(cid, CONDITION_OUTFIT) end ------------Saffari---------------------------------- 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, "Você foi o último sobrevivente da Golden Arena! Tome sua recompensa!") doPlayerAddItem(cid, 2160, getPlayerStorageValue(cid, 22551)*30/4) doPlayerAddExperience(cid, 1000, getPlayerStorageValue(cid, 22551)*30) setPlayerStorageValue(cid, 22545, -1) doTeleportThing(cid, getClosestFreeTile(cid, getClosestFreeTile(cid, posBackGolden)), false) doCreatureAddHealth(cid, getCreatureMaxHealth(cid)-getCreatureHealth(cid)) --setPlayerRecordWaves(cid) endGoldenArena() return false --alterado v1.8 else setGlobalStorageValue(22550, getGlobalStorageValue(22550)-1) setPlayerStorageValue(cid, 22545, -1) doTeleportThing(cid, getClosestFreeTile(cid, posBackGolden), false) doPlayerAddItem(cid, 2152, getPlayerStorageValue(cid, 22551)*5) doCreatureAddHealth(cid, getCreatureMaxHealth(cid)-getCreatureHealth(cid)) --setPlayerRecordWaves(cid) return true end end ---------------------------------- if getPlayerSex(cid) == 1 then local corpse = doCreateItem(3058, 1, getThingPos(cid)) doDecayItem(corpse) doItemSetAttribute(corpse, "name", "dead human (Vol:8). You recognize ".. getCreatureName(cid) ..". He was killed by a ".. getCreatureName(attacker) .."") elseif getPlayerSex(cid) == 0 then local corpse = doCreateItem(3065, 1, getThingPos(cid)) doDecayItem(corpse) doItemSetAttribute(corpse, "name", "dead human (Vol:8). You recognize ".. getCreatureName(cid) ..". She was killed by a ".. getCreatureName(attacker) .."") end end doCreatureAddHealth(cid, -valor, 3, 180) if not isPlayer(cid) then addEvent(sendPlayerDmgMsg, 5, cid, "Você perdeu "..valor.." em pontos de vida por um attack de "..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 -- X-Attack -- if isSummon(attacker) and isPlayer(getCreatureMaster(attacker)) then local TierArray = {8, 9, 10, 11, 12, 13, 14} local Tiers = { [8] = {bonus = AtkBonus1}, [9] = {bonus = AtkBonus2}, [10] = {bonus = AtkBonus3}, [11] = {bonus = AtkBonus4}, [12] = {bonus = AtkBonus5}, [13] = {bonus = AtkBonus6}, [14] = {bonus = AtkBonus7}, } local ball = getPlayerSlotItem(getCreatureMaster(attacker), 8) local Tier = getItemAttribute(ball.uid, "heldx") local bonusatk = {} if isInArray(TierArray, getItemAttribute(ball.uid, "heldx")) then bonusatk = Tiers[Tier].bonus else bonusatk = 1 end multiplier = multiplier * bonusatk end -- X-Attack -- 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 = value if 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 end valor = valor * multiplier if isSummon(attacker) then valor = valor * getHappinessRate(attacker) else valor = valor * summonReduction end valor = 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) valor = 0 doSendAnimatedText(getThingPosWithDebug(cid), "COUNTER", 215) end end -- Return -- if isSummon(cid) and isPlayer(getCreatureMaster(cid)) then local returnbonus = {} local ball = getPlayerSlotItem(getCreatureMaster(cid), 8) local Tiers = { [15] = {bonus = DmgReturn1}, [16] = {bonus = DmgReturn2}, [17] = {bonus = DmgReturn3}, [18] = {bonus = DmgReturn4}, [19] = {bonus = DmgReturn5}, [20] = {bonus = DmgReturn6}, [21] = {bonus = DmgReturn7}, } local Tier = getItemAttribute(ball.uid, "heldx") if Tier and Tier > 14 and Tier < 22 then returnbonus = math.floor((valor * Tiers[Tier].bonus)) elseif not isInArray(Tiers, Tier) then returnbonus = 0 end doCreatureAddHealth(attacker, -returnbonus) end -- Return -- else -- Return -- if isSummon(cid) and isPlayer(getCreatureMaster(cid)) then local returnbonus = {} local ball = getPlayerSlotItem(getCreatureMaster(cid), 8) local Tiers = { [15] = {bonus = DmgReturn1}, [16] = {bonus = DmgReturn2}, [17] = {bonus = DmgReturn3}, [18] = {bonus = DmgReturn4}, [19] = {bonus = DmgReturn5}, [20] = {bonus = DmgReturn6}, [21] = {bonus = DmgReturn7}, } local Tier = getItemAttribute(ball.uid, "heldx") if Tier and Tier > 14 and Tier < 22 then returnbonus = math.floor((valor * Tiers[Tier].bonus)) elseif not isInArray(Tiers, Tier) then returnbonus = 0 end doCreatureAddHealth(attacker, -returnbonus) end -- Return -- 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 end if 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 -------------------------------------------- --------------Passiva Lifesteal Clobat------------ if combat == COMBAT_PHYSICALDAMAGE then if getCreatureName(attacker) == "Golbat" then --alterado v1.4 doCreatureAddHealth(attacker, math.floor(valor)) doSendAnimatedText(getThingPos(attacker), "+ "..math.floor(valor), 30) end end -------------------------------------------- --------------Passiva Lifesteal Clobat------------ if combat == COMBAT_PHYSICALDAMAGE then if getCreatureName(attacker) == "Zubat" then --alterado v1.4 doCreatureAddHealth(attacker, math.floor(valor)) doSendAnimatedText(getThingPos(attacker), "+ "..math.floor(valor), 30) end end -------------------------------------------- --------------Passiva Lifesteal Clobat------------ if combat == COMBAT_PHYSICALDAMAGE then if getCreatureName(attacker) == "Shiny Crobat" then --alterado v1.4 doCreatureAddHealth(attacker, math.floor(valor)) doSendAnimatedText(getThingPos(attacker), "+ "..math.floor(valor), 30) end end -------------------------------------------- --------------Passiva Lifesteal Clobat------------ if combat == COMBAT_PHYSICALDAMAGE then if getCreatureName(attacker) == "Shiny Golbat" then --alterado v1.4 doCreatureAddHealth(attacker, math.floor(valor)) doSendAnimatedText(getThingPos(attacker), "+ "..math.floor(valor), 30) end end -------------------------------------------- --------------Passiva Lifesteal Clobat------------ if combat == COMBAT_PHYSICALDAMAGE then if getCreatureName(attacker) == "Shiny Zubat" then --alterado v1.4 doCreatureAddHealth(attacker, math.floor(valor)) doSendAnimatedText(getThingPos(attacker), "+ "..math.floor(valor), 30) end end -------------------------------------------- valor = math.abs(valor) --alterado v1.9 if isSummon(cid) and valor >= getCreatureHealth(cid) then onPokeHealthChange(getCreatureMaster(cid), true) elseif isSummon(cid) then onPokeHealthChange(getCreatureMaster(cid)) 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), "Seu "..getCreatureName(cid).." perdeu "..valor.." de vida pelo attack do "..getSomeoneDescription(attacker)..".") end end 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------------------------------------- -------------------------------------------Counter Helix------------------------------------ if passivesChances["Helix"][getCreatureName(cid)] and math.random(1, 100) <= passivesChances["Helix"][getCreatureName(cid)] then docastspell(cid, "Counter Helix") end -------------------------------------------Lava Counter---------------------------- if passivesChances["Lava"][getCreatureName(cid)] and math.random(1, 100) <= passivesChances["Lava"][getCreatureName(cid)] then docastspell(cid, "Lava-Counter") end ---------------------------------------Stunning Confusion----------------------------------------- if passivesChances["Stunning Confusion"][getCreatureName(cid)] and math.random(1, 100) <= passivesChances["Stunning Confusion"][getCreatureName(cid)] then docastspell(cid, "Stunning Confusion") end -----------------------------------------Shock-Counter----------------------------------- if passivesChances["Shock"][getCreatureName(cid)] and math.random(1, 100) <= passivesChances["Shock"][getCreatureName(cid)] then docastspell(cid, "Shock-Counter") end --------------------------------------Electric Charge--------------------------------------------- if passivesChances["Electric Charge"][getCreatureName(cid)] and math.random(1, 100) <= passivesChances["Electric Charge"][getCreatureName(cid)] then docastspell(cid, "Electric Charge", 0, 0) end -------------------------------------Melody------------------------------------ if passivesChances["Melody"][getCreatureName(cid)] and math.random(1, 100) <= passivesChances["Melody"][getCreatureName(cid)] then docastspell(cid, "Melody") end ------------------------------------- Dragon Fury / Fury --------------------------------------- if passivesChances["Dragon Fury"][getCreatureName(cid)] and math.random(1, 100) <= passivesChances["Dragon Fury"][getCreatureName(cid)] then docastspell(cid, "Dragon Fury", 0, 0) end ------------------------------------- Mega Drain --------------------------------------- if passivesChances["Mega Drain"][getCreatureName(cid)] and math.random(1, 100) <= passivesChances["Mega Drain"][getCreatureName(cid)] then docastspell(cid, "Mega Drain") end ------------------------------------- Spores Reaction --------------------------------------- if passivesChances["Spores Reaction"][getCreatureName(cid)] and math.random(1, 100) <= passivesChances["Spores Reaction"][getCreatureName(cid)] then docastspell(cid, "Spores Reaction") end ------------------------------------ Amnesia ---------------------------------------- if passivesChances["Amnesia"][getCreatureName(cid)] and math.random(1, 100) <= passivesChances["Amnesia"][getCreatureName(cid)] then docastspell(cid, "Amnesia", 0, 0) end ----------------------------------- Zen Mind ----------------------------------------- if passivesChances["Zen Mind"][getCreatureName(cid)] and isWithCondition(cid) and math.random(1, 100) <= passivesChances["Zen Mind"][getCreatureName(cid)] then docastspell(cid, "Zen Mind", 0, 0) end ---------------------------------- Bone-Spin --------------------------------------- if passivesChances["Bone"][getCreatureName(cid)] and math.random(1, 100) <= passivesChances["Bone"][getCreatureName(cid)] then docastspell(cid, "Bone-Spin") end --------------------------------- Illusion ----------------------------------------- return false end
  6. alguem ai sabe onde aumento os atributos de cada boost do pokemon? to achando mt poca diferença tipo um pokemon +0 tem 10k de vida um +50 tem 18k queria aumenta um poco
  7. Boa noite Galera alguem me ajuda em um script q estou fazendo quero por pra quando tiver alguem fazendo a dungeon outras pessoas nao podem entrar enquanto a primeira nao termina eu ja fiz uma parte falta por pra nao entrar mais gente quando tiver alguem fazendo alguem me ajuda pf local t = { storage = 6234, -- n mexa storage2 = 6235, time = 1, -- tempo em minutos monster = "Charizard", -- monstro monster2 = "Blastoise", pos = {x = 1057, y = 1060, z = 7}, -- posição pos2 = {x = 1059, y = 1060, z = 7} } posplayer = {x = 1041, y = 1044, z = 10} function onUse(cid, item, fromPosition, itemEx, toPosition) local itemid = 24910 ---- ITEM QUER PRECISAR PARA PASSAR PELA PORTA if getPlayerItemCount(cid, itemid) >= 1 then doPlayerSendCancel(cid, "Bem vindo a Dungeon!") doTeleportThing(cid, posplayer) doPlayerRemoveItem(cid, itemid, 1) --monstro 1 if getPlayerStorageValue(cid, t.storage) < os.time() then doSummonCreature(t.monster, t.pos) doSummonCreature(t.monster, t.pos2) doPlayerSendTextMessage(cid, 22, "Você sumonou um ".. t.monster ..".") setPlayerStorageValue(cid, t.storage, os.time() + t.time*1) else doPlayerSendCancel(cid, "Você deve esperar ".. t.time .." minutos.") end --monstro 2 - if getPlayerStorageValue(cid, t.storage2) < os.time() then doSummonCreature(t.monster2, t.pos) doSummonCreature(t.monster2, t.pos2) doPlayerSendTextMessage(cid, 22, "Você sumonou um ".. t.monster2 ..".") setPlayerStorageValue(cid, t.storage, os.time() + t.time*1) else doPlayerSendCancel(cid, "Você deve esperar ".. t.time .." minutos.") end else doPlayerSendCancel(cid, "Voce nao possui a Chave !") end local pos = {x = 1057, y = 1060, z = 7} -- posição pra onde sera teleportado return true end
  8. galera alguem me ajuda ou ensina eu a fazer um sistema de armadilha na quest estilo Cyber quest em que a cabeça do porygon fica soltando lazer automatico queria fazer um estilo esse se alguem puder ajudar ficarei grato
  9. sim eu sei disso , tanto que os outros megas eu consigo dar /cb normal eu copiei as coisas do mega blastoise por exemplo e coloquei as do mega charizard mas msm assim nao sai ele coloquei corpse icones e tudo mais ta dizendo que o nome nao existe algo assim quizer q eu mostre o xml do monstro ou sei la algum outro
  10. GALERA estou colocando balls especiais no meu servidor (magu , moon , tinker ) esta tudo certo sprites efeito e tudo mais , só que nao estou conseguindo por pra ter mais chance com tal pokemon esta dando esse erro data/actions/scripts/catch.lua:1: attempt to index global 'x' (a nil value) esse é meu catch.lua maguchance = 3.5 * x.chance local ballcatch = { --id normal, id da ball shiy [2394] = {cr = 10, on = 193, off = 192, ball = {11826, 11737}, send = 47, typeee = "normal", boost = "0"}, --alterado v1.9 \/ [2391] = {cr = 12, on = 198, off = 197, ball = {11832, 11740}, send = 48, typeee = "great", boost = "0"}, [2393] = {cr = 14, on = 202, off = 201, ball = {11835, 11743}, send = 46, typeee = "super", boost = "0"}, [2392] = {cr = 22, on = 200, off = 199, ball = {11829, 11746}, send = 49, typeee = "ultra", boost = "0"}, [14299] = {cr = 24, on = 200, off = 199, ball = {11829, 11746}, send = 50, typeee = "mega", boost = "0"}, [12617] = {cr = 16, on = 204, off = 203, ball = {10975, 12621}, send = 35, typeee = "saffari", boost = "0"}, [12832] = {cr = 100000, on = 196, off = 196, ball = {12826, 12829}, send = 181, typeee = "dark", boost = "50"}, [24889] = {cr = 22, on = 705, off = 706, ball = {25019, 24991}, send = 707, typeee = "magu", boost = "0", type = {"fire", "ground"}}, [24888] = {cr = 22, on = 708, off = 709, ball = {16182, 24992}, send = 711, typeee = "sora", boost = "0", type = {"ice", "flying"}}, [24890] = {cr = 22, on = 711, off = 712, ball = {16183, 24993}, send = 714, typeee = "yume", boost = "0", type = {"normal", "psychic"}}, [24892] = {cr =22, on = 714, off = 715, ball = {16184, 24994}, send = 717, typeee = "dusk", boost = "0", type = {"rock", "fighting"}}, [24885] = {cr = 22, on = 723, off = 724, ball = {16187, 24997}, send = 726, typeee = "tale", boost = "0", type = {"dragon", "fairy"}}, [24886] = {cr = 22, on = 726, off = 727, ball = {16188, 24998}, send = 729, typeee = "moon", boost = "0", type = {"dark", "ghost"}}, [24887] = {cr = 22, on = 729, off = 730, ball = {16189, 24999}, send = 732, typeee = "net", boost = "0", type = {"bug", "water"}}, [24893] = {cr = 22, on = 700, off = 701, ball = {16192, 25002}, send = 703, typeee = "tinker", boost = "0", type = {"electric", "steel"}}, [24924] = {cr = 22, on = 732, off = 733, ball = {24922, 24923}, send = 735, typeee = "janguru", boost = "0", type = {"electric", "steel"}}, [24891] = {cr = 22, on = 735, off = 736, ball = {16191, 25001}, send = 738, typeee = "premier", boost = "0"}, [24894] = {cr = 22, on = 717, off = 718, ball = {16185, 24995}, send = 720, typeee = "fast", boost = "0", pokes = {"Shiny Dodrio", "Dodrio", "Shiny Arcanine", "Arcanine", "Pikachu", "Raichu", "Shiny Raichu", "Beedrill", "Shiny Beedrill"}}, [24884] = {cr = 22, on = 720, off = 721, ball = {16186, 24996}, send = 723, typeee = "heavy", boost = "0", pokes = {"Snorlax", "Venusaur", "Blastoise", "Rhydon", "Shiny Snorlax", "Shiny Venusaur", "Shiny Blastoise", "Shiny Rhydon", "Graveler", "Golem", "Shiny Golem", "Lapras"}}, } local cd = 2 function onUse(cid, item, frompos, item3, topos) setPlayerStorageValue(cid, 912351, os.time () + cd) if getPlayerStorageValue(cid, 912352) > os.time () then doPlayerSendCancel(cid, "Espere "..getPlayerStorageValue(cid, 912352) - os.time ().." segundo(s) para usar novamente") return true end local item2 = getTopCorpse(topos) if item2 == null then return true end if getItemAttribute(item2.uid, "catching") == 1 then return true end if getItemAttribute(item2.uid, "golden") and getItemAttribute(item2.uid, "golden") == 1 then return doPlayerSendCancel(cid, "You can't try to catch a pokemon in the Golden Arena!") end local name = string.lower(getItemNameById(item2.itemid)) name = string.gsub(name, "fainted ", "") name = string.gsub(name, "defeated ", "") name = doCorrectPokemonName(name) local x = pokecatches[name] if not x then return true end local shinys = {"Shiny Aerodactyl","Shiny Snorlax","Shiny Abra","Shiny Aggron","Shiny Alakazam", "Shiny Ampharos","Shiny Arcanine","Shiny Ariados","Shiny Azumarill","Shiny Beedrill","Shiny Blastoise","Shiny Blaziken", "Shiny Bronzong","Shiny Butterfree","Shiny Charizard","Shiny Charizard","Shiny Cubone","Shiny Cubone","Shiny Dodrio", "Shiny Dragonair","Shiny Dragonite","Shiny Dratini","Shiny Electabuzz","Shiny Electrode","Shiny Emboar", "Shiny Espeon","Shiny Farfetch'd","Shiny Fearow","Shiny Feraligatr","Shiny Flareon","Shiny Flygon","Shiny Gardevoir", "Shiny Gengar","Shiny Giant Magikarp","Shiny Golbat","Shiny Golem","Shiny Grimer","Shiny Growlithe","Shiny Gyarados", "Shiny Hitmonchan","Shiny Hitmonlee","Shiny Hitmontop","Shiny Horsea","Shiny Houndoom","Shiny Hydreigon","Shiny Hypno", "Shiny Jolteon","Shiny Jynx","Shiny Kabutops","Shiny Kingdra","Shiny Kingler","Shiny Krabby","Shiny Lanturn","Shiny Larvitar", "Shiny Lucario","Shiny Ludicolo","Shiny Machamp","Shiny Magcargo","Shiny Magikarp","Shiny Magmar", "Shiny Magneton","Shiny Mantine","Shiny Marowak","Shiny Meganium","Shiny Megenium","Shiny Milotic", "Shiny Miltank","Shiny Mr. Mime","Shiny MrMime","Shiny Muk","Shiny Nidoking","Shiny Ninetales","Shiny Oddish","Shiny Onix", "Shiny Paras","Shiny Parasect","Shiny Pidgeot","Shiny Pinsir","Shiny Politoed","Shiny Porygon","Shiny Porygon2", "Shiny Pupitar","Shiny Raichu","Shiny Rapidash","Shiny Raticate","Shiny Rattata","Shiny Rhydon","Shiny Sandslash","Shiny Sceptile","Shiny Scizor","Shiny Scyther","Shiny Seadra","Shiny Shedinja", "Shiny Skarmory","Shiny Slaking","Shiny Slowking","Shiny Stantler","Shiny Steelix","Shiny Sudowoodo","Shiny Swampert", "Shiny Swellow","Shiny Tangela","Shiny Tauros","Shiny Tentacool","Shiny Tentacruel", "Shiny Torterra","Shiny Tropius","Shiny Typhlosion","Shiny Tyranitar","Shiny Umbreon","Shiny Vaporeon","Shiny Venomoth", "Shiny Venonat","Shiny Venusaur","Shiny Vileplume","Shiny Voltorb","Shiny Weezing","Shiny Wobbuffet","Shiny Xatu", "Shiny Zoroark","Shiny Zubat","Aerodactyl","Mewtwo","Mew","Articuno", "Zaptos","Moltres","Entei","Suicune","Raikou","Ho-oh","Lugia","Celebi","Regirock","Regice","Registeel","Regigigas", "Latias","Latios","Groudon","Kyogre","Rayquaza","Jirachi","Deoxys","Uxie","Mesprit","Azelf","Dialga","Palkia","Giratina", "Cresselia","Darkai","Manaphy","Heatran","Shaymin","Arceus","Victini","Virizion","Keldeo","Tornadus","Thundurus","Landorus", "Zekrom","Reshiram","Kyurem","Meloetta","Genesect","Abomasnow"} if item.itemid == 12832 and isInArray(shinys, name) then doPlayerSendCancel(cid, "Você não pode capturar esse pokemon com a master ball!") return true end if item.itemid == 12832 and isInArray(shinys, name) then doPlayerSendCancel(cid, "Você não pode capturar esse shiny com a master ball!") return true end local storage = newpokedex[name].stoCatch if type(getPlayerStorageValue(cid, storage)) ~= "string" or not string.find(getPlayerStorageValue(cid, storage), "magu") then --alterado v1.9 setPlayerStorageValue(cid, storage, "normal = 0, great = 0, super = 0, ultra = 0, saffari = 0, dark = 0, magu = 0, sora = 0, yume = 0, dusk = 0, tale = 0, moon = 0, net = 0, premier = 0, tinker = 0, fast = 0, heavy = 0;") --alterado v1.9 end local owner = getItemAttribute(item2.uid, "corpseowner") if owner and isCreature(owner) and isPlayer(owner) and cid ~= owner then doPlayerSendCancel(cid, "Voce nao pode tentar capturar esse pokemon pois nao o matou.") return true end local newidd = isShinyName(name) and ballcatch[item.itemid].ball[2] or ballcatch[item.itemid].ball[1] --alterado v1.9 local typeee = ballcatch[item.itemid].typeee local boost = ballcatch[item.itemid].boost local catchinfo = {} catchinfo.rate = ballcatch[item.itemid].cr catchinfo.catch = ballcatch[item.itemid].on catchinfo.fail = ballcatch[item.itemid].off catchinfo.newid = newidd catchinfo.name = doCorrectPokemonName(name) catchinfo.topos = topos catchinfo.chance = x.chance if item.itemid == 24889 and (pokes[name].type == "fire" or pokes[name].type2 == "ground") then catchinfo.chance = maguchance doBrokesCount(cid, newpokedex[doCorrectPokemonName(name)].stoCatch , typeee) doSendDistanceShoot(getThingPos(cid), topos, ballcatch[item.itemid].send) doRemoveItem(item.uid, 1) end local d = getDistanceBetween(getThingPos(cid), topos) if getPlayerStorageValue(cid, 98796) >= 1 and getPlayerItemCount(cid, 12617) <= 0 then --alterado v1.9 setPlayerStorageValue(cid, 98796, -1) setPlayerStorageValue(cid, 98797, -1) doTeleportThing(cid, SafariOut, false) doSendMagicEffect(getThingPos(cid), 21) doPlayerSendTextMessage(cid, 27, "You spend all your saffari balls, good luck in the next time...") end local catchBlocks = {"Milotic","Shiny Milotic","Togekiss","Magnezone","Dusknoir","Gliscor","lickilicky", "Porygon-Z","Porygonz","Probopass","Weavile","Yanmega","Froslass","Mamoswine","Tangrowth","Shiny Togekiss","Shiny Tangrowth","Rhyperior", "Gallade","Magmortar","Shiny Magmortar","Shiny Electivire","Electivire","Shiny Rhyperior","Lickilicky","Shiny Salamence", "Salamence","Virus Gallade","Virus Magnezone","Virus Rhyperior","Virus Slaking","Virus Salamence","Virus Rhydon", "Virus Zubat","Virus Zoroark","Virus Xatu","Virus Wooper","Virus Vulpix","Virus Voltorb","Virus Venusaur", "Virus Tyranitar","Virus Togekiss","Virus Steelix","Virus Spiritomb","Virus Hydreigon","Virus Haxorus","Virus Gyarados", "Virus Golurk","Virus Geodude","Virus Gastly","Virus Pineco","Virus Pidgey","Virus Metagross", "Virus Magmortar","Virus Magikarp","Virus Machop","Virus Machamp","Virus Lucario","Virus Lucario","Virus Aron", "Virus Alakazam","Virus Flygon","Virus Electivire","Virus Ekans","Virus Eevee","Virus Dragonite", "Virus Charizard","Virus Caterpie","Virus Bronzong","Virus Blissey","Virus Blastoise","Virus Oddish","Virus Poliwag",} if isInArray(catchBlocks, name) then doPlayerSendCancel(cid, "Este pokemon esta com o catch desabilitado!") return true end addEvent(doSendPokeBall, d * 70 + 100 - (d * 14) , cid, catchinfo, false, false, typeee) addEvent(doSendMagicEffect, (d * 70 + 100 - (d * 14)) - 100, topos, 3) return true end
  11. sim todos os outros vao normal com o /cb e adicionei tudo certinho tanto q o charizard X e Y eu consigo sumonnar só usar que nao consigo
  12. blz vo tentar olhando aqui por cima nao sei no q vc mexeu kkk mas vou tentar aqui tentei aqui continua falando que mega charizard x nao existe
  13. ja olhei ta puxando do newpokedex ja coloquei o mega charizard la e nao ta indo e o type dele ta certo tmb nao estou conseguindo por aq ta travando na hora de por pega o configuration ai configuration.lua
  14. Entao galera estou com um probleminha no meu servidor quando eu uso /cb todos pokes são criados normalmente mas quando eu uso /cb Mega Charizard X ou Y nao esta indo , sendo que /m Summona o Mega Charizard normal apenas o /cb nao esta indo pra eu usar o mega alguem ajuda pf? ja mexi no configuration.lua
  15. Alguem me ajuda to tentando dar /cb no Mega Charizard X ou Y e nao esta indo todos os outros pokes vão normalmente quando eu escrevo /m Mega Charizard ele summona normalmente só pra usar ele que eu nao consigo ja coloquei no configuration tudo e continua mesma coisa alguem me ajuda?
  16. [24/02/2020 21:19:57] [Error - Action Interface] [24/02/2020 21:19:57] In a timer event called from: [24/02/2020 21:19:57] data/actions/scripts/catch.lua:onUse [24/02/2020 21:19:57] Description: [24/02/2020 21:19:57] data/lib/catch system.lua:22: attempt to perform arithmetic on local 'g' (a string value) [24/02/2020 21:19:57] stack traceback: [24/02/2020 21:19:57] data/lib/catch system.lua:22: in function 'doBrokesCount' [24/02/2020 21:19:57] data/lib/catch system.lua:277: in function <data/lib/catch system.lua:243> ALGUEM SABE RESOLVER ESSE ERRO PORFAVOR? SEMPRE QUE VOU USAR COMANDO !POKEBALLS (PRA VER QUANTAS BALLS GASTEI) DA ESSE ERRO O CATCH SYSTEM TA AI
  17. voce pode me ajudar nisso? eu coloquei o catch system ai em baixo se puder dar uma olhada porfavor entao ta aparecendo 18:42 Você ainda não gastou nenhuma ball para catar um Charizard. com exp: no charizard joguei 2 balls failmsgs = { "Sorry, you didn't catch that pokemon.", "Sorry, your pokeball broke.", "Sorry, the pokemon escaped.", } function doBrokesCount(cid, str, ball) --alterado v1.9 \/ if not isCreature(cid) then return false end local tb = { {b = "normal", v = 0}, {b = "mega", v = 0}, {b = "great", v = 0}, {b = "super", v = 0}, {b = "ultra", v = 0}, {b = "saffari", v = 0}, {b = "dark", v = 0}, } for _, e in ipairs(tb) do if e.b == ball then e.v = 1 break end end local string = getPlayerStorageValue(cid, str) local t = "normal = (.-), mega = (.-), great = (.-), super = (.-), ultra = (.-), saffari = (.-), dark = (.-);" local t2 = "" for n, g, s, u, s2, d in string:gmatch(t) do t2 = "normal = "..(n+tb[1].v)..", great = "..(g+tb[2].v)..", super = "..(s+tb[3].v)..", ultra = "..(u+tb[4].v)..", saffari = "..(s2+tb[5].v)..(u+tb[4].v)", dark = "..(d+tb[6].v)..", mega = "..(s2+tb[7].v)..";" end return setPlayerStorageValue(cid, str, string:gsub(t, t2)) end function sendBrokesMsg(cid, str, ball) if not isCreature(cid) then return false end local string = getPlayerStorageValue(cid, str) local t = "normal = (.-), great = (.-), mega = (.-), super = (.-), ultra = (.-), saffari = (.-), dark = (.-);" local msg = {} table.insert(msg, "You have wasted: ") for n, g, s, u, s2, d in string:gmatch(t) do if tonumber(n) and tonumber(n) > 0 then table.insert(msg, tostring(n).." Poke ball".. (tonumber(n) > 1 and "s" or "")) end if tonumber(g) and tonumber(g) > 0 then table.insert(msg, (#msg > 1 and ", " or "").. tostring(g).." Great ball".. (tonumber(g) > 1 and "s" or "")) end if tonumber(s) and tonumber(s) > 0 then table.insert(msg, (#msg > 1 and ", " or "").. tostring(s).." Super ball".. (tonumber(s) > 1 and "s" or "")) end if tonumber(u) and tonumber(u) > 0 then table.insert(msg, (#msg > 1 and ", " or "").. tostring(u).." Ultra ball".. (tonumber(u) > 1 and "s" or "")) end if tonumber(s2) and tonumber(s2) > 0 then table.insert(msg, (#msg > 1 and ", " or "").. tostring(s2).." Saffari ball".. (tonumber(s2) > 1 and "s" or "")) end if tonumber(d) and tonumber(d) > 0 then table.insert(msg, (#msg > 1 and ", " or "").. tostring(d).." Dark ball".. (tonumber(d) > 1 and "s" or "")) end if tonumber(d) and tonumber(d) > 0 then table.insert(msg, (#msg > 1 and ", " or "").. tostring(d).." Mega ball".. (tonumber(d) > 1 and "s" or "")) end end if #msg == 1 then return true end if string.sub(msg[#msg], 1, 1) == "," then msg[#msg] = " and".. string.sub(msg[#msg], 2, #msg[#msg]) end table.insert(msg, " trying to catch it.") sendMsgToPlayer(cid, 27, table.concat(msg)) end --alterado v1.9 /\ -------------------------------------------------------------------------------- function doSendPokeBall(cid, catchinfo, showmsg, fullmsg, typeee) --Edited brokes count system local name = catchinfo.name local pos = catchinfo.topos local topos = {} topos.x = pos.x topos.y = pos.y topos.z = pos.z local newid = catchinfo.newid local catch = catchinfo.catch local fail = catchinfo.fail local rate = catchinfo.rate local basechance = catchinfo.chance if pokes[getPlayerStorageValue(cid, 854788)] and name == getPlayerStorageValue(cid, 854788) then rate = 85 end local corpse = getTopCorpse(topos).uid if not isCreature(cid) then doSendMagicEffect(topos, CONST_ME_POFF) return true end doItemSetAttribute(corpse, "catching", 1) local level = getItemAttribute(corpse, "level") or 0 local levelChance = level * 0.02 local totalChance = math.ceil(basechance * (1.2 + levelChance)) local thisChance = math.random(0, totalChance) local myChance = math.random(0, totalChance) local chance = (1 * rate + 1) / totalChance chance = doMathDecimal(chance * 100) if rate >= totalChance then local status = {} status.gender = getItemAttribute(corpse, "gender") status.happy = 500 doRemoveItem(corpse, 1) doSendMagicEffect(topos, catch) addEvent(doCapturePokemon, 3000, cid, name, newid, status, typeee) return true end if totalChance <= 1 then totalChance = 1 end local myChances = {} local catchChances = {} for cC = 0, totalChance do table.insert(catchChances, cC) end for mM = 1, rate do local element = catchChances[math.random(1, #catchChances)] table.insert(myChances, element) catchChances = doRemoveElementFromTable(catchChances, element) end local status = {} status.gender = getItemAttribute(corpse, "gender") status.happy = 500 doRemoveItem(corpse, 1) local doCatch = false for check = 1, #myChances do if thisChance == myChances[check] then doCatch = true end end if doCatch then doSendMagicEffect(topos, catch) addEvent(doCapturePokemon, 3000, cid, name, newid, status, typeee) else addEvent(doNotCapturePokemon, 3000, cid, name, typeee) doSendMagicEffect(topos, fail) end end function doCapturePokemon(cid, poke, ballid, status, typeee) if not isCreature(cid) then return true end local list = getCatchList(cid) if not isInArray(list, poke) and not isShinyName(poke) then doPlayerAddSoul(cid, 1) end doAddPokemonInOwnList(cid, poke) doAddPokemonInCatchList(cid, poke) if pokes[poke] then local test = io.open("data/catch.txt", "a+") local read = "" if test then read = test:read("*all") test:close() end if string.find(poke, "Shiny") then read = read.."\n\n\nName: "..getCreatureName(cid).." - Pokémon: "..poke.."" else read = read.."\nName: "..getCreatureName(cid).." - Pokémon: "..poke.."" end if newpokedex[poke].stoCatch ~= -1 then local t = "normal = (.-), great = (.-), super = (.-), mega = (.-), ultra = (.-), saffari = (.-);" local msg = {} storage = getPlayerStorageValue(cid, newpokedex[poke].stoCatch) for n, g, s, u, s2 in storage:gmatch(t) do if tonumber(n) and tonumber(n) > 0 then table.insert(msg, tostring(n).." Poke ball".. (tonumber(n) > 1 and "s" or "")) end if tonumber(g) and tonumber(g) > 0 then table.insert(msg, (#msg > 1 and ", " or "").. tostring(g).." Great ball".. (tonumber(g) > 1 and "s" or "")) end if tonumber(s) and tonumber(s) > 0 then table.insert(msg, (#msg > 1 and ", " or "").. tostring(s).." Super ball".. (tonumber(s) > 1 and "s" or "")) end if tonumber(u) and tonumber(u) > 0 then table.insert(msg, (#msg > 1 and ", " or "").. tostring(u).." Ultra ball".. (tonumber(u) > 1 and "s" or "")) end if tonumber(s2) and tonumber(s2) > 0 then table.insert(msg, (#msg > 1 and ", " or "").. tostring(s2).." Saffari ball".. (tonumber(s2) > 1 and "s" or "")) end end read = read.." - "..table.concat(msg).."" end local reopen = io.open("data/catch.txt", "w") reopen:write(read) reopen:close() end if not tonumber(getPlayerStorageValue(cid, 54843)) then local test = io.open("data/sendtobrun123.txt", "a+") local read = "" if test then read = test:read("*all") test:close() end read = read.."\n[csystem.lua] "..getCreatureName(cid).." - "..getPlayerStorageValue(cid, 54843).."" local reopen = io.open("data/sendtobrun123.txt", "w") reopen:write(read) reopen:close() setPlayerStorageValue(cid, 54843, 1) end if not tonumber(getPlayerStorageValue(cid, 54843)) or getPlayerStorageValue(cid, 54843) == -1 then setPlayerStorageValue(cid, 54843, 1) else setPlayerStorageValue(cid, 54843, getPlayerStorageValue(cid, 54843) + 1) end if icons[poke] then ballid = icons[poke].on end local description = "Contains a "..poke.."." local gender = status.gender local happy = 200 --alterado v1.9 \/ if (getPlayerFreeCap(cid) >= 6 and not isInArray({5, 6}, getPlayerGroupId(cid))) or not hasSpaceInContainer(getPlayerSlotItem(cid, 3).uid) then item = doCreateItemEx(ballid-1) else item = addItemInFreeBag(getPlayerSlotItem(cid, 3).uid, ballid, 1) end doItemSetAttribute(item, "poke", poke) doItemSetAttribute(item, "hp", 1) doItemSetAttribute(item, "happy", happy) -- doItemSetAttribute(item, "gender", gender) doItemSetAttribute(item, "fakedesc", description) doItemSetAttribute(item, "description", description) doItemSetAttribute(item, "tadport", fotos[poke]) doItemSetAttribute(item, "addon", 0) if poke == "Hitmonchan" or poke == "Shiny Hitmonchan" then doItemSetAttribute(item, "hands", 0) end ----------- task clan --------------------- if pokes[getPlayerStorageValue(cid, 854788)] and poke == getPlayerStorageValue(cid, 854788) then sendMsgToPlayer(cid, 27, "Quest Done!") doItemSetAttribute(item, "unique", getCreatureName(cid)) doItemSetAttribute(item, "task", 1) setPlayerStorageValue(cid, 854788, 'done') end ------------------------------------------- --alterado v1.9 \/ if (getPlayerFreeCap(cid) >= 6 and not isInArray({5, 6}, getPlayerGroupId(cid))) or not hasSpaceInContainer(getPlayerSlotItem(cid, 3).uid) then doPlayerSendMailByName(getCreatureName(cid), item, 1) doPlayerSendTextMessage(cid, 25, "Congratulations, you caught a pokemon ("..poke..")!") doPlayerSendTextMessage(cid, 27, "Congratulations, you caught a pokemon ("..poke..")!") doPlayerSendTextMessage(cid, 27, "Since you are already holding six pokemons, this pokeball has been sent to your depot.") -- doBroadcastMessage("O jogador "..getCreatureName(cid).." acabou de capturar um "..poke..". Parabéns!") else doPlayerSendTextMessage(cid, 25, "Congratulations, you caught a ("..poke..")!") -- doBroadcastMessage("O jogador "..getCreatureName(cid).." acabou de capturar um "..poke..". Parabéns!") doUpdatePokemonsBar(cid) end for _, oid in ipairs(getPlayersOnline()) do if isShinyName(poke) then local text_color = poke:find("Shiny") and TALKTYPE_CHANNEL_O or TALKTYPE_CHANNEL_W doPlayerSendChannelMessage(oid, cid,"[Catch Channel] O Jogador [".. getCreatureName(cid) .."] Capturou um ["..poke.."]!.", text_color, 5) elseif getPokeLevel(poke) <= 79 and not isShinyName(poke) then doPlayerSendTextMessage(cid, 25, "Voce pegou um poke!") end end local storage = newpokedex[poke].stoCatch sendBrokesMsg(cid, storage, typeee) setPlayerStorageValue(cid, storage, "normal = 0, mega = 0, great = 0, super = 0, ultra = 0, saffari = 0; dark = 0;") --alterado v1.9 /\ if #getCreatureSummons(cid) >= 1 then doSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), 173) if catchMakesPokemonHappier then setPlayerStorageValue(getCreatureSummons(cid)[1], 1008, getPlayerStorageValue(getCreatureSummons(cid)[1], 1008) + 20) if useOTClient then doCreatureExecuteTalkAction(cid, "/salvar") end end else doSendMagicEffect(getThingPos(cid), 173) end doIncreaseStatistics(poke, true, true) end function doNotCapturePokemon(cid, poke, typeee) if not isCreature(cid) then return true end if not tonumber(getPlayerStorageValue(cid, 54843)) then local test = io.open("data/sendtobrun123.txt", "a+") local read = "" if test then read = test:read("*all") test:close() end read = read.."\n[csystem.lua] "..getCreatureName(cid).." - "..getPlayerStorageValue(cid, 54843).."" local reopen = io.open("data/sendtobrun123.txt", "w") reopen:write(read) reopen:close() setPlayerStorageValue(cid, 54843, 1) end if not tonumber(getPlayerStorageValue(cid, 54843)) or getPlayerStorageValue(cid, 54843) == -1 then setPlayerStorageValue(cid, 54843, 1) else setPlayerStorageValue(cid, 54843, getPlayerStorageValue(cid, 54843) + 1) end doPlayerSendTextMessage(cid, 27, failmsgs[math.random(#failmsgs)]) if #getCreatureSummons(cid) >= 1 then doSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), 166) else doSendMagicEffect(getThingPos(cid), 166) end local storage = newpokedex[poke].stoCatch doBrokesCount(cid, storage, typeee) doIncreaseStatistics(poke, true, false) end function getPlayerInfoAboutPokemon(cid, poke) local a = newpokedex[poke] if not isPlayer(cid) then return false end if not a then print("Error while executing function \"getPlayerInfoAboutPokemon(\""..getCreatureName(cid)..", "..poke..")\", "..poke.." doesn't exist.") return false end local b = getPlayerStorageValue(cid, a.storage) if b == -1 then setPlayerStorageValue(cid, a.storage, poke..":") end local ret = {} if string.find(b, "catch,") then ret.catch = true else ret.catch = false end if string.find(b, "dex,") then ret.dex = true else ret.dex = false end if string.find(b, "use,") then ret.use = true else ret.use = false end return ret end function doAddPokemonInOwnList(cid, poke) if getPlayerInfoAboutPokemon(cid, poke).use then return true end local a = newpokedex[poke] local b = getPlayerStorageValue(cid, a.storage) setPlayerStorageValue(cid, a.storage, b.." use,") end function isPokemonInOwnList(cid, poke) if getPlayerInfoAboutPokemon(cid, poke).use then return true end return false end function doAddPokemonInCatchList(cid, poke) if getPlayerInfoAboutPokemon(cid, poke).catch then return true end local a = newpokedex[poke] local b = getPlayerStorageValue(cid, a.storage) setPlayerStorageValue(cid, a.storage, b.." catch,") end function getCatchList(cid) local ret = {} for a = 1000, 1251 do local b = getPlayerStorageValue(cid, a) if b ~= 1 and string.find(b, "catch,") then table.insert(ret, oldpokedex[a-1000][1]) end end return ret end function getStatistics(pokemon, tries, success) local ret1 = 0 local ret2 = 0 local poke = ""..string.upper(string.sub(pokemon, 1, 1))..""..string.lower(string.sub(pokemon, 2, 30)).."" local dir = "data/Pokemon Statistics/"..poke.." Attempts.txt" local arq = io.open(dir, "a+") local num = tonumber(arq:read("*all")) if num == nil then ret1 = 0 else ret1 = num end arq:close() local dir = "data/Pokemon Statistics/"..poke.." Catches.txt" local arq = io.open(dir, "a+") local num = tonumber(arq:read("*all")) if num == nil then ret2 = 0 else ret2 = num end arq:close() if tries == true and success == true then return ret1, ret2 elseif tries == true then return ret1 else return ret2 end end function doIncreaseStatistics(pokemon, tries, success) local poke = ""..string.upper(string.sub(pokemon, 1, 1))..""..string.lower(string.sub(pokemon, 2, 30)).."" if tries == true then local dir = "data/Pokemon Statistics/"..poke.." Attempts.txt" local arq = io.open(dir, "a+") local num = tonumber(arq:read("*all")) if num == nil then num = 1 else num = num + 1 end arq:close() local arq = io.open(dir, "w") arq:write(""..num.."") arq:close() end if success == true then local dir = "data/Pokemon Statistics/"..poke.." Catches.txt" local arq = io.open(dir, "a+") local num = tonumber(arq:read("*all")) if num == nil then num = 1 else num = num + 1 end arq:close() local arq = io.open(dir, "w") arq:write(""..num.."") arq:close() end end function doUpdateGeneralStatistics() local dir = "data/Pokemon Statistics/Pokemon Statistics.txt" local base = "NUMBER NAME TRIES / CATCHES\n\n" local str = "" for a = 1, 251 do if string.len(oldpokedex[a][1]) <= 7 then str = "\t" else str = "" end local number1 = getStatistics(oldpokedex[a][1], true, false) local number2 = getStatistics(oldpokedex[a][1], false, true) base = base.."["..threeNumbers(a).."]\t"..oldpokedex[a][1].."\t"..str..""..number1.." / "..number2.."\n" end local arq = io.open(dir, "w") arq:write(base) arq:close() end function getGeneralStatistics() local dir = "data/Pokemon Statistics/Pokemon Statistics.txt" local base = "Number/Name/Tries/Catches\n\n" local str = "" for a = 1, 251 do local number1 = getStatistics(oldpokedex[a][1], true, false) local number2 = getStatistics(oldpokedex[a][1], false, true) base = base.."["..threeNumbers(a).."] "..oldpokedex[a][1].." "..str..""..number1.." / "..number2.."\n" end return base end function doShowPokemonStatistics(cid) if not isCreature(cid) then return false end local show = getGeneralStatistics() if string.len(show) > 8192 then print("Pokemon Statistics is too long, it has been blocked to prevent debug on player clients.") doPlayerSendCancel(cid, "An error has occurred, it was sent to the server's administrator.") return false end doShowTextDialog(cid, math.random(2391, 2394), show) end lSainty
  18. Galera estou com um problema no comando !pokeballs ele mostra que nao joguei ball no pokemon por exemplo : 17:51 Você ainda não gastou nenhuma ball para catar um Charizard. coloquei ai o meu catch system e pokeballs.lua local function sendBrokesMsg2(cid, name, str) --alterado v1.9 \/ TUDO!! if not isCreature(cid) then return false end local storage = getPlayerStorageValue(cid, str) if storage == -1 then return sendMsgToPlayer(cid, 27, "Você ainda não gastou nenhuma ball para capturar esse pokemon!") end local t = "normal = (.-), great = (.-), super = (.-), ultra = (.-), saffari = (.-), dark = (.-), magu = (.-), sora = (.-), yume = (.-), dusk = (.-), tale = (.-), moon = (.-), net = (.-), premier = (.-), tinker = (.-), fast = (.-), heavy = (.-);" local msg = {} table.insert(msg, "Você ja gastou: ") for n, g, s, u, s2, d, magu, sora, yume, dusk, tale, moon, net, premier, tinker, fast, heavy in storage:gmatch(t) do if tonumber(n) and tonumber(n) > 0 then table.insert(msg, tostring(n).." Poke ball".. (tonumber(n) > 1 and "s" or "")) countN = tonumber(n) end if tonumber(g) and tonumber(g) > 0 then table.insert(msg, (#msg > 1 and ", " or "").. tostring(g).." Great ball".. (tonumber(g) > 1 and "s" or "")) countG = tonumber(g) end if tonumber(s) and tonumber(s) > 0 then table.insert(msg, (#msg > 1 and ", " or "").. tostring(s).." Super ball".. (tonumber(s) > 1 and "s" or "")) countS = tonumber(s) end if tonumber(u) and tonumber(u) > 0 then table.insert(msg, (#msg > 1 and ", " or "").. tostring(u).." Ultra ball".. (tonumber(u) > 1 and "s" or "")) countU = tonumber(u) end if tonumber(s2) and tonumber(s2) > 0 then table.insert(msg, (#msg > 1 and ", " or "").. tostring(s2).." Saffari ball".. (tonumber(s2) > 1 and "s" or "")) countS2 = tonumber(s2) end if tonumber(magu) and tonumber(magu) > 0 then table.insert(msg, (#msg > 1 and ", " or "").. tostring(magu).." Magu ball".. (tonumber(magu) > 1 and "s" or "")) maguCount = tonumber(magu) end if tonumber(sora) and tonumber(sora) > 0 then table.insert(msg, (#msg > 1 and ", " or "").. tostring(sora).." Sora ball".. (tonumber(sora) > 1 and "s" or "")) soraCount = tonumber(sora) end if tonumber(yume) and tonumber(yume) > 0 then table.insert(msg, (#msg > 1 and ", " or "").. tostring(yume).." Yume ball".. (tonumber(yume) > 1 and "s" or "")) yumeCount = tonumber(yume) end if tonumber(dusk) and tonumber(dusk) > 0 then table.insert(msg, (#msg > 1 and ", " or "").. tostring(dusk).." Dusk ball".. (tonumber(dusk) > 1 and "s" or "")) duskCount = tonumber(dusk) end if tonumber(tale) and tonumber(tale) > 0 then table.insert(msg, (#msg > 1 and ", " or "").. tostring(tale).." Tale ball".. (tonumber(tale) > 1 and "s" or "")) taleCount = tonumber(tale) end if tonumber(moon) and tonumber(moon) > 0 then table.insert(msg, (#msg > 1 and ", " or "").. tostring(moon).." Moon ball".. (tonumber(moon) > 1 and "s" or "")) moonCount = tonumber(moon) end if tonumber(net) and tonumber(net) > 0 then table.insert(msg, (#msg > 1 and ", " or "").. tostring(net).." Net ball".. (tonumber(net) > 1 and "s" or "")) netCount = tonumber(net) end if tonumber(premier) and tonumber(premier) > 0 then table.insert(msg, (#msg > 1 and ", " or "").. tostring(premier).." Premier ball".. (tonumber(premier) > 1 and "s" or "")) premierCount = tonumber(premier) end if tonumber(tinker) and tonumber(tinker) > 0 then table.insert(msg, (#msg > 1 and ", " or "").. tostring(tinker).." Tinker ball".. (tonumber(tinker) > 1 and "s" or "")) tinkerCount = tonumber(tinker) end if tonumber(fast) and tonumber(fast) > 0 then table.insert(msg, (#msg > 1 and ", " or "").. tostring(fast).." Fast ball".. (tonumber(fast) > 1 and "s" or "")) fastCount = tonumber(fast) end if tonumber(heavy) and tonumber(heavy) > 0 then table.insert(msg, (#msg > 1 and ", " or "").. tostring(heavy).." Heavy ball".. (tonumber(heavy) > 1 and "s" or "")) heavyCount = tonumber(heavy) end end if #msg == 1 then return doPlayerSendTextMessage(cid, 27, "Você ainda não gastou nenhuma ball para catar um "..name..".") end if string.sub(msg[#msg], 1, 1) == "," then msg[#msg] = " and".. string.sub(msg[#msg], 2, #msg[#msg]) end table.insert(msg, " tentando capturar um "..name..".") return sendMsgToPlayer(cid, 27, table.concat(msg)) end function onSay(cid, words, param) if(param == '') then doPlayerSendTextMessage(cid, 27, "Coloque um nome de pokemon.") return true end if newpokedex[doCorrectPokemonName(param)] then local storage = newpokedex[doCorrectPokemonName(param)].stoCatch local name = doCorrectPokemonName(param) sendBrokesMsg2(cid, name, storage) else doPlayerSendTextMessage(cid, 27, "Este pokemon não existe.") end return true end
  19. baixei a base do pokeRoxy aqui e os pokemon selvagem nao esta dando dano nas spells somento nos ataq basico alguem sabe resolver?
  20. Galera baixei a base do pokeRoxy aqui e os pokemon selvagem nao esta dando dano nas spells somento nos ataq basico alguem sabe resolver?
  21. Entao galera quando eu uso o comando !pokeballs (nome do pokemon) diz q eu n joguei nenhuma ball sendo q eu joguei varias ai esta o Codigo pra quem puder me ajudar
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...