Ir para conteúdo

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


lucashgas

Posts Recomendados

****EDIT!!!****

adicionada passivas de magmar, electabuzz, hitmonlee... e amanha faço a do hitmonchan...

se alguem ja pegou o script.. Por Favor, troquei denovo o arquivo exp.lua...

e depois posto os scripts de spells pra pokes selvagens...

 

ae pra galera q tava pedindo.. ae vai o sistema de atk passivo dos pokes... Scyther, Shiny Scyther, Scizor, Hitmontop, Pineco, Forretress... vai na pasta creaturescript/scripts/Exp.lua e substitua tudo q esta dentro por isso..

 

 

-- [outfit normal] = {out = outfit girando, efeitos}

local OutFit = {

[366] = {out = 496, cima = 128, direita = 129, esquerda = 130, baixo = 131}, --scyther

[912] = {out = 918, cima = 128, direita = 129, esquerda = 130, baixo = 131}, --Scizor

[1317] = {out = 849, cima = 128, direita = 129, esquerda = 130, baixo = 131}, --Shiny Scyther

[952] = {out = 1193, cima = 128, direita = 129, esquerda = 130, baixo = 131}, --Hitmontop

[909] = {out = 1194, cima = 128, direita = 129, esquerda = 130, baixo = 131}, --pineco

[910] = {out = 1192, cima = 128, direita = 129, esquerda = 130, baixo = 131}, --Forretress

}

 

--acima do efeito 255 n aparece -pelo menos aki- entao fica esse por enquanto... ;x

--efeito vermelho => {cima = 261, direita = 263, esquerda = 264, baixo = 262}

 

local combats = {

[PSYCHICDAMAGE] = {cor = COLOR_PSYCHIC},

[GRASSDAMAGE] = {cor = COLOR_GRASS},

[POISONEDDAMAGE] = {cor = COLOR_GRASS},

[MORTALGASDAMAGE] = {cor = COLOR_POISON},

[FIREDAMAGE] = {cor = COLOR_FIRE2},

[bURNEDDAMAGE] = {cor = COLOR_BURN},

[WATERDAMAGE] = {cor = COLOR_WATER},

[iCEDAMAGE] = {cor = COLOR_ICE},

[NORMALDAMAGE] = {cor = COLOR_NORMAL},

[GUILLOTINEDAMAGE] = {cor = COLOR_NORMAL},

[FLYDAMAGE] = {cor = COLOR_FLYING},

[GHOSTDAMAGE] = {cor = COLOR_GHOST},

[NIGHTMAREDAMAGE] = {cor = COLOR_GHOST},

[GROUNDDAMAGE] = {cor = COLOR_GROUND},

[ELECTRICDAMAGE] = {cor = COLOR_ELECTRIC},

[THUNDERWAVEDAMAGE] = {cor = COLOR_ELECTRIC},

[ROCKDAMAGE] = {cor = COLOR_ROCK},

[bUGDAMAGE] = {cor = COLOR_BUG},

[FIGHTDAMAGE] = {cor = COLOR_FIGHTING},

[sEISMICTOSSDAMAGE] = {cor = COLOR_FIGHTING},

[DRAGONDAMAGE] = {cor = COLOR_DRAGON},

[POISONDAMAGE] = {cor = COLOR_POISON},

[DARKDAMAGE] = {cor = COLOR_DARK},

[sTEELDAMAGE] = {cor = COLOR_STEEL},

}

 

local function doHeal(cid, amount)

doCreatureAddHealth(cid, amount)

doSendMagicEffect(getThingPos(cid), 12)

doSendAnimatedText(getThingPos(cid), "+"..amount.."", 65)

end

 

local function sendPlayerDmgMsg(cid, text)

if not isCreature(cid) then return true end

doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, text)

end

 

local spcevo = {

["Poliwhirl"] = {"Poliwrath", "Politoed"},

["Gloom"] = {"Bellossom", "Vileplume"},

["Tyrogue"] = {"Hitmonchan", "Hitmontop", "Hitmonlee"}}

 

local function doEvolveWild(cid)

if not isCreature(cid) or getCreatureHealth(cid) <= 0 then return true end

local name = getCreatureName(cid)

local evolution = "none"

if spcevo[name] then

evolution = spcevo[name][math.random(1, #spcevo[name])]

elseif poevo[name] then

evolution = poevo[name].evolution

end

local a = getPokemonStatus(name)

if not a or evolution == "none" then return true end

local pk = {}

local players = getSpectators(getThingPos(cid), 7, 7)

if players then

for pp = 1, #players do

local this = players[pp]

if isCreature(this) and isPlayer(this) and (getCreatureTarget(this) == cid or getDamageMapPercent(this, cid) > 0) then

doSendMagicEffect(getThingPos(this), 173)

local expstring = cid.."expEx"

pk[this] = getItemAttribute(getPlayerSlotItem(this, 8).uid, expstring)

doItemSetAttribute(getPlayerSlotItem(this, 8).uid, expstring, 0)

end

end

end

local level = getPokemonLevel(cid)

local pos = getThingPos(cid)

local gender = getCreatureSkull(cid)

local lifepercentage = 1 - ((getCreatureHealth(cid) * 1.3) / getCreatureMaxHealth(cid))

local lookdir = getCreatureLookDir(cid)

local status = {}

status.offense = getOffense(cid) + a.off * 8

status.defense = getDefense(cid) + a.def * 8

status.agi = getSpeed(cid) + a.agi * 8

status.spatk = getSpecialAttack(cid) + a.spatk * 8

status.vit = getVitality(cid) + a.vit * 4

doRemoveCreature(cid)

local evo = doCreateMonster(evolution, pos)

setWildPokemonLevel(evo, level, status)

doCreatureSetLookDir(evo, lookdir)

doCreatureSetSkullType(evo, gender)

doCreatureAddHealth(evo, -getCreatureMaxHealth(evo) * lifepercentage)

doSendMagicEffect(getThingPos(evo), 18)

for attacker, experience in pairs (pk) do

doWildAttackPlayer(evo, attacker)

local expstring = evo.."expEx"

local exp = experience or 0

doItemSetAttribute(getPlayerSlotItem(attacker, 8).uid, expstring, exp)

end

sendFinishEvolutionEffect(evo, true)

addEvent(sendFinishEvolutionEffect, 550, evo, true)

addEvent(sendFinishEvolutionEffect, 1050, evo)

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 = {MORTALGASDAMAGE, GROUNDDAMAGE, ELECTRICDAMAGE, ROCKDAMAGE, FLYDAMAGE, BUGDAMAGE, FIGHTINGDAMAGE, DRAGONDAMAGE, POISONDAMAGE, DARKDAMAGE, STEELDAMAGE, NIGHTMAREDAMAGE, GUILLOTINEDAMAGE, SEISMICTOSSDAMAGE}

local fixdmgs = {PSYCHICDAMAGE, COMBAT_PHYSICALDAMAGE, GRASSDAMAGE, FIREDAMAGE, WATERDAMAGE, ICEDAMAGE, NORMALDAMAGE, GHOSTDAMAGE}

local ignored = {NIGHTMAREDAMAGE, GUILLOTINEDAMAGE, MORTALGASDAMAGE, SEISMICTOSSDAMAGE, PSYCHOSHIFTDAMAGE, POISONEDDAMAGE, BURNEDDAMAGE}

local ignoremiss = {NIGHTMAREDAMAGE, MORTALGASDAMAGE, BURNEDDAMAGE, POISONEDDAMAGE}

local ignorecritical = {MORTALGASDAMAGE, BURNEDDAMAGE, POISONEDDAMAGE, NIGHTMAREDAMAGE}

local cannotkill = {MORTALGASDAMAGE, BURNEDDAMAGE, POISONEDDAMAGE, NIGHTMAREDAMAGE}

 

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

 

local damageCombat = combat

if damageCombat == THUNDERWAVEDAMAGE then

damageCombat = ELECTRICDAMAGE

elseif damageCombat == PSYCHOSHIFTDAMAGE then

damageCombat = PSYCHICDAMAGE

end

 

if getPlayerStorageValue(cid, 33) >= 1 then -- funcionamento do self destruction

if isCreature(attacker) then

return false

end

return true

end

 

if not isCreature(attacker) or cid == attacker then

if not isInArray(fixdamages, combat) and combats[combat] then

doSendAnimatedText(getThingPos(cid), value, combats[combat].cor)

end

return true

end

 

--------------------------------------------------

if combat == SLEEP_POWDERDAMAGE then

if not isSummon(cid) and not isSummon(attacker) and not isPlayer(attacker) then

return false

end

if isPlayer(cid) then

return false

end

if isNpcSummon(cid) and getCreatureTarget(cid) ~= attacker then

return false

end

if isSummon(cid) and isSummon(attacker) then

if not isInParty(getCreatureMaster(cid)) or not isInParty(getCreatureMaster(attacker)) then

return false

end

if not getPlayerParty(getCreatureMaster(cid)) == getPlayerParty(getCreatureMaster(attacker)) then

return false

end

end

doSleep(cid, value, true)

return false

end

--------------------------------------------------

if combat == HEALINGDAMAGE then

 

local healing = math.abs(value)

 

if not isSummon(cid) and not isSummon(attacker) and not isPlayer(attacker) then

doHeal(cid, healing)

return false

end

if isSummon(cid) and isSummon(attacker) then

if getPlayerStorageValue(getCreatureMaster(cid), 990) >= 1 then

return false

end

if not isInParty(getCreatureMaster(cid)) or not isInParty(getCreatureMaster(attacker)) then

doHeal(cid, healing)

return false

end

if not getPlayerParty(getCreatureMaster(cid)) == getPlayerParty(getCreatureMaster(attacker)) then

doHeal(cid, healing)

return false

end

end

return false

end

--------------------------------------------------

if combat == POISON_POWDERDAMAGE then

if not isSummon(cid) and not isSummon(attacker) and not isPlayer(attacker) then

return false

end

if isNpcSummon(cid) and getCreatureTarget(cid) ~= attacker then

return false

end

if isSummon(cid) and isSummon(attacker) then

if not isInParty(getCreatureMaster(cid)) or not isInParty(getCreatureMaster(attacker)) then

return false

end

if not getPlayerParty(getCreatureMaster(cid)) == getPlayerParty(getCreatureMaster(attacker)) then

return false

end

end

 

local master = attacker

if isSummon(attacker) then master = getCreatureMaster(attacker) end

 

addEvent(doAdvancedPoison, 2500, attacker, master, cid, getPlayerStorageValue(attacker, 919231), value, getPlayerStorageValue(cid, 3893))

 

return false

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, 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 then

 

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)

 

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 type == STATSCHANGE_HEALTHGAIN then

if cid == attacker then

return true

end

if not isSummon(cid) and isSummon(attacker) then

return false

end

if isSummon(cid) and isSummon(attacker) and getPlayerParty(getCreatureMaster(cid)) == getPlayerParty(getCreatureMaster(attacker)) then

return false

end

return true

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

--------------------------------------------------

--------------------------------------------------

 

local multiplier = 1

local miss = (getSpeed(cid) - getSpeed(attacker)) * 0.26

 

local poketype1 = pokes[getCreatureName(cid)].type

local poketype2 = pokes[getCreatureName(cid)].type2

 

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 * 2

end

if isInArray(effectiveness[damageCombat].super, poketype2) then

multiplier = multiplier * 2

end

if isInArray(effectiveness[damageCombat].weak, poketype1) then

multiplier = multiplier * 0.5

end

if isInArray(effectiveness[damageCombat].weak, poketype2) then

multiplier = multiplier * 0.5

end

if isInArray(effectiveness[damageCombat].non, poketype1) or isInArray(effectiveness[damageCombat].non, poketype2) then

multiplier = multiplier * 0

end

elseif combat == COMBAT_PHYSICALDAMAGE then

if isGhostPokemon(cid) and not isGhostPokemon(attacker) then

doSendMagicEffect(getThingPos(cid), 3)

return false

end

if getCreatureCondition(attacker, CONDITION_INVISIBLE) and not isGhostPokemon(attacker) then

if not isInArray({"Clefable", "Wigglytuff"}, getCreatureName(attacker)) then

return false

end

end

if miss > 0 and math.random(1, 100) <= miss and not isSleeping(cid) and not getCreatureCondition(cid, CONDITION_PARALYZE) then

doSendMagicEffect(getThingPos(cid), 211)

doSendAnimatedText(getThingPos(cid), "MISS", 215)

return false

end

end

--------------------------------------------------

local valor = value

 

if multiplier > 2 then

multiplier = 2

elseif multiplier == 0.25 then

multiplier = 0.5

end

 

--------------------------------------------------

 

 

local function resetMiss(cid)

if not isCreature(cid) then return true end

setPlayerStorageValue(cid, 88726, -1)

end

 

if getPlayerStorageValue(cid, 88726) ~= 1 and miss > 0 and math.random(1, 100) <= miss and damageCombat ~= COMBAT_PHYSICALDAMAGE and not isInArray(ignoremiss, combat) and not isSleeping(cid) and not getCreatureCondition(cid, CONDITION_PARALYZE) then

doSendMagicEffect(getThingPos(cid), 211)

doSendAnimatedText(getThingPos(cid), "MISS", 215)

doTeleportThing(cid, getClosestFreeTile(cid, getThingPos(cid)), false)

doSendMagicEffect(getThingPos(cid), 211)

doFaceCreature(cid, getThingPos(attacker))

setPlayerStorageValue(cid, 88726, 1)

addEvent(resetMiss, 2200, cid)

return false

end

 

if not isSummon(attacker) and not isSummon(cid) then

return false

end

 

if isSummon(cid) and isSummon(attacker) then

if not isInParty(getCreatureMaster(cid)) or not isInParty(getCreatureMaster(attacker)) then

return false

end

if not getPlayerParty(getCreatureMaster(cid)) == getPlayerParty(getCreatureMaster(attacker)) then

return false

end

end

 

if isSleeping(attacker) then

return false

end

 

local randomRange = math.random(83, 117) / 100

local block = 0

 

if combat == COMBAT_PHYSICALDAMAGE then

block = 1 - (getDefense(cid) / (getOffense(attacker) + getDefense(cid)))

if getPokemonGender(attacker) == SEX_MALE then

block = block + 0.2

end

if getPokemonGender(cid) == SEX_FEMALE then

block = block - 0.2

end

valor = getOffense(attacker) * block

else

block = 1 - (getSpecialDefense(cid) / (getSpecialAttack(attacker) + getSpecialDefense(cid)))

valor = valor * block * generalSpecialAttackReduction

if isSummon(cid) then

valor = valor * summonSpecialDamageReduction - getPokemonLevel(cid) / 2

end

end

 

valor = valor * multiplier

valor = valor * randomRange

 

if isSummon(attacker) then

valor = valor * getHappinessRate(attacker)

else

valor = valor * summonReduction

end

 

valor = math.floor(valor)

 

if combat == NIGHTMAREDAMAGE then

local div = 8

if isSummon(attacker) and not isSummon(cid) then

div = 4

end

valor = math.floor(getCreatureMaxHealth(cid)/div)

elseif combat == GUILLOTINEDAMAGE then

if isGhostPokemon(cid) then

doSendMagicEffect(getThingPos(cid), 3)

return false

end

local gDmg = 0.5

if isSummon(attacker) and not isSummon(cid) then

gDmg = 0.7

end

valor = getCreatureMaxHealth(cid) * gDmg

elseif combat == SEISMICTOSSDAMAGE then

valor = getPokemonLevel(attacker) * 10

elseif combat == BURNEDDAMAGE then

valor = value * getResistance(cid, FIREDAMAGE)

elseif combat == POISONEDDAMAGE then

valor = value * getResistance(cid, POISONDAMAGE)

end

 

if valor <= 0 then

doSendMagicEffect(getThingPos(cid), CONST_ME_POFF)

return false

end

 

if math.random(1, 100) == 4 and not isInArray(ignorecritical, combat) then

doSendAnimatedText(getThingPos(attacker), "CRITICAL", 215)

valor = valor * 2

end

 

if combat == PSYCHOSHIFTDAMAGE and isCreature(cid) then

 

if not isPlayer(cid) then

 

local pos = getThingPos(cid)

pos.x = pos.x + math.random(-4,4)

pos.y = pos.y + math.random(-4,4)

for a = 1, 6 do

if not canWalkOnPos(pos, true, true, true, true, false) or not isSightClear(getThingPos(cid), pos, false) then

pos = getThingPos(cid)

pos.x = pos.x + math.random(-4,4)

pos.y = pos.y + math.random(-4,4)

end

end

 

if not canWalkOnPos(pos, true, true, true, true, false) then

pos = getClosestFreeTile(cid, getThingPos(cid))

end

 

if not canWalkOnPos(pos, true, true, true, true, false) then

pos = getThingPos(cid)

end

 

doTeleportThing(cid, pos, false)

 

end

 

doSendMagicEffect(getThingPos(cid), math.random(12, 14))

end

 

if combat == THUNDERWAVEDAMAGE then

doCreatureAddCondition(cid, thunderwavecondition)

end

 

if valor >= getCreatureHealth(cid) then

if isInArray(cannotKill, combat) and isPlayer(cid) then

valor = getCreatureHealth(cid) - 1

else

valor = getCreatureHealth(cid)

end

end

 

--- REFLECT --------------------------------

if not isPlayer(cid) and getPlayerStorageValue(cid, 34) >= 1 and combat ~= COMBAT_PHYSICALDAMAGE then

doSendMagicEffect(getThingPos(cid), 135)

doSendAnimatedText(getThingPos(cid), "REFLECT", COLOR_GRASS)

setPlayerStorageValue(cid, 34, -1)

return false

end

--------------------------------------------

 

if hasMimicWall(cid) then

doSendMagicEffect(getThingPos(cid), 135)

local dmgText = ""..valor..""

local a = getPlayerStorageValue(cid, 878)

setPlayerStorageValue(cid, 878, a - valor)

local k = getPlayerStorageValue(cid, 878)

if k <= 0 then

local b = getTileItemById(getThingPos(cid), 11440)

if b.uid > 1 then doRemoveItem(b.uid, 1) end

local c = getTileItemById(getThingPos(cid), 11439)

if c.uid > 1 then doRemoveItem(c.uid, 1) end

dmgText = ""..a..""

doSendMagicEffect(getThingPos(cid), 3)

end

doSendAnimatedText(getThingPos(cid), dmgText, 215)

return false

end

 

if isSummon(attacker) and not isSummon(cid) and not isPlayer(cid) then

 

local expstring = cid.."expEx"

 

if getItemAttribute(getPlayerSlotItem(getCreatureMaster(attacker), 8).uid, expstring) == null then

doItemSetAttribute(getPlayerSlotItem(getCreatureMaster(attacker), 8).uid, expstring, 0)

end

 

local exp = valor / getCreatureMaxHealth(cid)

local ball = getPlayerSlotItem(getCreatureMaster(attacker), 8).uid

 

doItemSetAttribute(ball, expstring, getItemAttribute(ball, expstring) + exp)

if getItemAttribute(ball, expstring) > 1 then

doItemSetAttribute(ball, expstring, 1)

end

end

 

if isSummon(cid) and getCreatureHealth(cid) <= (getCreatureMaxHealth(cid)*0.08) and not exhaustion.get(getCreatureMaster(cid), 88726) then

exhaustion.set(getCreatureMaster(cid), 88726, 11)

doSendMagicEffect(getThingPos(cid), 178)

end

 

if isSummon(attacker) then

if combat == COMBAT_PHYSICALDAMAGE then

doTargetCombatHealth(getCreatureMaster(attacker), cid, PHYSICALDAMAGE, -valor, -valor, 255)

else

doTargetCombatHealth(getCreatureMaster(attacker), cid, damageCombat, -valor, -valor, 255)

end

 

if not isSummon(cid) and not isPlayer(cid) and math.random(1, wildEvolveChance) == math.random(1, wildEvolveChance) then

addEvent(doEvolveWild, math.random(1, 2500), cid)

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)

end

 

if isSummon(cid) then

addEvent(sendPlayerDmgMsg, 5, getCreatureMaster(cid), "Your "..getCreatureName(cid).." lost "..valor.." hitpoints due to an attack from "..getSomeoneDescription(attacker)..".")

end

 

end

 

local percent = 8 + math.ceil(valor / getCreatureMaxHealth(cid) * 100)

if getCreatureHealth(cid) == 0 or percent <= 0 then return false end

local runCond = false

 

if math.random(100) <= percent then

runCond = true

end

 

if runCond then

 

local condPos = getThingPos(cid)

local color = 215

local text = ""

local effect = 2

 

if damageCombat == FIREDAMAGE and not isBurning(cid) then

doAdvancedBurn(attacker, isPlayer(getCreatureMaster(attacker)) and getCreatureMaster(attacker) or 0, cid, getPokemonLevel(attacker) * 2, math.random(5, 12))

color = COLOR_FIRE2

text = "BURNING"

effect = 15

elseif damageCombat == POISONDAMAGE and not isPoisoned(cid) and randomCond == checkCond then

doAdvancedPoison(attacker, isPlayer(getCreatureMaster(attacker)) and getCreatureMaster(attacker) or 0, cid, getPokemonLevel(attacker) * 2, math.random(4, 20))

color = COLOR_GRASS

text = "POISONED"

effect = 8

end

 

doSendMagicEffect(getThingPos(cid), effect)

addEvent(doSendAnimatedText, 5, condPos, text, color)

end

----------------------------------------PASSIVAS-----------------------------------------

------------------------------"Counter Helix" - "Giro Ball"------------------------------

if isSummon(cid) then

if OutFit[getCreatureOutfit(cid).lookType] then

if math.random(1, 100) <= 10 then -- Porcentagem de chance pro poke usar a passiva... 10 = 10% +/-

 

if getPlayerStorageValue(cid, 32623) == 1 then --proteçao pra n usar a spell 2x seguidas...

return false

end

 

local outfitt = OutFit[getCreatureOutfit(cid).lookType]

local function doWingAttack(cid, a, damage, min, max)

local damagearea = {}

local effectpos = getThingPosWithDebug(cid)

local effect = 255

if a == 0 then

effect = outfitt.cima

effectpos.x = effectpos.x + 1

effectpos.y = effectpos.y - 1

damagearea = wingdn

elseif a == 1 then

effect = outfitt.direita

effectpos.x = effectpos.x + 2

effectpos.y = effectpos.y + 1

damagearea = wingde

elseif a == 2 then

effect = outfitt.baixo

effectpos.x = effectpos.x + 1

effectpos.y = effectpos.y + 2

damagearea = wingds

elseif a == 3 then

effect = outfitt.esquerda

effectpos.x = effectpos.x - 1

effectpos.y = effectpos.y + 1

damagearea = wingdw

end

doSendMagicEffect(effectpos, effect)

if damage then

if getCreatureOutfit(cid).lookType == (366 or 1317) then --scyther e shiny scyther

doAreaCombatHealth(cid, BUGDAMAGE, getThingPosWithDebug(cid), damagearea, -min, -max, CONST_ME_NONE)

elseif getCreatureOutfit(cid).lookType == 952 then --hitmontop

doAreaCombatHealth(cid, FIGHTINGDAMAGE, getThingPosWithDebug(cid), damagearea, -min, -max, CONST_ME_NONE)

else --resto

doAreaCombatHealth(cid, STEELDAMAGE, getThingPosWithDebug(cid), damagearea, -min, -max, CONST_ME_NONE)

end

end

end

 

local dire = getCreatureLookDir(cid)

local cpos = getThingPosWithDebug(cid)

local min = getWildPokemonLevel(cid)*15 --nao sei como funciona o sistema de dano...

local max = getWildPokemonLevel(cid)*20 --nao sei como funciona o sistema de dano...

 

setPlayerStorageValue(cid, 32623, 1) --proteçao

doSetCreatureOutfit(cid, {lookType = OutFit[getCreatureOutfit(cid).lookType].out}, -1)

 

local function doDance(cid, dir, damage, min, max)

if not isCreature(cid) then return true end

doCreatureSetLookDir(cid, dir)

doWingAttack(cid, dir, damage, min, max)

end

 

for times = 0, 2 do

for directions = 0, 3 do

addEvent(doDance, times * 300, cid, directions, true, min, max)

end

end

 

local function doChangeO(cid, dir, pos)

if not isCreature(cid) then return true end

setPlayerStorageValue(cid, 32623, 0) --proteçao

doRemoveCondition(cid, CONDITION_OUTFIT)

if getThingPosWithDebug(cid).x == pos.x and getThingPosWithDebug(cid).y == pos.y then

doCreatureSetLookDir(cid, dir)

end

end

 

addEvent(doChangeO, 2 * 300 + 10, cid, dire, cpos)

end

end

end

-------------------------------------------Passiva de fogo e trovao-------------------------------------

local Fire_Thunder = {"Magmar", "Shiny Magmar", "Electabuzz", "Shiny Electabuzz"}

 

--["Nome"] = {effeito, damage}

local eff = {

["Magmar"] = {15, FIREDAMAGE},

["Shiny Magmar"] = {15, FIREDAMAGE},

["Electabuzz"] = {207, ELECTRICDAMAGE},

["Shiny Electabuzz"] = {207, ELECTRICDAMAGE},

}

 

if isSummon(cid) then

if isInArray(Fire_Thunder, getCreatureName(cid)) then

if math.random(1, 100) <= 10 then -- Porcentagem de chance pro poke usar a passiva... 10 = 10% +/-

 

if getPlayerStorageValue(cid, 32623) == 1 then --proteçao pra n usar a spell 2x seguidas...

return false

end

 

local min = getWildPokemonLevel(cid)*15 --nao sei como funciona o sistema de dano...

local max = getWildPokemonLevel(cid)*20 --nao sei como funciona o sistema de dano...

 

local function sendFireEff(cid, dir, eff, damage)

if not isCreature(cid) then return true end

doAreaCombatHealth(cid, damage, getPosByDir(getThingPosWithDebug(cid), dir), 0, -min, -max, eff)

end

 

local function doSpinFire(cid)

if not isCreature(cid) then return true end

local t = {

[1] = SOUTHWEST,

[2] = SOUTH,

[3] = SOUTHEAST,

[4] = EAST,

[5] = NORTHEAST,

[6] = NORTH,

[7] = NORTHWEST,

[8] = WEST,

[9] = SOUTHWEST,

}

for a = 1, 17 do

if not t[a] then

addEvent(sendFireEff, a * 140, cid, t[a-8], eff[getCreatureName(cid)][1], eff[getCreatureName(cid)][2])

else

addEvent(sendFireEff, a * 140, cid, t[a], eff[getCreatureName(cid)][1], eff[getCreatureName(cid)][2])

end

end

setPlayerStorageValue(cid, 32623, 0) --proteçao

end

 

setPlayerStorageValue(cid, 32623, 1) --proteçao

doSpinFire(cid, false, cid)

end

end

end

---------------------------------------------passiva Hitmonlee----------------------------------

--[outfit] = outfit chutando,

local hitmonlees = {

[371] = 652, --hitmonlee

[1300] = 652, --shiny hitmonlee

[877] = 878, --elite hitmonlee PxG

}

 

--DETALHE: shiny hitmonlee n tem a sprite dele chutando.. pelo menos eu n achei..

--entao deixei a sprite do hitmonlee normal atacando...

 

if isSummon(cid) then

if getCreatureName(cid) == ("Hitmonlee" or "Shiny Hitmonlee") then

if getMasterTarget(cid) then

if math.random(1, 100) <= 25 then -- Porcentagem de chance pro poke usar a passiva... 10 = 10% +/-

 

if getPlayerStorageValue(cid, 32623) == 1 then --proteçao pra n usar a spell 2x seguidas...

return false

end

 

local function doChangeHitmon(cid)

if not isCreature(cid) then return true end

setPlayerStorageValue(cid, 32623, 0) --proteçao

doRemoveCondition(cid, CONDITION_OUTFIT)

end

 

local min = getWildPokemonLevel(cid)*15 --nao sei como funciona o sistema de dano...

local max = getWildPokemonLevel(cid)*20 --nao sei como funciona o sistema de dano...

 

 

setPlayerStorageValue(cid, 32623, 1) --proteçao

doSetCreatureOutfit(cid, {lookType = hitmonlees[getCreatureOutfit(cid).lookType]}, -1)

doAreaCombatHealth(cid, FIGHTINGDAMAGE, getThingPosWithDebug(getMasterTarget(cid)), 0, -min, -max, 255)

 

addEvent(doChangeHitmon, 700, cid)

end

end

end

end

 

return false

end

 

 

DETALHE: isso soh vai funcionar pra summons... pra pokes selvagens use o script postado anteriormente.. colocando em spells.. eu postei um igual esse pra spells na pagina 114... se quiserem deem uma olhada...

qlqr problema fle! mostrando o erro/problema e explicando oq vc estava fazendo quando deu o erro... vlws

Baum de mais vei... mais o Leee aqu nao ta tiradno dano no Passive so aqui isso ?

 

Isso é urgente!

Quando um player tá voando e começa usar o "ESC" ele pode atravessar oque quiser.

Não sei se isso funciona com o surf também.

semttuloibp.png

-------------------------

Aqui ta de boa isso vei testei agora =/

Link para o comentário
Compartilhar em outros sites

@Dudefully: Esse bug ae, eu acho que vc tem q botar PZ nas paredes... tenta e diz se fucionou!!

É botar ou retirar no meu antigo dash se eu colocase pz em qualquer wall não prescisava nem estar de fly so da um order ou ir "empurrando" o pokemon até lá

Irei verificar se isso ocorre aqui aguarde.

Se todos purem testar tbm.

 

Bom aqui está tudo normal cara não tem pz nas paredes mas não tentei colocar para testar.

 

Alguem ae pode me dizer como por o fly para premium

SÓ o FLY não o fly e ride.

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

não sei se perceberam mais page up e page down tem comandos !up e !down consequentimente a diagonal no teclado numerico usa os comandos pra arrumar isso eu fiz o seguinte

existia nas talkactions

 

<talkaction words="up" case-sensitive="no" event="script" value="flyup.lua"/>

<talkaction words="down" case-sensitive="no" event="script" value="flydown.lua"/>

 

alterei para

 

<talkaction words="!up" case-sensitive="no" event="script" value="flyup.lua"/>

<talkaction words="!down" case-sensitive="no" event="script" value="flydown.lua"/>

 

e o script ficou assim

 

flyup.lua

 

function onSay(cid, words, param)

 

if param ~= "" then

return false

end

 

if getPlayerStorageValue(cid, 17000) <= 0 then

return true

end

 

if getThingPos(cid).z == 0 then

doPlayerSendCancel(cid, "You can\'t go higher!")

return true

end

 

local pos = getThingPos(cid)

pos.z = pos.z-1

pos.stackpos = 0

 

 

if getTileThingByPos(pos).itemid >= 1 or getTileItemById(getThingPos(cid), 1386).itemid >= 1 then

doPlayerSendCancel(cid, "You can\'t fly through constructions.")

return true

end

 

doCombatAreaHealth(cid, 0, pos, 0, 0, 0, CONST_ME_NONE)

doCreateItem(11676, 1, pos)

doTeleportThing(cid, pos)

 

 

 

 

return true

end

 

 

flydown.lua

 

local lower = {'460', '11675', '11676'}

 

local houses = {'919', '1015', '1590', '1591', '1592', '1593', '1582', '1584', '1586', '1588', '5248', '5189'}

 

function onSay(cid, words, param)

 

if param ~= "" then

return false

end

 

if getPlayerStorageValue(cid, 17000) <= 0 then

return true

end

 

if getThingPos(cid).z == 7 then

doPlayerSendCancel(cid, "You can\'t go lower!")

return true

end

 

if getTileInfo(getThingPos(cid)).itemid == 11677 then

doPlayerSendCancel(cid, "Sorry, it's not possible to go lower.")

return true

end

 

if not isInArray(lower, getTileInfo(getThingPos(cid)).itemid) and getTileInfo(getThingPos(cid)).itemid >= 2 then

doPlayerSendCancel(cid, "You can\'t go lower.")

return true

end

 

local pos = getThingPos(cid)

pos.z = pos.z+1

pos.stackpos = 0

 

if getTileThingByPos(pos).itemid >= 1 then

 

if getTilePzInfo(pos) == true then

doPlayerSendCancel(cid, "You can\'t go down here.")

return true

end

 

if not canWalkOnPos(pos, true, true, false, false, true) then

doPlayerSendCancel(cid, "You can't go down here.")

return true

end

 

doTeleportThing(cid, pos)

 

else

doCombatAreaHealth(cid, 0, pos, 0, 0, 0, CONST_ME_NONE)

doCreateItem(11675, 1, pos)

doTeleportThing(cid, pos)

 

return true

end

return true

end

 

 

aqui resolveu sem nenhum problema

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

@SoulOroshie

tenta ir na pasta lib/order.lua e ache essa parte..

elseif skill == "fly" then

e coloque logo em baixo isso..

if not isPremium(cid) then
  doPlayerSendCancel(cid, "Only premium members are allowed to fly.")
return true
end

ficando assim..

elseif skill == "fly" then

if not isPremium(cid) then
doPlayerSendCancel(cid, "Only premium members are allowed to fly.")
return true
end

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

Funcionou sim obrigado REP+ Agora alguem ta tendo esse erro no console:

 

[01/02/2012 15:44:50] [Error - CreatureScript Interface]

[01/02/2012 15:44:50] data/creaturescripts/scripts/login.lua:onLogin

[01/02/2012 15:44:50] Description:

[01/02/2012 15:44:50] data/creaturescripts/scripts/login.lua:191: attempt to index field '?' (a nil value)

[01/02/2012 15:44:50] stack traceback:

[01/02/2012 15:44:50] data/creaturescripts/scripts/login.lua:191: in function <data/creaturescripts/scripts/login.lua:103>

[01/02/2012 15:44:50] Fraga has logged out.

Eu simplismente não sei oque é eu não mechi em nada no login

mas para quem puder ajudar ta ai:

 

 

local config = {

loginMessage = getConfigValue('loginMessage'),

useFragHandler = getBooleanFromString(getConfigValue('useFragHandler'))

}

 

local flys = {

["Moltres"] = {229, 2300}, -- moltres

["Articuno"] = {230, 2100}, -- artic

["Zapdos"] = {224, 2600}, -- zapdos

["Mew"] = {232, 2200}, -- 1000

["Mewtwo"] = {233, 2200},-- two

["Dragonite"] = {221, 1300},-- nite

["Pidgeot"] = {222, 900}, -- geot

["Fearow"] = {226, 800}, -- fearow

["Aerodactyl"] = {227, 1100}, -- aero

["Charizard"] = {216, 1000}, -- chari

["Porygon"] = {316, 600}, -- porygon

["Porygon2"] = {648, 890}, -- 2

["Skarmory"] = {649, 1000}, -- skarmory

["Crobat"] = {652, 1190}, -- crobat

}

 

 

local rides = {

["Tauros"] = {128, 580}, -- tauros

["Ninetales"] = {129, 800}, -- kyuubi

["Rapidash"] = {130, 800}, -- rapid

["Ponyta"] = {131, 410}, -- ponyta

["Rhyhorn"] = {132, 400}, -- rhyhorn

["Arcanine"] = {12, 900}, -- arcan

["Shiny Arcanine"] = {492, 1000}, -- shiny arca

["Shiny Venusaur"] = {494, 420}, -- shiny vneu

["Crystal Onix"] = {293, 480}, -- cristal onix

["Onix"] = {126, 450}, -- onix

["Venusaur"] = {134, 390}, -- venu

["Dodrio"] = {133, 750}, -- dodrio

["Doduo"] = {135, 420}, -- doduo

["Steelix"] = {646, 750}, -- steelix

["Meganium"] = {685, 720}, -- meganium

["Bayleef"] = {686, 555}, -- bayleef

["Stantler"] = {687, 595}, -- stantler

["Houndoom"] = {647, 820}, -- houndoom

["Piloswine"] = {689, 450}, -- piloswine

["Mareep"] = {688, 400}, -- marip

}

 

local surf = {

["Poliwag"] = {lookType=278, speed = 320},

["Poliwhirl"] = {lookType=137, speed = 480},

["Seaking"] = {lookType=269, speed = 520},

["Dewgong"] = {lookType=183, speed = 700},

["Blastoise"] = {lookType=184, speed = 850},

["Tentacruel"] = {lookType=185, speed = 750},

["Lapras"] = {lookType=186, speed = 960},

["Gyarados"] = {lookType=187, speed = 1050},

["Omastar"] = {lookType=188, speed = 680},

["Kabutops"] = {lookType=189, speed = 840},

["Poliwrath"] = {lookType=190, speed = 680},

["Vaporeon"] = {lookType=191, speed = 800},

["Staryu"] = {lookType=266, speed = 385},

["Starmie"] = {lookType=267, speed = 685},

["Goldeen"] = {lookType=268, speed = 355},

["Seadra"] = {lookType=270, speed = 655},

["Golduck"] = {lookType=271, speed = 760},

["Squirtle"] = {lookType=273, speed = 365},

["Wartortle"] = {lookType=275, speed = 605},

["Tentacool"] = {lookType=277, speed = 340},

["Snorlax"] = {lookType=300, speed = 500},

["Mantine"] = {lookType=636, speed = 820},

["Totodile"] = {lookType=637, speed = 360},

["Croconow"] = {lookType=638, speed = 590},

["Feraligatr"] = {lookType=645, speed = 900},

["Marill"] = {lookType=639, speed = 340},

["Azumarill"] = {lookType=642, speed = 680},

["Quagsire"] = {lookType=643, speed = 740},

["Kingdra"] = {lookType=644, speed = 1020},

["Octillery"] = {lookType=641, speed = 600},

["Wooper"] = {lookType=640, speed = 315},

["Wooper"] = {lookType=1010, speed = 750},

["Shiny Poliwag"] = {lookType=1010, speed = 320},

["Shiny Poliwhirl"] = {lookType=1011, speed = 480},

["Shiny Seaking"] = {lookType=1027, speed = 520},

["Shiny Dewgong"] = {lookType=1015, speed = 700},

["Shiny Blastoise"] = {lookType=1002, speed = 850},

["Shiny Tentacruel"] = {lookType=1014, speed = 750},

["Shiny Lapras"] = {lookType=1031, speed = 960},

["Shiny Gyarados"] = {lookType=1030, speed = 1050},

["Shiny Omastar"] = {lookType=1033, speed = 680},

["Shiny Kabutops"] = {lookType=1034, speed = 840},

["Shiny Poliwrath"] = {lookType=1012, speed = 680},

["Shiny Vaporeon"] = {lookType=1032, speed = 800},

["Shiny Staryu"] = {lookType=1028, speed = 385},

["Shiny Starmie"] = {lookType=1029, speed = 685},

["Shiny Goldeen"] = {lookType=1026, speed = 355},

["Shiny Seadra"] = {lookType=1025, speed = 655},

["Shiny Golduck"] = {lookType=1009, speed = 760},

["Shiny Squirtle"] = {lookType=1000, speed = 365},

["Shiny Wartortle"] = {lookType=1001, speed = 605},

["Shiny Tentacool"] = {lookType=1013, speed = 340},

["Shiny Snorlax"] = {lookType=1035, speed = 500},

}

 

function onLogin(cid)

registerCreatureEvent(cid, "PlayerAttack")

 

doPlayerSetLossPercent(cid, PLAYERLOSS_EXPERIENCE, 100)

doCreatureSetDropLoot(cid, false)

 

local accountManager = getPlayerAccountManager(cid)

 

if(accountManager == MANAGER_NONE) then

local lastLogin, str = getPlayerLastLoginSaved(cid), config.loginMessage

if(lastLogin > 0) then

doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, str)

str = "Your last visit was on " .. os.date("%a %b %d %X %Y", lastLogin) .. "."

else

str = str

end

 

doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, str)

 

elseif(accountManager == MANAGER_NAMELOCK) then

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, it appears that your character has been namelocked, what would you like as your new name?")

elseif(accountManager == MANAGER_ACCOUNT) then

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, type 'account' to manage your account and if you want to start over then type 'cancel'.")

else

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, type 'account' to create an account or type 'recover' to recover an account.")

end

 

if getCreatureName(cid) == "Account Manager" then

local outfit = {}

if accountManagerRandomPokemonOutfit then

outfit = {lookType = getPokemonXMLOutfit(oldpokedex[math.random(151)][1])}

else

outfit = accountManagerOutfit

end

 

doSetCreatureOutfit(cid, outfit, -1)

return true

end

 

if(not isPlayerGhost(cid)) then

doSendMagicEffect(getCreaturePosition(cid), CONST_ME_TELEPORT)

end

 

local outfit = {}

 

if getPlayerVocation(cid) == 0 then

doPlayerSetMaxCapacity(cid, 0)

doPlayerSetVocation(cid, 1)

setCreatureMaxMana(cid, 6)

doPlayerAddSoul(cid, -getPlayerSoul(cid))

setPlayerStorageValue(cid, 19898, 0)

if getCreatureOutfit(cid).lookType == 128 then

outfit = {lookType = 510, lookHead = math.random(0, 132), lookBody = math.random(0, 132), lookLegs = math.random(0, 132), lookFeet = math.random(0, 132)}

elseif getCreatureOutfit(cid).lookType == 136 then

outfit = {lookType = 511, lookHead = math.random(0, 132), lookBody = math.random(0, 132), lookLegs = math.random(0, 132), lookFeet = math.random(0, 132)}

end

doCreatureChangeOutfit(cid, outfit)

end

 

registerCreatureEvent(cid, "WatchTv")

registerCreatureEvent(cid, "StopWatchingTv")

registerCreatureEvent(cid, "WalkTv")

registerCreatureEvent(cid, "RecordTv")

--registerCreatureEvent(cid, "Death")

registerCreatureEvent(cid, "PlayerLogout")

registerCreatureEvent(cid, "WildAttack")

registerCreatureEvent(cid, "Idle")

registerCreatureEvent(cid, "PokemonIdle")

registerCreatureEvent(cid, "EffectOnAdvance")

registerCreatureEvent(cid, "GeneralConfiguration")

registerCreatureEvent(cid, "ReportBug")

registerCreatureEvent(cid, "LookSystem")

registerCreatureEvent(cid, "T1")

registerCreatureEvent(cid, "T2")

registerCreatureEvent(cid, "AuraBoost")

 

if getPlayerStorageValue(cid, 99284) == 1 then

setPlayerStorageValue(cid, 99284, -1)

end

 

doChangeSpeed(cid, -(getCreatureSpeed(cid)))

 

if getPlayerStorageValue(cid, 17000) >= 1 then -- fly

 

local item = getPlayerSlotItem(cid, 8)

local poke = getItemAttribute(item.uid, "poke")

doChangeSpeed(cid, getPlayerStorageValue(cid, 54844))

doRemoveCondition(cid, CONDITION_OUTFIT)

doSetCreatureOutfit(cid, {lookType = flys[poke][1] + 351}, -1)

 

local apos = getFlyingMarkedPos(cid)

apos.stackpos = 0

if getTileThingByPos(apos).itemid <= 2 then

doCombatAreaHealth(cid, FIREDAMAGE, getFlyingMarkedPos(cid), 0, 0, 0, CONST_ME_NONE)

doCreateItem(460, 1, getFlyingMarkedPos(cid))

end

 

doTeleportThing(cid, apos, false)

 

elseif getPlayerStorageValue(cid, 63215) >= 1 then -- surf

 

if not isInArray({4820, 4821, 4822, 4823, 4824, 4825}, getTileInfo(getThingPos(cid)).itemid) then

setPlayerStorageValue(cid, 63215, -1)

doChangeSpeed(cid, PlayerSpeed)

doRemoveCondition(cid, CONDITION_OUTFIT)

return true

end

 

local item = getPlayerSlotItem(cid, 8)

local poke = getItemAttribute(item.uid, "poke")

doSetCreatureOutfit(cid, {lookType = surf[poke].lookType + 351}, -1)

doChangeSpeed(cid, getPlayerStorageValue(cid, 54844))

 

elseif getPlayerStorageValue(cid, 17001) >= 1 then -- ride

 

local item = getPlayerSlotItem(cid, 8)

local poke = getItemAttribute(item.uid, "poke")

if rides[poke] then

doChangeSpeed(cid, getPlayerStorageValue(cid, 54844))

doRemoveCondition(cid, CONDITION_OUTFIT)

doSetCreatureOutfit(cid, {lookType = rides[poke][1] + 351}, -1)

else

setPlayerStorageValue(cid, 17001, -1)

doChangeSpeed(cid, PlayerSpeed)

end

 

elseif getPlayerGroupId(cid) >= 4 and getPlayerGroupId(cid) <= 7 then

doChangeSpeed(cid, 140*getPlayerGroupId(cid))

else

doChangeSpeed(cid, PlayerSpeed)

end

 

return true

end

 

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

@SoulOroshie

tenta ir na pasta lib/order.lua e ache essa parte..

elseif skill == "fly" then

e coloque logo em baixo isso..

if not isPremium(cid) then
  doPlayerSendCancel(cid, "Only premium members are allowed to fly.")
return true
end

ficando assim..

elseif skill == "fly" then

if not isPremium(cid) then
doPlayerSendCancel(cid, "Only premium members are allowed to fly.")
return true
end

Brow e o Surf caso eu queiro por esse mesmo esquema como faz?

Link para o comentário
Compartilhar em outros sites

AAAAAAAA tem alguem aewwwwwwwwwwww ajudaaaaaaaaaaaaaaaaaaaa

 

Aff niguem vai me ajuda mesmo né :(

blz dexa queto

!!

 

Amigo se ninguem te ajudo é por que não tem ainda \o até agora ninguem que eu vi desse 120 posts falou algo sobre fazer ou ter só esperar ou aprender scripting ou procurar pelo xtibia ou outros foruns

 

AAAAAAAA tem alguem aewwwwwwwwwwww ajudaaaaaaaaaaaaaaaaaaaa

 

Aff niguem vai me ajuda mesmo né :(

blz dexa queto

!!

 

Amigo se ninguem te ajudo é por que não tem ainda \o até agora ninguem que eu vi desse 120 posts falou algo sobre fazer ou ter só esperar ou aprender scripting ou procurar pelo xtibia ou outros foruns

 

@SoulOroshie

tenta ir na pasta lib/order.lua e ache essa parte..

elseif skill == "fly" then

e coloque logo em baixo isso..

if not isPremium(cid) then
  doPlayerSendCancel(cid, "Only premium members are allowed to fly.")
return true
end

ficando assim..

elseif skill == "fly" then

if not isPremium(cid) then
doPlayerSendCancel(cid, "Only premium members are allowed to fly.")
return true
end

Brow e o Surf caso eu queiro por esse mesmo esquema como faz?

Faz o seguinte vai em data/movements/ scripts e abre o surf.lua

procura : local premium

ve se esta

local premium = true

E se estiver olhe abaixo se esta desse jeito:

local premium = true
function onStepIn(cid, item, position, fromPosition)
if not isPlayer(cid) or getPlayerAccess(cid) >= 6 then
return true
end
if isPlayer(cid) and getCreatureOutfit(cid).lookType == 814 then return false end -- TV
if isPlayer(cid) and not isPremium(cid) and premium == true then
doTeleportThing(cid, fromPosition, false)
doPlayerSendCancel(cid, "Only premium members are allowed to surf.")
return true
end

Link para o comentário
Compartilhar em outros sites

Ae gente, sou novo aki no XTibia_smile.gif , Mais ja venho acompanhando o Forum a anos..Exclusivamente esse Topico ultimamente, Algumas Paginas e talz..

Queria saber se alguem pode me ajudar a colocar Barra de Cooldown no meu server, Pf. Estou desesperado...Soh falta isso pra eu terminar o meu server.

Me adc Msn: Leo_ospn1@hotmail.com

Link para o comentário
Compartilhar em outros sites

Sobre o Bug de Atravesssar parede

 

Tetei aqui colocar PZ dentro da casa e não deu certo :S

 

Vou tentar colocar o Botao ESC que provaca o bug como comando !up..assim se alguem tentar fazer isso ele ira descer :)

Link para o comentário
Compartilhar em outros sites

aew gente sobre o sistema bike criei uma sprite nova pro item de use para poder usa bike se alguem quizer

disponibilizo pra quem quizer de uma olhada ai

 

 

 

imagemkwv.png

 

 

 

lembrando aos moderadores isso nao e divulgação apenas ajudando no projeto

 

Jeffe000 rep pelo sistema

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

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