joshua8822
-
Total de itens
17 -
Registro em
-
Última visita
Posts postados por joshua8822
-
-
function onSay(cid, words, param) local clans = {"Volcanic", "Seavell", "Orebound", "Wingeon", "Malefic", "Gardestrike", "Psycraft", "Naturia", "Raibolt"} local t = string.explode(param, ",") if words == "!entrarclan" then if param == "" then return doPlayerSendCancel(cid, "Estão faltando os parâmetros!") end local clan = t[1] if getPlayerLevel(cid) < 80 then return doPlayerSendCancel(cid, "Você precisa ser level 80 para entrar em um clan.") end if not isInArray(clans, t[1]) then return doPlayerSendCancel(cid, ""..clan.." não é um clan válido.") end if getPlayerStorageValue(cid, 86228) >= 1 then return doPlayerSendCancel(cid, "Você já está em um clan.") end setPlayerClan(cid, clan) doPlayerSendTextMessage(cid, 19, "Agora você pertence ao Clan ["..clan.."], rank: 1") setPlayerClanRank(cid, 1) elseif words == "!rankclan" then if param == "" then return doPlayerSendTextMessage(cid, 19, "[Clan] Digita o Numero ex: !rankclan 1!") end local ta = { [2] = {level = 100}, [3] = {level = 125}, [4] = {level = 150}, [5] = {level = 200}, } local money = 2160 local qntt = 5 local levels = ta[(getPlayerStorageValue(cid, 862281) + 1) local lv = levels.level if getPlayerStorageValue(cid, 862281) >= tonumber(t[1]) then return doPlayerSendTextMessage(cid, 19, "[Clan] Você já passou desse rank.") end if tonumber(t[1]) >= tonumber((getPlayerStorageValue(cid, 862281)) + 2) then return doPlayerSendTextMessage(cid, 19, "[Clan] Você não pode fazer isso!") end if getPlayerStorageValue(cid, 86228) <= 1 then return doPlayerSendTextMessage(cid, 27, "[Clan] Você nao tem Clan!") end if getPlayerLevel(cid) < lv then return doPlayerSendTextMessage(cid, 19,"[Clan] Você não possui o level necessário.") end if getPlayerItemCount(cid, money) >= qntt then doPlayerRemoveItem(cid, money, qntt) else return doPlayerSendTextMessage(cid, 19,"[Clan] Você não Tem [5] Thousand Dollars Para Avançar de Rank!.") end setPlayerClanRank(cid, getPlayerStorageValue(cid, 862281) + 1) doPlayerSendTextMessage(cid, 27, "[Clan] Você avançou de rank! Rank atual: ["..getPlayerStorageValue(cid, 862281).."].") elseif words == "!trocarclan" then local item = 2160 --ID do item. local qnt = 1 --Quantidade do item. local to_go = t[1] if param == "" then return doPlayerSendCancel(cid, "Estão faltando os parâmetros!") end if not isInArray(clans, t[1]) then return doPlayerSendCancel(cid, ""..t[1].." não é um clan válido.") end if getPlayerStorageValue(cid, 86228) < 1 then return doPlayerSendCancel(cid, "Você não pertence a clan algum!") end if getPlayerItemCount(cid, item) >= qnt then doPlayerRemoveItem(cid, item, qnt) doPlayerSendTextMessage(cid, 27, "Você trocou de clan, pertencendo agora ao clan: "..t[1]..".") setPlayerClan(cid, to_go) setPlayerClanRank(cid, 1) else return doPlayerSendCancel(cid, "Você não tem o item necessário! ITEM: "..item.." QUANTIDADE: "..qnt..".") end end return true end
local levels = ta[(getPlayerStorageValue(cid, 862281) + 1)] - um ] de mais.
Teste, eu nao e testado.
-
data/creaturescripts/login.lua mostre.
-
Tem ONLINE o MysQL do Xampp?
-
ok vou pegar e ja atualizo esse port aqui.um momento
meu mods/firstitems
o ID do item: 2175
Quer sustituir algum item?
Ejemplo:
Remove X item and take a new item.
-
Dexe-me seu data/mods/firsitems.xml e dexe-me tbm seu id do item
-
Vai em configuration.lua (data/lib/configuration.lua)
e busque isto: (esta a o inicio)pokemonExpPerLevelRate =baseExpRate =generalExpRate =
Agora:pokemonExpPerLevelRate = 0 (Change)baseExpRate = 1 (Change)generalExpRate = 1 (Change) -
Em Unique Item ou OtItemEditor?
-
pokemon moves.lua (data/lib):
elseif spell == "Ion Deluge" then local config = { spell_area = selfArea2, --Área da spell (dano AOE + debuff). effect = xxx, --Efeito. debuff_time = xxx --Duração do debuff (em segundos). } local positions = getPosfromArea(config.spell_area) if #positions < 1 then return true end local function doSendDebuffEffect(cid, times) if not isCreature(cid) or times <= 0 then return true end doSendMagicEffect(getThingPos(cid), config.effect) addEvent(doSendDebuffEffect, 1000, cid, times - 1) end for i = 1, #positions do local pid = getTopCreature(positions[i]).uid if isCreature(pid) and canAttackOther(cid, pid) == "Can" then setPlayerStorageValue(pid, 2919, os.time() + config.debuff_time) doSendDebuffEffect(pid, config.debuff_time) end end doDanoWithProtect(cid, ELECTRICDAMAGE, getThingPos(cid), config.spell_area, min, max, config.effect)
exp2.0.lua (data/creaturescripts/scripts):Abaixo de:local damageCombat = combat
Coloque:if getPlayerStorageValue(attacker, 2919) > os.time() then damageCombat = ELECTRICDAMAGE end
No mesmo arquivo, abaixo de:if isSummon(attacker) and getPlayerStorageValue(getCreatureMaster(attacker), 86228) >= 1 then valor = valor*getClanPorcent(getCreatureMaster(attacker), combat, "atk") 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
Coloque:local Volt_Absorb = { passive_owners = {"Jolteon", "Shiny Jolteon", "Lanturn"}, --Pokémons com a passiva Volt Absorb. heal = { min_percent = xxx, --Porcentagem mínima do dano curada. max_percent = xxx, --Porcentagem máxima do dano curada. } } if isInArray(Volt_Absorb.passive_owners, getCreatureName(cid)) and damageCombat == ELECTRICDAMAGE then local amount = math.floor(valor * math.random(Volt_Absorb.min_percent, Volt_Absorb.max_percent) / 100) valor = 0 doSendAnimatedText(getThingPos(cid), "+"..amount, 65) doCreatureAddHealth(cid, amount) end
Obrigado
-
Replace: move1.lua
local msgs = {"use ", ""} function doAlertReady(cid, id, movename, n, cd) if not isCreature(cid) then return true end local myball = getPlayerSlotItem(cid, 8) if myball.itemid > 0 and getItemAttribute(myball.uid, cd) == "cd:"..id.."" then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, getPokeballName(myball.uid).." - "..movename.." (m"..n..") is ready!") return true end local p = getPokeballsInContainer(getPlayerSlotItem(cid, 3).uid) if not p or #p <= 0 then return true end for a = 1, #p do if getItemAttribute(p[a], cd) == "cd:"..id.."" then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, getPokeballName(p[a]).." - "..movename.." (m"..n..") is ready!") return true end end end function onSay(cid, words, param, channel) if param ~= "" then return true end if string.len(words) > 3 then return true end if #getCreatureSummons(cid) == 0 then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You need a pokemon to use moves.") return 0 end --alterado v1.5 local mypoke = getCreatureSummons(cid)[1] if getCreatureCondition(cid, CONDITION_EXHAUST) then return true end if getCreatureName(mypoke) == "Evolution" then return true end if getCreatureName(mypoke) == "Ditto" or getCreatureName(mypoke) == "Shiny Ditto" then name = getPlayerStorageValue(mypoke, 1010) --edited else name = getCreatureName(mypoke) end --local name = getCreatureName(mypoke) == "Ditto" and getPlayerStorageValue(mypoke, 1010) or getCreatureName(mypoke) local it = string.sub(words, 2, 3) local move = movestable[name].move1 if getPlayerStorageValue(mypoke, 212123) >= 1 then cdzin = "cm_move"..it.."" else cdzin = "move"..it.."" --alterado v1.5 end if it == "2" then move = movestable[name].move2 elseif it == "3" then move = movestable[name].move3 elseif it == "4" then move = movestable[name].move4 elseif it == "5" then move = movestable[name].move5 elseif it == "6" then move = movestable[name].move6 elseif it == "7" then move = movestable[name].move7 elseif it == "8" then move = movestable[name].move8 elseif it == "9" then move = movestable[name].move9 elseif it == "10" then move = movestable[name].move10 elseif it == "11" then move = movestable[name].move11 elseif it == "12" then move = movestable[name].move12 elseif it == "13" then move = movestable[name].move13 end if not move then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your pokemon doesn't recognize this move.") return true end if getPlayerLevel(cid) < move.level then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You need be atleast level "..move.level.." to use this move.") return true end if getCD(getPlayerSlotItem(cid, 8).uid, cdzin) > 0 and getCD(getPlayerSlotItem(cid, 8).uid, cdzin) < (move.cd + 2) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You have to wait "..getCD(getPlayerSlotItem(cid, 8).uid, cdzin).." seconds to use "..move.name.." again.") return true end if getTileInfo(getThingPos(mypoke)).protection then doPlayerSendCancel(cid, "Your pokemon cannot use moves while in protection zone.") return true end if getPlayerStorageValue(mypoke, 3894) >= 1 then return doPlayerSendCancel(cid, "You can't attack because you is with fear") --alterado v1.3 end if getPlayerStorageValue(mypoke, 98271) >= 1 then return doPlayerSendCancel(cid, "You can't attack because is sleeping") --alterado v1.5 end if getPlayerStorageValue(mypoke, 3895) >= 1 then return doPlayerSendCancel(cid, "You can't attack because is stuned") --alterado v1.5 end --alterado v1.6 if (move.name == "Team Slice" or move.name == "Team Claw") and #getCreatureSummons(cid) < 2 then doPlayerSendCancel(cid, "Your pokemon need be in a team for use this move!") return true end --alterado v1.7 \/\/\/ if isCreature(getCreatureTarget(cid)) and isInArray(specialabilities["evasion"], getCreatureName(getCreatureTarget(cid))) then local target = getCreatureTarget(cid) if math.random(1, 100) <= passivesChances["Evasion"][getCreatureName(target)] then if isCreature(getMasterTarget(target)) then --alterado v1.6 doSendMagicEffect(getThingPos(target), 211) doSendAnimatedText(getThingPos(target), "TOO BAD", 215) doTeleportThing(target, getClosestFreeTile(target, getThingPos(mypoke)), false) doSendMagicEffect(getThingPos(target), 211) doFaceCreature(target, getThingPos(mypoke)) return true --alterado v1.6 end end end if move.target == 1 then if not isCreature(getCreatureTarget(cid)) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You don\'t have any targets.") return 0 end if getCreatureCondition(getCreatureTarget(cid), CONDITION_INVISIBLE) then return 0 end if getCreatureHealth(getCreatureTarget(cid)) <= 0 then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your have already defeated your target.") return 0 end if not isCreature(getCreatureSummons(cid)[1]) then return true end if getDistanceBetween(getThingPos(getCreatureSummons(cid)[1]), getThingPos(getCreatureTarget(cid))) > move.dist then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Get closer to the target to use this move.") return 0 end if not isSightClear(getThingPos(getCreatureSummons(cid)[1]), getThingPos(getCreatureTarget(cid)), false) then return 0 end end local newid = 0 if isSleeping(mypoke) or isSilence(mypoke) then --alterado v1.5 doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Sorry you can't do that right now.") return 0 else newid = setCD(getPlayerSlotItem(cid, 8).uid, cdzin, move.cd) end doCreatureSay(cid, ""..getPokeName(mypoke)..", "..msgs[math.random(#msgs)]..""..move.name.."!", TALKTYPE_SAY) local summons = getCreatureSummons(cid) --alterado v1.6 addEvent(doAlertReady, move.cd * 1000, cid, newid, move.name, it, cdzin) for i = 2, #summons do if isCreature(summons[i]) and getPlayerStorageValue(cid, 637501) >= 1 then docastspell(summons[i], move.name) --alterado v1.6 end end docastspell(mypoke, move.name) doCreatureAddCondition(cid, playerexhaust) if useKpdoDlls then doUpdateCooldowns(cid) end return 0 end
-
Move1.lua
local msgs = {"use ", ""}
function doAlertReady(cid, id, movename, n, cd)
if not isCreature(cid) then return true end
local myball = getPlayerSlotItem(cid, 8)
if myball.itemid > 0 and getItemAttribute(myball.uid, cd) == "cd:"..id.."" then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, getPokeballName(myball.uid).." - "..movename.." (m"..n..") is ready!")
return true
end
local p = getPokeballsInContainer(getPlayerSlotItem(cid, 3).uid)
if not p or #p <= 0 then return true end
for a = 1, #p do
if getItemAttribute(p[a], cd) == "cd:"..id.."" then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, getPokeballName(p[a]).." - "..movename.." (m"..n..") is ready!")
return true
end
end
end
function onSay(cid, words, param, channel)
if param ~= "" then return true end
if string.len(words) > 3 then return true end
if #getCreatureSummons(cid) == 0 then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You need a pokemon to use moves.")
return 0
end
--alterado v1.5
local mypoke = getCreatureSummons(cid)[1]
if getCreatureCondition(cid, CONDITION_EXHAUST) then return true end
if getCreatureName(mypoke) == "Evolution" then return true end
if getCreatureName(mypoke) == "Ditto" or getCreatureName(mypoke) == "Shiny Ditto" then
name = getPlayerStorageValue(mypoke, 1010) --edited
else
name = getCreatureName(mypoke)
end
--local name = getCreatureName(mypoke) == "Ditto" and getPlayerStorageValue(mypoke, 1010) or getCreatureName(mypoke)
local it = string.sub(words, 2, 3)
local move = movestable[name].move1
if getPlayerStorageValue(mypoke, 212123) >= 1 then
cdzin = "cm_move"..it..""
else
cdzin = "move"..it.."" --alterado v1.5
end
if it == "2" then
move = movestable[name].move2
elseif it == "3" then
move = movestable[name].move3
elseif it == "4" then
move = movestable[name].move4
elseif it == "5" then
move = movestable[name].move5
elseif it == "6" then
move = movestable[name].move6
elseif it == "7" then
move = movestable[name].move7
elseif it == "8" then
move = movestable[name].move8
elseif it == "9" then
move = movestable[name].move9
elseif it == "10" then
move = movestable[name].move10
elseif it == "11" then
move = movestable[name].move11
elseif it == "12" then
move = movestable[name].move12
elseif it == "13" then
move = movestable[name].move13
end
if not move then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your pokemon doesn't recognize this move.")
return true
end
if getPlayerLevel(cid) < move.level then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You need be atleast level "..move.level.." to use this move.")
return true
end
if getCD(getPlayerSlotItem(cid, 8).uid, cdzin) > 0 and getCD(getPlayerSlotItem(cid, 8).uid, cdzin) < (move.cd + 2) then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You have to wait "..getCD(getPlayerSlotItem(cid, 8).uid, cdzin).." seconds to use "..move.name.." again.")
return true
end
if getTileInfo(getThingPos(mypoke)).protection then
doPlayerSendCancel(cid, "Your pokemon cannot use moves while in protection zone.")
return true
end
if getPlayerStorageValue(mypoke, 3894) >= 1 then
return doPlayerSendCancel(cid, "You can't attack because you is with fear") --alterado v1.3
end
--alterado v1.6
if (move.name == "Team Slice" or move.name == "Team Claw") and #getCreatureSummons(cid) < 2 then
doPlayerSendCancel(cid, "Your pokemon need be in a team for use this move!")
return true
end
--alterado v1.7 \/\/\/
if isCreature(getCreatureTarget(cid)) and isInArray(specialabilities["evasion"], getCreatureName(getCreatureTarget(cid))) then
local target = getCreatureTarget(cid)
if math.random(1, 100) <= passivesChances["Evasion"][getCreatureName(target)] then
if isCreature(getMasterTarget(target)) then --alterado v1.6
doSendMagicEffect(getThingPos(target), 211)
doSendAnimatedText(getThingPos(target), "TOO BAD", 215)
doTeleportThing(target, getClosestFreeTile(target, getThingPos(mypoke)), false)
doSendMagicEffect(getThingPos(target), 211)
doFaceCreature(target, getThingPos(mypoke))
return true --alterado v1.6
end
end
end
if move.target == 1 then
if not isCreature(getCreatureTarget(cid)) then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You don\'t have any targets.")
return 0
end
if getCreatureCondition(getCreatureTarget(cid), CONDITION_INVISIBLE) then
return 0
end
if getCreatureHealth(getCreatureTarget(cid)) <= 0 then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your have already defeated your target.")
return 0
end
if not isCreature(getCreatureSummons(cid)[1]) then
return true
end
if getDistanceBetween(getThingPos(getCreatureSummons(cid)[1]), getThingPos(getCreatureTarget(cid))) > move.dist then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Get closer to the target to use this move.")
return 0
end
if not isSightClear(getThingPos(getCreatureSummons(cid)[1]), getThingPos(getCreatureTarget(cid)), false) then
return 0
end
end
local newid = 0
if isSleeping(mypoke) or isSilence(mypoke) then --alterado v1.5
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Sorry you can't do that right now.")
return 0
else
newid = setCD(getPlayerSlotItem(cid, 8).uid, cdzin, move.cd)
end
doCreatureSay(cid, ""..getPokeName(mypoke)..", "..msgs[math.random(#msgs)]..""..move.name.."!", TALKTYPE_SAY)
local summons = getCreatureSummons(cid) --alterado v1.6
addEvent(doAlertReady, move.cd * 1000, cid, newid, move.name, it, cdzin)
for i = 2, #summons do
if isCreature(summons) and getPlayerStorageValue(cid, 637501) >= 1 then
docastspell(summons, move.name) --alterado v1.6
end
end
docastspell(mypoke, move.name)
doCreatureAddCondition(cid, playerexhaust)
if useKpdoDlls then
doUpdateCooldowns(cid)
end
return 0
end
¿Qual e seu newStatusSyst? data/lib/newStatusSyst.lua
Ou qual e seu base?
-
Base usada?
Diga-me se entendi corretamente a primeira spell: o pokémon causará um dano em área que aplicará um debuff onde todos os afetados terão os golpes convertidos para o tipo elétrico. É isso mesmo?
Sobre a passiva, o dano elétrico será anulado? A quantia curada é em porcentagem ou uma fórmula mesmo?
Base = PDA
1°
Sim aplicara debuff, e sera convertidos para tipo elétrico. Sim.
2°
Sim, o dano elétrico será anulado e um 5 - 15% heal.
@UP
-
local clansAtk = {
[1] = {
[FIREDAMAGE] = {
[1] = {atk = 1.17},
[2] = {atk = 1.22},
[3] = {atk = 1.27},
[4] = {atk = 1.32},
[5] = {atk = 1.37},
},
["null"] = {
},
},
[2] = {
[WATERDAMAGE] = {
[1] = {atk = 1.05},
[2] = {atk = 1.10},
[3] = {atk = 1.15},
[4] = {atk = 1.20},
[5] = {atk = 1.25},
},
[ICEDAMAGE] = {
[1] = {atk = 1.10},
[2] = {atk = 1.15},
[3] = {atk = 1.20},
[4] = {atk = 1.25},
[5] = {atk = 1.30},
},
},
[3] = {
[ROCKDAMAGE] = {
[1] = {atk = 1.05},
[2] = {atk = 1.10},
[3] = {atk = 1.15},
[4] = {atk = 1.20},
[5] = {atk = 1.25},
},
[GROUNDDAMAGE] = {
[1] = {atk = 1.05},
[2] = {atk = 1.10},
[3] = {atk = 1.15},
[4] = {atk = 1.20},
[5] = {atk = 1.25},
},
},
[4] = {
[FLYDAMAGE] = {
[1] = {atk = 1.15},
[2] = {atk = 1.20},
[3] = {atk = 1.25},
[4] = {atk = 1.30},
[5] = {atk = 1.35},
},
[DRAGONDAMAGE] = {
[1] = {atk = 1.10},
[2] = {atk = 1.15},
[3] = {atk = 1.20},
[4] = {atk = 1.25},
[5] = {atk = 1.30},
},
},
[5] = {
[GHOSTDAMAGE] = {
[1] = {atk = 1.05},
[2] = {atk = 1.10},
[3] = {atk = 1.15},
[4] = {atk = 1.20},
[5] = {atk = 1.25},
},
[POISONDAMAGE] = {
[1] = {atk = 1.08},
[2] = {atk = 1.13},
[3] = {atk = 1.18},
[4] = {atk = 1.23},
[5] = {atk = 1.28},
},
},
[6] = {
[FIGHTDAMAGE] = {
[1] = {atk = 1.05},
[2] = {atk = 1.10},
[3] = {atk = 1.15},
[4] = {atk = 1.20},
[5] = {atk = 1.25},
},
[NORMALDAMAGE] = {
[1] = {atk = 1.05},
[2] = {atk = 1.10},
[3] = {atk = 1.15},
[4] = {atk = 1.20},
[5] = {atk = 1.25},
},
},
[7] = {
[PSYCHICDAMAGE] = {
[1] = {atk = 1.10},
[2] = {atk = 1.15},
[3] = {atk = 1.20},
[4] = {atk = 1.25},
[5] = {atk = 1.30},
},
["null"] = {
},
},
[8] = {
[GRASSDAMAGE] = {
[1] = {atk = 1.05},
[2] = {atk = 1.10},
[3] = {atk = 1.15},
[4] = {atk = 1.20},
[5] = {atk = 1.25},
},
[BUGDAMAGE] = {
[1] = {atk = 1.05},
[2] = {atk = 1.10},
[3] = {atk = 1.15},
[4] = {atk = 1.20},
[5] = {atk = 1.25},
},
},
[9] = {
[ELECTRICDAMAGE] = {
[1] = {atk = 1.12},
[2] = {atk = 1.17},
[3] = {atk = 1.22},
[4] = {atk = 1.27},
[5] = {atk = 1.32},
},
["null"] = {
},
}
}
local clansDef = {
[1] = {
["fire"] = {
[1] = {def = 0.17},
[2] = {def = 0.22},
[3] = {def = 0.27},
[4] = {def = 0.32},
[5] = {def = 0.37},
},
["null"] = {
},
},
[2] = {
["water"] = {
[1] = {def = 0.05},
[2] = {def = 0.10},
[3] = {def = 0.15},
[4] = {def = 0.20},
[5] = {def = 0.25},
},
["ice"] = {
[1] = {def = 0.10},
[2] = {def = 0.15},
[3] = {def = 0.20},
[4] = {def = 0.25},
[5] = {def = 0.30},
},
},
[3] = {
["rock"] = {
[1] = {def = 0.05},
[2] = {def = 0.10},
[3] = {def = 0.15},
[4] = {def = 0.20},
[5] = {def = 0.25},
},
["ground"] = {
[1] = {def = 0.10},
[2] = {def = 0.15},
[3] = {def = 0.20},
[4] = {def = 0.25},
[5] = {def = 0.30},
},
},
[4] = {
["flying"] = {
[1] = {def = 0.15},
[2] = {def = 0.20},
[3] = {def = 0.25},
[4] = {def = 0.30},
[5] = {def = 0.35},
},
["dragon"] = {
[1] = {def = 0.10},
[2] = {def = 0.15},
[3] = {def = 0.20},
[4] = {def = 0.25},
[5] = {def = 0.30},
},
},
[5] = {
["ghost"] = {
[1] = {def = 0.05},
[2] = {def = 0.10},
[3] = {def = 0.15},
[4] = {def = 0.20},
[5] = {def = 0.25},
},
["poison"] = {
[1] = {def = 0.08},
[2] = {def = 0.13},
[3] = {def = 0.18},
[4] = {def = 0.23},
[5] = {def = 0.28},
},
},
[6] = {
["fighting"] = {
[1] = {def = 0.05},
[2] = {def = 0.10},
[3] = {def = 0.15},
[4] = {def = 0.20},
[5] = {def = 0.25},
},
["normal"] = {
[1] = {def = 0.05},
[2] = {def = 0.10},
[3] = {def = 0.15},
[4] = {def = 0.20},
[5] = {def = 0.25},
},
},
[7] = {
["psychic"] = {
[1] = {def = 0.10},
[2] = {def = 0.15},
[3] = {def = 0.20},
[4] = {def = 0.25},
[5] = {def = 0.30},
},
["null"] = {
},
},
[8] = {
["grass"] = {
[1] = {def = 0.05},
[2] = {def = 0.10},
[3] = {def = 0.15},
[4] = {def = 0.20},
[5] = {def = 0.25},
},
["bug"] = {
[1] = {def = 0.05},
[2] = {def = 0.10},
[3] = {def = 0.15},
[4] = {def = 0.20},
[5] = {def = 0.25},
},
},
[9] = {
["electric"] = {
[1] = {def = 0.12},
[2] = {def = 0.17},
[3] = {def = 0.22},
[4] = {def = 0.27},
[5] = {def = 0.32},
},
}
}
local clansName = {
--[num do clan] = {nome do clan, storage outfit normal, storage outfit rank5},
[1] = {'Volcanic', 181613, 181625},
[2] = {'Seavell', 181619, 181622},
[3] = {'Orebound', 181620, 181627},
[4] = {'Wingeon', 181616, 181626},
[5] = {'Malefic', 181615, 181624},
[6] = {'Gardestrike', 181614, 181628},
[7] = {'Psycraft', 181618, 181629},
[8] = {'Naturia', 181612, 181623},
[9] = {'Raibolt', 181617, 181621},
}
function getClanPorcent(master, combat, option, type, type2) --alterado v1.9 \/
if getPlayerClanNum(master) >= 1 then
local clanAtk = clansAtk[getPlayerClanNum(master)]
local clanDef = clansDef[getPlayerClanNum(master)]
if option == "atk" and clanAtk[combat] then
return clanAtk[combat][getPlayerClanRank(master)].atk
else
if option == "def" and clanDef[type] then
return clanDef[type][getPlayerClanRank(master)].def
elseif option == "def" and clanDef[type2] then
return clanDef[type2][getPlayerClanRank(master)].def
end
end
end
return option == "atk" and 1 or 0
end
function getPlayerClanName(cid)
if not isCreature(cid) then return 'No Clan!' end
return clansName[getPlayerClanNum(cid)] and clansName[getPlayerClanNum(cid)][1] or 'No Clan!'
end
function getPlayerClanNum(cid)
if not isCreature(cid) then return -1 end
return getPlayerStorageValue(cid, 86228)
end
function getPlayerClanRank(cid)
if not isCreature(cid) then return -1 end
return getPlayerStorageValue(cid, 862281)
end
function setPlayerClan(cid, clan)
if not isCreature(cid) or not clan then return false end
if removePlayerClan(cid) then --para evitar possiveis problemas!
if type(clan) == "number" and (clan >= 1 and clan <= 9) then
setPlayerStorageValue(cid, 86228, clan) --sto clan
setPlayerClanRank(cid, 1) --set rank 1
setPlayerStorageValue(cid, clansName[clan][2], 1) --sto roupa
return true
elseif type(clan) == "string" then
clan = string.lower(clan)
for e, f in pairs(clansName) do
local clan2 = string.lower(f[1])
if clan == clan2 then
setPlayerStorageValue(cid, 86228, e) --sto clan
setPlayerClanRank(cid, 1) --set rank 1
setPlayerStorageValue(cid, clansName[e][2], 1) --sto roupa
return true
end
end
end
end
return false
end
function setPlayerClanRank(cid, rank)
if not isCreature(cid) or not rank then return false end
if type(rank) == "number" and (rank >= 1 and rank <= 5) then
setPlayerStorageValue(cid, 862281, rank)
if rank == 5 then
setPlayerStorageValue(cid, clansName[getPlayerClanNum(cid)][3], 1)
end
return true
end
return false
end
function removePlayerClan(cid)
if not isCreature(cid) then return false end
if getPlayerStorageValue(cid, 854789) >= 1 then return false end --nao pode remover o clan se o player tiver fazendo missoes de rank!
setPlayerStorageValue(cid, 86228, -1) --sto do clan
setPlayerStorageValue(cid, 862281, -1) --sto do rank
setPlayerStorageValue(cid, 854789, -1) --sto da quest de rank
setPlayerStorageValue(cid, 854788, -1) --sto catch, quest de rank
setPlayerStorageValue(cid, 854787, -1) --sto task, quest de rank
for i = 181612, 181638 do
setPlayerStorageValue(cid, i, -1) --sto das roupas de clan
end
return true
end
function checkItensForTask(cid, itens)
local check = 0
local array = {}
local missing = {}
table.insert(missing, "Are missing: ")
local c = 0
for i = 1, #itens do
if getPlayerItemCount(cid, itens[1]) >= itens[2] then
check = check + 1
else
table.insert(array, {itens[1], (itens[2]-getPlayerItemCount(cid, itens[1]))})
end
end
if check == #itens then
for b = 1, #itens do
doPlayerRemoveItem(cid, itens[1], itens[2])
end
return 0
else
for a = 1, #array do
table.insert(missing, ((a == #array and c ~= 0) and " and " or a ~= 1 and ", " or "{")..(array[a][2]).." "..(getItemNameById(array[a][1])))
c = c+1
end
table.insert(missing, "} yet.")
return table.concat(missing)
end
end
function checkPokemonForTask(cid, poke)
local pbs = getPokeballsInContainer(getPlayerSlotItem(cid, 3).uid)
local slot = getPlayerSlotItem(cid, 8)
if slot.itemid > 0 and isPokeball(slot.itemid) then
if getItemAttribute(slot.uid, "poke") == poke and getItemAttribute(slot.uid, "task") and getItemAttribute(slot.uid, "task") >= 1 then
doRemoveItem(slot.uid, 1)
doTransformItem(getPlayerSlotItem(cid, CONST_SLOT_LEGS).uid, 2395)
return true
end
end
for i = 1, #pbs do
if getItemAttribute(pbs, "poke") == poke and getItemAttribute(pbs, "task") and getItemAttribute(pbs, "task") >= 1 then
doRemoveItem(pbs, 1)
return true
end
end
return false
end
-
elseif spell == "Compass Slash" then
local config = {
times = 5, --Vezes que o pokémon irá se teleportar.
appearEffect = 211, --Efeito que vai aparecer no pokémon ao aparecer.
effect = 223, --Efeito de corte de garras.
combat = STEELDAMAGE, --Elemento.
disappearInterval = 200, --Tempo para, depois de reaparecer, o pokémon desaparecer novamente. (em milésimos de segundo)
teleportInterval = 400 --Intervalo de tempo entre cada teleporte do pokémon. (em milésimos de segundo)
}
local pos = getPosfromArea(cid, spell_area)
local randomPosis = {}
for i = 1, config.times do
randomPosis[i] = pos[math.random(#pos)]
if not isWalkable(randomPosis[i]) or getTileInfo(randomPosis[i]).protection then
while not isWalkable(randomPosis[i]) do
randomPosis[i] = pos[math.random(#pos)]
end
end
end
local function doTeleport(cid, time)
if not isCreature(target) or time <= 0 then
doAppear(cid)
doCreatureSetNoMove(cid, false)
doRegainSpeed(cid)
end
local index = math.random(#randomPosis)
doTeleportThing(cid, randomPosis[index])
for i = index, #randomPosis do
randomPosis[i] = randomPosis[i + 1] or nil
end
doAppear(cid)
doSendMagicEffect(getThingPos(cid), config.appearEffect)
doDanoWithProtect(cid, config.combat, getThingPos(target), 0, -min, -max, config.effect)
addEvent(doDisapear, config.disappearInterval, cid)
addEvent(doTeleport, config.teleportInterval, cid, time - 1)
end
doDisapear(cid)
doCreatureSetNoMove(cid, true)
doChangeSpeed(cid, -getCreatureSpeed(cid))
addEvent(doTeleport, config.teleportInterval, cid, config.times)
Teste bem, eu não tenho verificado. -
Qual e seu talkactions/scripts/move1.lua ?
-
Deixa em status. Nao faze dano
-
Oi gente, hoje venho pedir que uma pessoa pode fazer e um ataque. (Se for muito difícil, eu poderia pagar)
1° Ion Deluge: Este ataque produz um tamanho de quadra de ataque; Confusion ou Psychic e deixado em um estado para atacar Pokemon. Que o Estado faz é que converte todos os ataques em tipo elétrico em x tempo.
2° Volt Absorb: Isso funciona passivo quando recebem um ataque elétrico e recupera vida depende da força do ataque.Obrigado, espero sua resposta.
Eles podem responder por mensagem privada ou aqui.
-
Quem Está Navegando 0 membros estão online
- Nenhum usuário registrado visualizando esta página.
[Encerrado] Mega evolution dando erro
em Tópicos Sem Resposta
Postado
tem photos?