Ir para conteúdo

SmiX

Conde
  • Total de itens

    963
  • Registro em

  • Última visita

  • Dias Ganhos

    2

Tudo que SmiX postou

  1. @PostadorHunter Obrigado pela colaboração... Votação Dragon Fable Aneis ou Luvas e Braceletes?? 1 voto = Luvas 1 Voto = Aneis Colocamos Bows e Crossbows no Server?? 2 = sim 0 = não Montaria no Server?? 1 = sim 1 = não
  2. Gostei, é seu primeiro script?? Se quiser umas aulinhas entra em contato comigo.... Ia te dar REP+ pela motivação, mais já usei meu limite hoje...
  3. Eu fiz por onLogin(), mas pode colocar em varias outras funções se quiser... local config = { quantosAddonsPrecisa = 3, -- Aqui quantos addons o player precisa estar storage = 1512 -- Aqui a storage q vai ganhar } function onLogin(cid) if(getCreatureOutfit(cid).lookAddons == config.quantosAddonsPrecisa and not getPlayerStorageValue(cid, 2563) > 0)then setPlayerStorageValue(cid, config.storage, 1) setPlayerStorageValue(cid, 2563, 1) end return true end
  4. Votação Dragon Fable Aneis ou Luvas e Braceletes?? 1 voto = Luvas 0 Voto = Aneis Colocamos Bows e Crossbows no Server?? 1 = sim 0 = não Montaria no Server?? 1 = sim 0 = não @Topic peço que participem e nos ajudem a mover esté projeto...
  5. Gostei muito parabéns, você sabe fazer outfitss??? Se souber veja meu projeto estou precisando de pessoas que saibam spritear... REP+ pela outline
  6. Não está completa mais sim funcional: function onCastSpell(cid, var) if getCreatureTarget(cid) > 0 then demage = math.random(50, 150) doCreatureAddHealth(getCreatureTarget(cid), -demage) doSendAnimatedText(getThingPos(cid), ""..demage.."", 181) doTeleportThing(cid, getThingPos(getCreatureTarget(cid)), true) doSendMagicEffect(getThingPos(cid), 10) addEvent(doMoveCreature, 200, cid, NORTH) else doPlayerSendCancel(cid, "You need a target for this spell.") return TRUE end end
  7. @VictorFT Quer participar de uma equipe ?? Entre no meu tópico e veja se interessa você.. Aguardando contato por PM.
  8. SmiX

    Lista De Quests

    Já existe tutorial ensinando isso, segui esse link abaixo: Link
  9. Isso ai vai ser a entrada do Player, o piso do qual o player vai PISAR(obvio) e ativar o Movent...
  10. Explica como tu quer o sistema, nem todo mundo conhece esse ot...
  11. SmiX

    Quest Demon

    Se ele pedir eu faço um npc pra ele...
  12. SmiX

    Adicionar 4¤ Moeda.

    Tenta ai: local config = { id_da_moeda_nova = 6020, quantidade = 1 -- Aqui vc bota a quantidade q vai adiciona para o player quando der use em 100 crystal coins } function onUse(cid, item, fromPosition, itemEx, toPosition) if item.itemid == ITEM_GOLD_COIN and item.type == ITEMCOUNT_MAX then doChangeTypeItem(item.uid, item.type - item.type) doPlayerAddItem(cid, ITEM_PLATINUM_COIN, 1) doSendAnimatedText(fromPosition, "$$$", TEXTCOLOR_PLATINUMBLUE) elseif item.itemid == ITEM_PLATINUM_COIN and item.type == ITEMCOUNT_MAX then doChangeTypeItem(item.uid, item.type - item.type) doPlayerAddItem(cid, ITEM_CRYSTAL_COIN, 1) doSendAnimatedText(fromPosition, "$$$", TEXTCOLOR_TEAL) elseif item.itemid == ITEM_PLATINUM_COIN and item.type < ITEMCOUNT_MAX then doChangeTypeItem(item.uid, item.type - 1) doPlayerAddItem(cid, ITEM_GOLD_COIN, ITEMCOUNT_MAX) doSendAnimatedText(fromPosition, "$$$", TEXTCOLOR_YELLOW) elseif item.itemid == ITEM_CRYSTAL_COIN and item.type < ITEMCOUNT_MAX then doChangeTypeItem(item.uid, item.type - 1) doPlayerAddItem(cid, ITEM_PLATINUM_COIN, ITEMCOUNT_MAX) doSendAnimatedText(fromPosition, "$$$", TEXTCOLOR_PLATINUMBLUE) elseif item.itemid == ITEM_CRYSTAL_COIN and item.type == ITEMCOUNT_MAX then doPlayerAddItem(cid, config.id_da_moeda_nova, config.quantidade) doSendAnimatedText(fromPosition, "$$$", TEXTCOLOR_PLATINUMBLUE) doPlayerRemoveItem(item.uid, 100) else return FALSE end return TRUE end
  13. Tenta ai: -- feito por guuhtorres local nao = {'4820', '4821', '4822', '4823', '4824', '4825', '1395', '1389', '1391', '1393', '460'} local direction = {'4', '5', '6', '7'} -- ridefly local ridefly = {'Crystal Onix', 'Venusaur', 'Ninetales', 'Arcanine', 'Ponyta', 'Rapidash', 'Doduo', 'Dodrio', 'Onix', 'Rhyhorn', 'Tauros', 'Porygon', 'Aerodactyl', 'Dragonite', 'Charizard', 'Pidgeot', 'Fearow', 'Moltres', 'Zapdos', 'Articuno', 'Mew', 'Mewtwo', 'Crobat', 'Girafarig', 'Meganium', 'Porygon2', 'Stantler', 'Skarmory', 'Piloswine', 'Mareep', 'Houndor'} local ride = {'Crystal Onix', 'Venusaur', 'Ninetales', 'Arcanine', 'Ponyta', 'Rapidash', 'Doduo', 'Dodrio', 'Onix', 'Rhyhorn', 'Tauros', 'Girafarig', 'Meganium', 'Stantler', 'Piloswine', 'Mareep', 'Houndor'} local fly = {'Porygon', 'Aerodactyl', 'Dragonite', 'Charizard', 'Pidgeot', 'Fearow', 'Zapdos', 'Moltres', 'Articuno', 'Mew', 'Mewtwo', 'Crobat', 'Porygon2', 'Skarmory'} local flys = { [265] = {229, 2300, 350}, -- moltres [283] = {230, 2100, 350}, -- artic [199] = {224, 2600, 350}, -- zapdos [9] = {232, 2200, 525}, -- 1000 [34] = {233, 2200, 525},-- two [210] = {221, 1300, 410},-- nite [80] = {222, 900, 375}, -- geot [17] = {226, 800, 400}, -- fearow [10] = {227, 1100, 410}, -- aero [67] = {216, 1000, 410}, -- chari [97] = {316, 600, 440}, -- porygon [544] = {662, 900, 440}, -- crobat [593] = {679, 900, 440}, -- porygon2 [604] = {682, 900, 440}, -- skarmory } local rides = { [93] = {128, 780, 400}, -- tauros [114] = {129, 800, 375}, -- ninetales [220] = {130, 800, 395}, -- rapid [16] = {131, 410, 500}, -- ponyta [77] = {132, 400, 510}, -- rhyhorn [88] = {12, 900, 390}, -- arcan [493] = {492, 1000, 360}, -- shiny arca [496] = {494, 420, 420}, -- shiny venu [292] = {293, 480, 430}, -- cristal onix [248] = {126, 450, 450}, -- onix [22] = {134, 390, 450}, -- venu [120] = {133, 750, 380}, -- dodrio [26] = {135, 420, 500}, -- doduo [558] = {667, 1000, 360}, -- girafarig [581] = {674, 1000, 360}, -- meganium [613] = {684, 1000, 360}, -- stantler [590] = {677, 900, 440}, -- piloswine [579] = {672, 900, 440}, -- mareep [567] = {669, 900, 440}, -- houndor } local bolas = {'2222', '2223', '2224'} local ultra = {'2220', '2221', '2227'} local etudao = 9506 local mind = 9507 -- ROCK SMASH local rocksmash = {'Sandshrew', 'Sandslash', 'Diglett', 'Dugtrio', 'Primeape', 'Machop', 'Machoke', 'Machamp', 'Geodude', 'Graveler', 'Golem' , 'Onix', 'Cubone', 'Marowak', 'Rhyhorn', 'Rhydon', 'Kangaskhan', 'Tauros', 'Snorlax', 'Poliwrath'} local erockmash = 9502 local cdrocksmash = 2 -- ROCK SMASH -- DIG local digholes = {'468', '481', '483'} local dig = {'Raticate', 'Sandshrew', 'Sandslash', 'Diglett', 'Dugtrio', 'Primeape', 'Machop', 'Machoke', 'Machamp', 'Geodude', 'Graveler', 'Golem' , 'Onix', 'Cubone', 'Marowak', 'Rhyhorn', 'Rhydon', 'Kangaskhan', 'Tauros', 'Snorlax', 'Donphan'} local edig = 9504 local cddig = 2 -- DIG -- CUT local cut = {'Raticate', 'Bulbasaur', 'Ivysaur', 'Venusaur', 'Charmeleon', 'Sandshrew', 'Sandslash', 'Gloom', 'Vileplume', 'Paras', 'Parasect', 'Meowth', 'Persian', 'Bellsprout', 'Weepinbell', 'Victreebel', 'Farfetchd', 'Krabby', 'Kingler', 'Exeggutor', 'Cubone', 'Marowak', 'Tangela', 'Scyther', 'Pinsir'} local ecut = 9503 local cdcut = 2 -- CUT -- BLINK local blink = {'Abra', 'Kadabra', 'Alakazam', 'Porygon', 'Porygon2', 'Gallade', 'shiny abra'} local exhaustblink = 9501 local cdblink = 40 -- BLINK -- BLINK 2 local blink = {'Mew', 'Mewtwo', 'Abra', 'Kadabra', 'Alakazam', 'Porygon', 'Porygon2', 'Gallade', 'Shiny abra'} local exhaustblink = 9501 local cdblink = 10 -- BLINK 2 -- LIGHT local light = {'Abra', 'Kadabra', 'Alakazam','Mew', 'Magnemite', 'Magneton', 'Drowzee', 'Hypno', 'Voltorb', 'Electrode', 'Mrmime', 'Electabuzz', 'Jolteon', 'Porygon', 'Pikachu', 'Raichu', 'Elekid', 'Ampharos', 'Flaaffy'} local exhautStorage = 9500 local time = 600 local cd = 17 -- LIGHT function onUse(cid, item, frompos, item2, topos) if getPlayerItemCount(cid, item2.itemid) >= 1 then return false end if isMonster(item2.uid) and item2.uid ~= getCreatureSummons(cid)[1] and item2.uid ~= cid then if #getCreatureSummons(cid) == 0 then doPlayerSendCancel(cid, "Você precisa de um pokemon para usar ordem.") return true end if exhaustion.get(cid, mind) then doPlayerSendCancel(cid, "Seu pokemon é muito exausto do último controle,espere mais um tempo") return true end if isPlayer(getCreatureMaster(item2.uid)) then doPlayerSendCancel(cid, "Você não pode controlar a mente de pokemon de outra pessoa.") return true end if not isInArray({"Alakazam", "Tentacruel", "Gengar", "Haunter"}, getCreatureName(getCreatureSummons(cid)[1])) then doPlayerSendCancel(cid, "Este pokemon nao pode controlar mentes.") return true end exhaustion.set(cid, mind, 240) doCreatureSay(getCreatureSummons(cid)[1], "CONTROL MIND!", TALKTYPE_MONSTER) doSendDistanceShoot(getThingPos(getCreatureSummons(cid)[1]), getThingPos(item2.uid), 39) registerCreatureEvent(item2.uid, "Controled") doSendMagicEffect(getThingPos(item2.uid), 136) doSendMagicEffect(getThingPos(item2.uid), 134) doSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), 133) setPlayerStorageValue(cid, 61209, getCreatureMaxHealth(getCreatureSummons(cid)[1])) setPlayerStorageValue(cid, 61210, getCreatureHealth(getCreatureSummons(cid)[1])) doConvinceCreature(cid, item2.uid) if getCreatureSpeed(item2.uid) == 0 then doChangeSpeed(item2.uid, 180) end doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", control "..string.lower(getCreatureName(item2.uid)).."'s mind!", 1) local cmed = item2.uid local cmname = getCreatureName(getCreatureSummons(cid)[1]) local cmpos = getThingPos(getCreatureSummons(cid)[1]) doRemoveCreature(getCreatureSummons(cid)[1]) local cmzao = doSummonCreature(""..cmname.." cm", cmpos) doConvinceCreature(cid, cmzao) setPlayerStorageValue(cid, 888, 1) local function check(params) if isCreature(params.cid) then if getPlayerStorageValue(params.cid, 888) <= 0 then return true end if not isCreature(cmed) then local pkcmpos = getThingPos(getCreatureSummons(cid)[1]) doRemoveCreature(getCreatureSummons(cid)[1]) local item = getPlayerSlotItem(cid, 8) local pk = doSummonCreature(getItemAttribute(item.uid, "poke"):match("This is (.-)'s pokeball."), pkcmpos) doConvinceCreature(cid, pk) doCreatureSetLookDir(getCreatureSummons(cid)[1], 2) registerCreatureEvent(pk, "DiePoke") registerCreatureEvent(pk, "Exp") registerCreatureEvent(cid, "PlayerPokeDeath") setCreatureMaxHealth(pk, (getPlayerStorageValue(cid, 61209))) doCreatureAddHealth(pk, (getPlayerStorageValue(cid, 61209))) doCreatureAddHealth(pk, (getPlayerStorageValue(cid, 61210))-(getPlayerStorageValue(cid, 61209))) setPlayerStorageValue(cid, 888, 0) end if params.rod == 20 then local lifecmed = getCreatureMaxHealth(cmed) - getCreatureHealth(cmed) local poscmed = getThingPos(cmed) local cmeddir = getCreatureLookDir(cmed) local namecmed = getCreatureName(cmed) doRemoveCreature(getCreatureSummons(cid)[1]) local back = doSummonCreature(""..namecmed.." s", poscmed) if getCreatureSpeed(back) == 0 then doChangeSpeed(back, 180) end doCreatureSetLookDir(back, cmeddir) doCreatureAddHealth(back, -lifecmed) local item = getPlayerSlotItem(cid, 8) local mynewpos = getThingPos(getCreatureSummons(cid)[1]) doRemoveCreature(getCreatureSummons(cid)[1]) pk = doSummonCreature(getItemAttribute(item.uid, "poke"):match("This is (.-)'s pokeball."), mynewpos) doConvinceCreature(cid, pk) doCreatureSetLookDir(getCreatureSummons(cid)[1], 2) registerCreatureEvent(pk, "DiePoke") registerCreatureEvent(pk, "Exp") registerCreatureEvent(cid, "PlayerPokeDeath") setCreatureMaxHealth(pk, (getPlayerStorageValue(cid, 61209))) doCreatureAddHealth(pk, (getPlayerStorageValue(cid, 61209))) doCreatureAddHealth(pk, (getPlayerStorageValue(cid, 61210))-(getPlayerStorageValue(cid, 61209))) setPlayerStorageValue(cid, 888, 0) else doSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), 220) end end end for rod = 1, 20 do addEvent(check, rod*500, {cid = cid, rod = rod}) end return true end if item2.uid == cid then if getPlayerStorageValue(cid, 888) >= 1 then doPlayerSendCancel(cid, "Você não pode voar nem pokemons passeio está sendo controlado.") return true end if #getCreatureSummons(cid) == 0 and getPlayerStorageValue(cid, 17000) <= 0 and getPlayerStorageValue(cid, 17001) <= 0 then doPlayerSendCancel(cid, "Você precisa de um pokemon para usar ordem.") return true end if getPlayerStorageValue(cid, 17000) <= 0 and getPlayerStorageValue(cid, 17001) <= 0 and not isInArray(ridefly, getCreatureName(getCreatureSummons(cid)[1])) then doPlayerSendCancel(cid, "Você não pode montar este pokemon nem voar com ele.") return true end if getPlayerStorageValue(cid, 17000) <= 0 and getPlayerStorageValue(cid, 17001) <= 0 and getCreatureSpeed(getCreatureSummons(cid)[1]) == 0 then return true end if getPlayerStorageValue(cid, 17001) <= 0 and getPlayerStorageValue(cid, 17000) <= 0 and isInArray(ride, getCreatureName(getCreatureSummons(cid)[1])) then local pokemon = rides[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType] if getCreatureSpeed(getCreatureSummons(cid)[1]) >= 1 then doChangeSpeed(getCreatureSummons(cid)[1], -getCreatureSpeed(getCreatureSummons(cid)[1])) end local function ride(params) if isCreature(params.cid) then if isCreature(getCreatureSummons(params.cid)[1]) then if getDistanceBetween(getThingPos(getCreatureSummons(cid)[1]), getThingPos(cid)) <= params.d then doChangeSpeed(cid, -250) doChangeSpeed(cid, pokemon[2]) exhaustion.set(cid, etudao, 4) setPlayerStorageValue(cid, 17001, 1) doSetCreatureOutfit(cid, {lookType = pokemon[1], lookHead = 0, lookAddons = 0, lookLegs = 0, lookBody = 0, lookFeet = 0}, -1) setPlayerStorageValue(cid, 61209, getCreatureMaxHealth(getCreatureSummons(cid)[1])) setPlayerStorageValue(cid, 61210, getCreatureHealth(getCreatureSummons(cid)[1])) doRemoveCreature(getCreatureSummons(cid)[1]) else dirh = getDirectionTo(getThingPos(getCreatureSummons(params.cid)[1]), getThingPos(params.cid)) if dirh == NORTHWEST then if math.random(1,100) >= 51 then dirh = NORTH else dirh = WEST end elseif dirh == SOUTHWEST then if math.random(1,100) >= 51 then dirh = SOUTH else dirh = WEST end elseif dirh == SOUTHEAST then if math.random(1,100) >= 51 then dirh = SOUTH else dirh = EAST end elseif dirh == NORTHEAST then if math.random(1,100) >= 51 then dirh = NORTH else dirh = EAST end end local dirh = dirh if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then doChangeSpeed(getCreatureSummons(params.cid)[1], getCreatureBaseSpeed(getCreatureSummons(cid)[1])) doPushCreature(getCreatureSummons(params.cid)[1], dirh, 1, 0) doChangeSpeed(getCreatureSummons(params.cid)[1], -getCreatureSpeed(getCreatureSummons(cid)[1])) else doPushCreature(getCreatureSummons(params.cid)[1], dirh, 1, 0) doChangeSpeed(getCreatureSummons(params.cid)[1], -getCreatureSpeed(getCreatureSummons(cid)[1])) end end end end end local function speed(params) if isCreature(params.cid) then if isCreature(getCreatureSummons(params.cid)[1]) then if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then doChangeSpeed(getCreatureSummons(params.cid)[1], getCreatureBaseSpeed(getCreatureSummons(cid)[1])) end end end end doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", let me ride you!", 1) exhaustion.set(cid, etudao, 4) if getPlayerGroupId(cid) >= 2 and getPlayerGroupId(cid) <= 6 then distanc = 1 else distanc = 0 end local distance = distanc for i=1,12 do addEvent(ride, pokemon[3]*i, {cid = cid, d = distance}) addEvent(speed, ((pokemon[3]*12)+100), {cid = cid}) end return true end if getPlayerStorageValue(cid, 17001) >= 1 then setPlayerStorageValue(cid, 17001, 0) if getPlayerGroupId(cid) ~= 6 then setPlayerGroupId(cid, 8) end doCreatureSetLookDir(cid, 2) doChangeSpeed(cid, -(getCreatureSpeed(cid))) if getPlayerGroupId(cid) >= 2 and getPlayerGroupId(cid) <= 7 then doChangeSpeed(cid, 400*getPlayerGroupId(cid)) else doChangeSpeed(cid, 250) end doRemoveCondition(cid, CONDITION_OUTFIT) local item = getPlayerSlotItem(cid, 8) doCreatureSay(cid, "" .. getItemAttribute(item.uid, "poke"):match("This is (.-)'s pokeball.")..", let me get down!", 1) doSummonMonster(cid, getItemAttribute(item.uid, "poke"):match("This is (.-)'s pokeball.")) local pk = getCreatureSummons(cid)[1] registerCreatureEvent(cid, "PlayerPokeDeath") registerCreatureEvent(pk, "DiePoke") registerCreatureEvent(pk, "Exp") setCreatureMaxHealth(pk, (getPlayerStorageValue(cid, 61209))) doCreatureAddHealth(pk, (getPlayerStorageValue(cid, 61209))) doCreatureAddHealth(pk, (getPlayerStorageValue(cid, 61210))-(getPlayerStorageValue(cid, 61209))) return true end if getPlayerStorageValue(cid, 17000) >= 1 then if isInArray({460, 1022, 1023}, getTileInfo(getThingPos(cid)).itemid) then doPlayerSendCancel(cid, "Você não pode parar de voar nesta altura!") return true end if getTileInfo(getThingPos(cid)).itemid >= 4820 and getTileInfo(getThingPos(cid)).itemid <= 4825 then doPlayerSendCancel(cid, "Você não pode parar de voar acima da água!") return true end if getPlayerGroupId(cid) ~= 6 then setPlayerGroupId(cid, 8) end doCreatureSetLookDir(cid, 2) setPlayerStorageValue(cid, 17000, 0) doChangeSpeed(cid, -(getCreatureSpeed(cid))) if getPlayerGroupId(cid) >= 2 and getPlayerGroupId(cid) <= 7 then doChangeSpeed(cid, 200*getPlayerGroupId(cid)) else doChangeSpeed(cid, 250) end doRemoveCondition(cid, CONDITION_OUTFIT) local item = getPlayerSlotItem(cid, 8) doCreatureSay(cid, "" .. getItemAttribute(item.uid, "poke"):match("This is (.-)'s pokeball.")..", let me get down!", 1) doSummonMonster(cid, getItemAttribute(item.uid, "poke"):match("This is (.-)'s pokeball.")) local pk = getCreatureSummons(cid)[1] registerCreatureEvent(cid, "PlayerPokeDeath") registerCreatureEvent(pk, "DiePoke") registerCreatureEvent(pk, "Exp") setCreatureMaxHealth(pk, (getPlayerStorageValue(cid, 61209))) doCreatureAddHealth(pk, (getPlayerStorageValue(cid, 61209))) doCreatureAddHealth(pk, (getPlayerStorageValue(cid, 61210))-(getPlayerStorageValue(cid, 61209))) return true end if getPlayerStorageValue(cid, 17000) <= 0 and getPlayerStorageValue(cid, 17001) <= 0 and isInArray(fly, getCreatureName(getCreatureSummons(cid)[1])) then if not isPremium(cid) then doPlayerSendTextMessage(cid, 27, "Only menbers premium is arealid to fly.") return true end if getPlayerStorageValue(cid, 17000) <= 0 then local pokemon = flys[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType] local function fly(params) if isCreature(params.cid) then if isCreature(getCreatureSummons(params.cid)[1]) then if getDistanceBetween(getThingPos(getCreatureSummons(cid)[1]), getThingPos(cid)) <= params.dd then doPlayerSendTextMessage(cid,27, "Type \"up\" or \"h1\" to fly higher and \"down\" or \"h2\" to fly lower." ) setPlayerStorageValue(cid, 61209, getCreatureMaxHealth(getCreatureSummons(cid)[1])) setPlayerStorageValue(cid, 61210, getCreatureHealth(getCreatureSummons(cid)[1])) setPlayerStorageValue(cid, 17000, 1) registerCreatureEvent(cid, "Flying") doChangeSpeed(cid, -250) doChangeSpeed(cid, pokemon[2]) exhaustion.set(cid, etudao, 4) doSetCreatureOutfit(cid, {lookType = pokemon[1], lookHead = 0, lookAddons = 0, lookLegs = 0, lookBody = 0, lookFeet = 0}, -1) doRemoveCreature(getCreatureSummons(cid)[1]) else dir = getDirectionTo(getThingPos(getCreatureSummons(params.cid)[1]), getThingPos(params.cid)) if dir == NORTHWEST then if math.random(1,100) >= 51 then dir = NORTH else dir = WEST end elseif dir == SOUTHWEST then if math.random(1,100) >= 51 then dir = SOUTH else dir = WEST end elseif dir == SOUTHEAST then if math.random(1,100) >= 51 then dir = SOUTH else dir = EAST end elseif dir == NORTHEAST then if math.random(1,100) >= 51 then dir = NORTH else dir = EAST end end local dir = dir if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then doChangeSpeed(getCreatureSummons(params.cid)[1], getCreatureBaseSpeed(getCreatureSummons(cid)[1])) doPushCreature(getCreatureSummons(params.cid)[1], dir, 1, 0) doChangeSpeed(getCreatureSummons(params.cid)[1], -getCreatureSpeed(getCreatureSummons(cid)[1])) else doPushCreature(getCreatureSummons(params.cid)[1], dir, 1, 0) doChangeSpeed(getCreatureSummons(params.cid)[1], -getCreatureSpeed(getCreatureSummons(cid)[1])) end end end end end local function speed(params) if isCreature(params.cid) then if isCreature(getCreatureSummons(params.cid)[1]) then if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then doChangeSpeed(getCreatureSummons(params.cid)[1], getCreatureBaseSpeed(getCreatureSummons(cid)[1])) end end end end doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", lets fly!", 1) exhaustion.set(cid, etudao, 4) if getPlayerGroupId(cid) >= 2 and getPlayerGroupId(cid) <= 6 then distancc = 1 else distancc = 0 end local distancee = distancc for i=1,12 do addEvent(fly, pokemon[3]*i, {cid = cid, dd = distancee}) addEvent(speed, ((pokemon[3]*12)+100), {cid = cid}) end return true end return true end end -- ROCK SMASH if item2.itemid == 1285 and getPlayerStorageValue(cid, 63215) <= 0 then if #getCreatureSummons(cid) == 0 then doPlayerSendCancel(cid, "Você precisa de um pokemon de usar Rock Smash.") return true end if not isInArray(rocksmash, getCreatureName(getCreatureSummons(cid)[1])) then doPlayerSendCancel(cid, "Este pokemon não pode usar Rock Smash.") return true end if isInArray(rocksmash, getCreatureName(getCreatureSummons(cid)[1])) then if exhaustion.get(cid, erocksmash) then doPlayerSendCancel(cid, "Por favor, aguarde alguns segundos antes de usar Rock Smash novamente!") return true end if getCreatureSpeed(getCreatureSummons(cid)[1]) == 0 then return true end doChangeSpeed(getCreatureSummons(cid)[1], -getCreatureSpeed(getCreatureSummons(cid)[1])) local function tocut(params) if isCreature(params.cid) then if isCreature(getCreatureSummons(params.cid)[1]) then if getCreatureSpeed(getCreatureSummons(params.cid)[1]) >= 1 then return true end if getPlayerStorageValue(getCreatureSummons(params.cid)[1], 100) >= 1 then return true end if getDistanceBetween(getThingPos(getCreatureSummons(params.cid)[1]), topos) == 1 then doSendMagicEffect(topos, 118) doTransformItem(getTileItemById(topos, 1285).uid, 2257) exhaustion.set(cid, erocksmash, cdrocksmash) setPlayerStorageValue(getCreatureSummons(params.cid)[1], 100, 1) local function detrans(params) doTransformItem(getTileItemById(topos, 2257).uid, 1285) if isCreature(getCreatureSummons(params.ciddd)[1]) then setPlayerStorageValue(getCreatureSummons(params.ciddd)[1], 100, 0) end end addEvent(detrans, 5500, {ciddd = cid}) doCreatureSay(getCreatureSummons(cid)[1], "ROCK SMASH!", TALKTYPE_MONSTER) local function nmr(params) if isCreature(params.cid) then if isCreature(getCreatureSummons(params.cid)[1]) then if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then doChangeSpeed(getCreatureSummons(params.cid)[1], getCreatureBaseSpeed(getCreatureSummons(params.cid)[1])) end end end end addEvent(nmr, 400, {cid = cid}) else local badire = getDirectionTo(getThingPos(getCreatureSummons(cid)[1]), topos) if badire == NORTHWEST then if math.random(1,100) >= 51 then badire = NORTH if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), badire), params.ccid, 0, 0) then badire = NORTH else badire = WEST end else badire = WEST if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), badire), params.ccid, 0, 0) then badire = WEST else badire = NORTH end end elseif badire == SOUTHWEST then if math.random(1,100) >= 51 then badire = SOUTH if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), badire), params.ccid, 0, 0) then badire = SOUTH else badire = WEST end else badire = WEST if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), badire), params.ccid, 0, 0) then badire = WEST else badire = SOUTH end end elseif badire == SOUTHEAST then if math.random(1,100) >= 51 then badire = SOUTH if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), badire), params.ccid, 0, 0) then badire = SOUTH else badire = EAST end else badire = EAST if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), badire), params.ccid, 0, 0) then badire = EAST else badire = SOUTH end end elseif badire == NORTHEAST then if math.random(1,100) >= 51 then badire = NORTH if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), badire), params.ccid, 0, 0) then badire = NORTH else badire = EAST end else badire = EAST if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), badire), params.ccid, 0, 0) then badire = EAST else badire = NORTH end end end local badire = badire if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then doChangeSpeed(getCreatureSummons(params.cid)[1], getCreatureBaseSpeed(getCreatureSummons(params.cid)[1])) doPushCreature(getCreatureSummons(params.cid)[1], badire, 1, 0) doChangeSpeed(getCreatureSummons(params.cid)[1], -getCreatureSpeed(getCreatureSummons(params.cid)[1])) else doPushCreature(getCreatureSummons(params.cid)[1], badire, 1, 0) doChangeSpeed(getCreatureSummons(params.cid)[1], -getCreatureSpeed(getCreatureSummons(params.cid)[1])) end end end end end doPlayerSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", esmagar esse rock!", 1) local speed = getCreatureBaseSpeed(getCreatureSummons(cid)[1]) local temk = 1000 -(2.3 * speed) addEvent(tocut, 0, {cid = cid, ccid = getCreatureSummons(cid)[1], topos = topos}) for i = 1, getDistanceBetween(getThingPos(getCreatureSummons(cid)[1]), topos) * 2 do addEvent(tocut, temk*i, {cid = cid, ccid = getCreatureSummons(cid)[1], topos = topos}) end return true end end -- ROCK SMASH END -- CUT if item2.itemid == 2767 and getPlayerStorageValue(cid, 63215) <= 0 then if #getCreatureSummons(cid) == 0 then doPlayerSendCancel(cid, "Você precisa de um pokemon usar corte.") return true end if not isInArray(cut, getCreatureName(getCreatureSummons(cid)[1])) then doPlayerSendCancel(cid, "Este pokemon não pode usar corte.") return true end if isInArray(cut, getCreatureName(getCreatureSummons(cid)[1])) then if exhaustion.get(cid, ecut) then doPlayerSendCancel(cid, "Por favor, aguarde alguns segundos antes de usar o corte de novo!") return true end if getCreatureSpeed(getCreatureSummons(cid)[1]) == 0 then return true end doChangeSpeed(getCreatureSummons(cid)[1], -getCreatureSpeed(getCreatureSummons(cid)[1])) local function tocut(params) if isCreature(params.cid) then if isCreature(getCreatureSummons(params.cid)[1]) then if getCreatureSpeed(getCreatureSummons(params.cid)[1]) >= 1 then return true end if getPlayerStorageValue(getCreatureSummons(params.cid)[1], 101) >= 1 then return true end if getDistanceBetween(getThingPos(getCreatureSummons(params.cid)[1]), topos) == 1 then doSendMagicEffect(topos, 141) doTransformItem(getTileItemById(topos, 2767).uid, 6216) exhaustion.set(cid, ecut, cdcut) setPlayerStorageValue(getCreatureSummons(params.cid)[1], 101, 1) local function detrans(params) doTransformItem(getTileItemById(topos, 6216).uid, 2767) if isCreature(getCreatureSummons(params.ciddd)[1]) then setPlayerStorageValue(getCreatureSummons(params.ciddd)[1], 101, 0) end end addEvent(detrans, 5500, {ciddd = cid}) doCreatureSay(getCreatureSummons(cid)[1], "CUT!", TALKTYPE_MONSTER) local function nmr(params) if isCreature(params.cid) then if isCreature(getCreatureSummons(params.cid)[1]) then if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then doChangeSpeed(getCreatureSummons(params.cid)[1], getCreatureBaseSpeed(getCreatureSummons(params.cid)[1])) end end end end addEvent(nmr, 400, {cid = cid}) else adire = getDirectionTo(getThingPos(getCreatureSummons(cid)[1]), topos) if adire == NORTHWEST then if math.random(1,100) >= 51 then adire = NORTH if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), adire), params.ccid, 0, 0) then adire = NORTH else adire = WEST end else adire = WEST if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), adire), params.ccid, 0, 0) then adire = WEST else adire = NORTH end end elseif adire == SOUTHWEST then if math.random(1,100) >= 51 then adire = SOUTH if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), adire), params.ccid, 0, 0) then adire = SOUTH else adire = WEST end else adire = WEST if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), adire), params.ccid, 0, 0) then adire = WEST else adire = SOUTH end end elseif adire == SOUTHEAST then if math.random(1,100) >= 51 then adire = SOUTH if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), adire), params.ccid, 0, 0) then adire = SOUTH else adire = EAST end else adire = EAST if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), adire), params.ccid, 0, 0) then adire = EAST else adire = SOUTH end end elseif adire == NORTHEAST then if math.random(1,100) >= 51 then adire = NORTH if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), adire), params.ccid, 0, 0) then adire = NORTH else adire = EAST end else adire = EAST if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), adire), params.ccid, 0, 0) then adire = EAST else adire = NORTH end end end local adire = adire if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then doChangeSpeed(getCreatureSummons(params.cid)[1], getCreatureBaseSpeed(getCreatureSummons(params.cid)[1])) doPushCreature(getCreatureSummons(params.cid)[1], adire, 1, 0) doChangeSpeed(getCreatureSummons(params.cid)[1], -getCreatureSpeed(getCreatureSummons(params.cid)[1])) else doPushCreature(getCreatureSummons(params.cid)[1], adire, 1, 0) doChangeSpeed(getCreatureSummons(params.cid)[1], -getCreatureSpeed(getCreatureSummons(params.cid)[1])) end end end end end doPlayerSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", cortar esse mato!", 1) local speed = getCreatureBaseSpeed(getCreatureSummons(cid)[1]) temk = 1000 -(2.3 * speed) addEvent(tocut, 0, {cid = cid, ccid = getCreatureSummons(cid)[1], topos = topos}) for i = 1, getDistanceBetween(getThingPos(getCreatureSummons(cid)[1]), topos) * 2 do addEvent(tocut, temk*i, {cid = cid, ccid = getCreatureSummons(cid)[1], topos = topos}) end return true end end -- CUT END -- DIG if isInArray(digholes, item2.itemid) and getPlayerStorageValue(cid, 63215) <= 0 then if #getCreatureSummons(cid) == 0 then doPlayerSendCancel(cid, "Você precisa de um pokemon usar dig.") return true end if not isInArray(dig, getCreatureName(getCreatureSummons(cid)[1])) then doPlayerSendCancel(cid, "Este pokemon não pode usar dig.") return true end if isInArray(dig, getCreatureName(getCreatureSummons(cid)[1])) then if exhaustion.get(cid, edig) then doPlayerSendCancel(cid, "Por favor, aguarde alguns segundos antes de usar dig de novo!") return true end if getCreatureSpeed(getCreatureSummons(cid)[1]) == 0 then return true end doChangeSpeed(getCreatureSummons(cid)[1], -getCreatureSpeed(getCreatureSummons(cid)[1])) local function tocut(params) if isCreature(params.cid) then if isCreature(getCreatureSummons(params.cid)[1]) then if getCreatureSpeed(getCreatureSummons(params.cid)[1]) >= 1 then return true end if getPlayerStorageValue(getCreatureSummons(params.cid)[1], 99) >= 1 then return true end if getDistanceBetween(getThingPos(getCreatureSummons(params.cid)[1]), topos) == 1 then doSendMagicEffect(topos, 3) setPlayerStorageValue(getCreatureSummons(params.cid)[1], 99, 1) doTransformItem(getTileItemById(topos, item2.itemid).uid, item2.itemid+1) exhaustion.set(cid, edig, cddig) local function detrans(params) doTransformItem(getTileItemById(topos, item2.itemid+1).uid, item2.itemid) if isCreature(getCreatureSummons(params.ciddd)[1]) then setPlayerStorageValue(getCreatureSummons(params.ciddd)[1], 99, 0) end end addEvent(detrans, 5500, {ciddd = cid}) doCreatureSay(getCreatureSummons(cid)[1], "DIG!", TALKTYPE_MONSTER) local function nmr(params) if isCreature(params.cid) then if isCreature(getCreatureSummons(params.cid)[1]) then if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then doChangeSpeed(getCreatureSummons(params.cid)[1], getCreatureBaseSpeed(getCreatureSummons(params.cid)[1])) end end end end addEvent(nmr, 400, {cid = cid}) else local cdire = getDirectionTo(getThingPos(getCreatureSummons(cid)[1]), topos) if cdire == NORTHWEST then if math.random(1,100) >= 51 then cdire = NORTH if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), cdire), params.ccid, 0, 0) then cdire = NORTH else cdire = WEST end else cdire = WEST if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), cdire), params.ccid, 0, 0) then cdire = WEST else cdire = NORTH end end elseif cdire == SOUTHWEST then if math.random(1,100) >= 51 then cdire = SOUTH if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), cdire), params.ccid, 0, 0) then cdire = SOUTH else cdire = WEST end else cdire = WEST if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), cdire), params.ccid, 0, 0) then cdire = WEST else cdire = SOUTH end end elseif cdire == SOUTHEAST then if math.random(1,100) >= 51 then cdire = SOUTH if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), cdire), params.ccid, 0, 0) then cdire = SOUTH else cdire = EAST end else cdire = EAST if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), cdire), params.ccid, 0, 0) then cdire = EAST else cdire = SOUTH end end elseif cdire == NORTHEAST then if math.random(1,100) >= 51 then cdire = NORTH if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), cdire), params.ccid, 0, 0) then cdire = NORTH else cdire = EAST end else cdire = EAST if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), cdire), params.ccid, 0, 0) then cdire = EAST else cdire = NORTH end end end local cdire = cdire if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then doChangeSpeed(getCreatureSummons(params.cid)[1], getCreatureBaseSpeed(getCreatureSummons(params.cid)[1])) doPushCreature(getCreatureSummons(params.cid)[1], cdire, 1, 0) doChangeSpeed(getCreatureSummons(params.cid)[1], -getCreatureSpeed(getCreatureSummons(params.cid)[1])) else doPushCreature(getCreatureSummons(params.cid)[1], cdire, 1, 0) doChangeSpeed(getCreatureSummons(params.cid)[1], -getCreatureSpeed(getCreatureSummons(params.cid)[1])) end end end end end doPlayerSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", abrir este buraco!", 1) local speed = getCreatureBaseSpeed(getCreatureSummons(cid)[1]) temk = 1000 -(2.3 * speed) addEvent(tocut, 0, {cid = cid, ccid = getCreatureSummons(cid)[1], topos = topos}) for i = 1, getDistanceBetween(getThingPos(getCreatureSummons(cid)[1]), topos) * 2 do addEvent(tocut, temk*i, {cid = cid, ccid = getCreatureSummons(cid)[1], topos = topos}) end return true end end -- DIG END -- BLINK if #getCreatureSummons(cid) == 0 and getPlayerStorageValue(cid, 63215) <= 0 and getPlayerStorageValue(cid, 17000) <= 0 then doPlayerSendCancel(cid, "Você precisa de um pokemon para usar ordem.") return true end if not isMonster(item2.uid) and getPlayerStorageValue(cid, 63215) <= 0 and getPlayerStorageValue(cid, 17000) <= 0 then if isInArray(blink, getCreatureName(getCreatureSummons(cid)[1])) then if exhaustion.get(cid, exhaustblink) then if getCreatureSpeed(getCreatureSummons(cid)[1]) == 0 then doPlayerSendCancel(cid, "Você não pode encomendar o seu pokemon para se mover agora.") return true end doPlayerSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", move!", 1) doChangeSpeed(getCreatureSummons(cid)[1], -getCreatureSpeed(getCreatureSummons(cid)[1])) setPlayerStorageValue(getCreatureSummons(cid)[1], 12, 1) local function move(params) if isCreature(params.cid) then if isCreature(getCreatureSummons(params.cid)[1]) then if getPlayerStorageValue(getCreatureSummons(params.cid)[1], 12) == 0 then return true end if getDistanceBetween(getThingPos(getCreatureSummons(params.cid)[1]), topos) == 0 then if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then local function speeed(params) if isCreature(params.sum) then if getCreatureSpeed(params.sum) == 0 then doChangeSpeed(params.sum, getCreatureBaseSpeed(params.sum)) end end end addEvent(speeed, 600, {sum = getCreatureSummons(params.cid)[1]}) end setPlayerStorageValue(getCreatureSummons(params.cid)[1], 12, 0) return true end local edire = getDirectionTo(getThingPos(getCreatureSummons(cid)[1]), params.topos) if edire >= 0 and edire <= 7 then if edire == NORTHWEST then if math.random(1,100) >= 51 then edire = NORTH if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), edire), params.ccid, 0, 0) then edire = NORTH else edire = WEST end else edire = WEST if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), edire), params.ccid, 0, 0) then edire = WEST else edire = NORTH end end elseif edire == SOUTHWEST then if math.random(1,100) >= 51 then edire = SOUTH if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), edire), params.ccid, 0, 0) then edire = SOUTH else edire = WEST end else edire = WEST if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), edire), params.ccid, 0, 0) then edire = WEST else edire = SOUTH end end elseif edire == SOUTHEAST then if math.random(1,100) >= 51 then edire = SOUTH if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), edire), params.ccid, 0, 0) then edire = SOUTH else edire = EAST end else edire = EAST if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), edire), params.ccid, 0, 0) then edire = EAST else edire = SOUTH end end elseif edire == NORTHEAST then if math.random(1,100) >= 51 then edire = NORTH if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), edire), params.ccid, 0, 0) then edire = NORTH else edire = EAST end else edire = EAST if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), edire), params.ccid, 0, 0) then edire = EAST else edire = NORTH end end end local edire = edire if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then doChangeSpeed(getCreatureSummons(params.cid)[1], getCreatureBaseSpeed(getCreatureSummons(params.cid)[1])) doPushCreature(getCreatureSummons(params.cid)[1], edire, 1, 0) doChangeSpeed(getCreatureSummons(params.cid)[1], -getCreatureSpeed(getCreatureSummons(params.cid)[1])) else doPushCreature(getCreatureSummons(params.cid)[1], edire, 1, 0) doChangeSpeed(getCreatureSummons(params.cid)[1], -getCreatureSpeed(getCreatureSummons(params.cid)[1])) end end end end end local function voltarnormal(params) if isCreature(params.cid) then if isCreature(getCreatureSummons(params.cid)[1]) then if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then local function speeed(params) if isCreature(params.sum) then doChangeSpeed(params.sum, getCreatureBaseSpeed(params.sum)) end end addEvent(speeed, 0, {sum = getCreatureSummons(params.cid)[1]}) end setPlayerStorageValue(getCreatureSummons(params.cid)[1], 12, 0) end end end local pois = getThingPos(item2.uid) local speed = getCreatureBaseSpeed(getCreatureSummons(cid)[1]) local temk = 1000 -(2.3 * speed) local SumPos = getThingPos(getCreatureSummons(cid)[1]) local travelx = math.abs((topos.x) - (SumPos.x)) local travely = math.abs((topos.y) - (SumPos.y)) local travel = ((travelx) + (travely)) addEvent(move, 0, {cid = cid, ccid = getCreatureSummons(cid)[1], topos = pois, item2 = item2.uid}) for i = 1, travel do addEvent(move, temk*i, {cid = cid, ccid = getCreatureSummons(cid)[1], topos = pois, item2 = item2.uid}) end addEvent(voltarnormal, temk * travel, {cid = cid}) exhaustion.set(cid, etudao, travel) else if not isWalkable(topos, cid, 0, 0) then doPlayerSendCancel(cid, "Seu pokemon não pode teleport lá.") return true end if getItemName(item2.uid) == "shallow water" then doPlayerSendCancel(cid, "Seu pokemon não pode teleport lá.") return true end doSendDistanceShoot(getThingPos(getCreatureSummons(cid)[1]), topos, 39) doSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), 211) doTeleportThing(getCreatureSummons(cid)[1], topos, false) doSendMagicEffect(topos, 134) doPlayerSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", teleport there!", 1) doCreatureSay(getCreatureSummons(cid)[1], "BLINK!", TALKTYPE_MONSTER) exhaustion.set(cid, exhaustblink, cdblink) return true end return true end end --- BLINK END -- BLINK 2 if #getCreatureSummons(cid) == 0 and getPlayerStorageValue(cid, 63215) <= 0 and getPlayerStorageValue(cid, 17000) <= 0 then doPlayerSendCancel(cid, "Você precisa de um pokemon para usar ordem.") return true end if not isMonster(item2.uid) and getPlayerStorageValue(cid, 63215) <= 0 and getPlayerStorageValue(cid, 17000) <= 0 then if isInArray(blink2, getCreatureName(getCreatureSummons(cid)[1])) then if exhaustion.get(cid, exhaustblink2) then if getCreatureSpeed(getCreatureSummons(cid)[1]) == 0 then doPlayerSendCancel(cid, "Você não pode encomendar o seu pokemon para se mover agora.") return true end doPlayerSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", move!", 1) doChangeSpeed(getCreatureSummons(cid)[1], -getCreatureSpeed(getCreatureSummons(cid)[1])) setPlayerStorageValue(getCreatureSummons(cid)[1], 12, 1) local function move(params) if isCreature(params.cid) then if isCreature(getCreatureSummons(params.cid)[1]) then if getPlayerStorageValue(getCreatureSummons(params.cid)[1], 12) == 0 then return true end if getDistanceBetween(getThingPos(getCreatureSummons(params.cid)[1]), topos) == 0 then if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then local function speeed(params) if isCreature(params.sum) then if getCreatureSpeed(params.sum) == 0 then doChangeSpeed(params.sum, getCreatureBaseSpeed(params.sum)) end end end addEvent(speeed, 600, {sum = getCreatureSummons(params.cid)[1]}) end setPlayerStorageValue(getCreatureSummons(params.cid)[1], 12, 0) return true end local edire = getDirectionTo(getThingPos(getCreatureSummons(cid)[1]), params.topos) if edire >= 0 and edire <= 7 then if edire == NORTHWEST then if math.random(1,100) >= 51 then edire = NORTH if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), edire), params.ccid, 0, 0) then edire = NORTH else edire = WEST end else edire = WEST if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), edire), params.ccid, 0, 0) then edire = WEST else edire = NORTH end end elseif edire == SOUTHWEST then if math.random(1,100) >= 51 then edire = SOUTH if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), edire), params.ccid, 0, 0) then edire = SOUTH else edire = WEST end else edire = WEST if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), edire), params.ccid, 0, 0) then edire = WEST else edire = SOUTH end end elseif edire == SOUTHEAST then if math.random(1,100) >= 51 then edire = SOUTH if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), edire), params.ccid, 0, 0) then edire = SOUTH else edire = EAST end else edire = EAST if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), edire), params.ccid, 0, 0) then edire = EAST else edire = SOUTH end end elseif edire == NORTHEAST then if math.random(1,100) >= 51 then edire = NORTH if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), edire), params.ccid, 0, 0) then edire = NORTH else edire = EAST end else edire = EAST if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), edire), params.ccid, 0, 0) then edire = EAST else edire = NORTH end end end local edire = edire if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then doChangeSpeed(getCreatureSummons(params.cid)[1], getCreatureBaseSpeed(getCreatureSummons(params.cid)[1])) doPushCreature(getCreatureSummons(params.cid)[1], edire, 1, 0) doChangeSpeed(getCreatureSummons(params.cid)[1], -getCreatureSpeed(getCreatureSummons(params.cid)[1])) else doPushCreature(getCreatureSummons(params.cid)[1], edire, 1, 0) doChangeSpeed(getCreatureSummons(params.cid)[1], -getCreatureSpeed(getCreatureSummons(params.cid)[1])) end end end end end local function voltarnormal(params) if isCreature(params.cid) then if isCreature(getCreatureSummons(params.cid)[1]) then if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then local function speeed(params) if isCreature(params.sum) then doChangeSpeed(params.sum, getCreatureBaseSpeed(params.sum)) end end addEvent(speeed, 0, {sum = getCreatureSummons(params.cid)[1]}) end setPlayerStorageValue(getCreatureSummons(params.cid)[1], 12, 0) end end end local pois = getThingPos(item2.uid) local speed = getCreatureBaseSpeed(getCreatureSummons(cid)[1]) local temk = 1000 -(2.3 * speed) local SumPos = getThingPos(getCreatureSummons(cid)[1]) local travelx = math.abs((topos.x) - (SumPos.x)) local travely = math.abs((topos.y) - (SumPos.y)) local travel = ((travelx) + (travely)) addEvent(move, 0, {cid = cid, ccid = getCreatureSummons(cid)[1], topos = pois, item2 = item2.uid}) for i = 1, travel do addEvent(move, temk*i, {cid = cid, ccid = getCreatureSummons(cid)[1], topos = pois, item2 = item2.uid}) end addEvent(voltarnormal, temk * travel, {cid = cid}) exhaustion.set(cid, etudao, travel) else if not isWalkable(topos, cid, 0, 0) then doPlayerSendCancel(cid, "Seu pokemon não pode teleport lá.") return true end if getItemName(item2.uid) == "shallow water" then doPlayerSendCancel(cid, "Seu pokemon não pode teleport lá.") return true end doSendDistanceShoot(getThingPos(getCreatureSummons(cid)[1]), topos, 39) doSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), 211) doTeleportThing(getCreatureSummons(cid)[1], topos, false) doSendMagicEffect(topos, 134) doPlayerSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", teleport there!", 1) doCreatureSay(getCreatureSummons(cid)[1], "BLINK!", TALKTYPE_MONSTER) exhaustion.set(cid, exhaustblink, cdblink) return true end return true end end --- BLINK2 END -- LIGHT -- if isCreature(item2.uid) and getCreatureMaster(item2.uid) == cid and getPlayerStorageValue(cid, 63215) <= 0 and getPlayerStorageValue(cid, 17000) <= 0 and item2.uid ~= cid then if not isInArray(light, getCreatureName(getCreatureSummons(cid)[1])) then doPlayerSendCancel(cid, "Este pokemon não pode usar flash.") return true end if isInArray(light, getCreatureName(getCreatureSummons(cid)[1])) then if not isMonster(item2.uid) and getCreatureMaster(item2.uid) ~= cid then return doPlayerSendCancel(cid,"Por favor use flash em seu pokemon.") end if exhaustion.get(cid, exhautStorage) then doPlayerSendCancel(cid,"Por favor, aguarde alguns segundos antes de usar o flash de novo!") return true end exhaustion.set(cid, exhautStorage, cd) doPlayerSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use flash!", 1) doCreatureSay(getCreatureSummons(cid)[1], "FLASH!", TALKTYPE_MONSTER) doSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), 28) doSetCreatureLight(getCreatureSummons(cid)[1], 8, 215, time*1000) return true end end -- LIGHT END -- if #getCreatureSummons(cid) == 0 then return true end if getCreatureSpeed(getCreatureSummons(cid)[1]) == 0 then doPlayerSendCancel(cid, "Você não pode encomendar o seu pokemon para se mover agora.") return true end if getPlayerStorageValue(getCreatureSummons(cid)[1], 12) == 1 then doPlayerSendCancel(cid, "Você não pode encomendar o seu pokemon para se mover agora.") return true end doPlayerSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", move!", 1) doChangeSpeed(getCreatureSummons(cid)[1], -getCreatureSpeed(getCreatureSummons(cid)[1])) setPlayerStorageValue(getCreatureSummons(cid)[1], 12, 1) local function move(params) if isCreature(params.cid) then if isCreature(getCreatureSummons(params.cid)[1]) then if getPlayerStorageValue(getCreatureSummons(params.cid)[1], 12) == 0 then return true end if getDistanceBetween(getThingPos(getCreatureSummons(params.cid)[1]), topos) == 0 then if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then local function speeed(params) if isCreature(params.sum) then if getCreatureSpeed(params.sum) == 0 then doChangeSpeed(params.sum, getCreatureBaseSpeed(params.sum)) end end end addEvent(speeed, 600, {sum = getCreatureSummons(params.cid)[1]}) end setPlayerStorageValue(getCreatureSummons(params.cid)[1], 12, 0) setPlayerStorageValue(cid, etudao, -1) return true end local dire = getDirectionTo(getThingPos(getCreatureSummons(cid)[1]), params.topos) if dire >= 0 and dire <= 7 then if dire == NORTHWEST then if math.random(1,100) >= 51 then dire = NORTH if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), dire), params.ccid, 0, 0) then dire = NORTH else dire = WEST end else dire = WEST if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), dire), params.ccid, 0, 0) then dire = WEST else dire = NORTH end end elseif dire == SOUTHWEST then if math.random(1,100) >= 51 then dire = SOUTH if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), dire), params.ccid, 0, 0) then dire = SOUTH else dire = WEST end else dire = WEST if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), dire), params.ccid, 0, 0) then dire = WEST else dire = SOUTH end end elseif dire == SOUTHEAST then if math.random(1,100) >= 51 then dire = SOUTH if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), dire), params.ccid, 0, 0) then dire = SOUTH else dire = EAST end else dire = EAST if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), dire), params.ccid, 0, 0) then dire = EAST else dire = SOUTH end end elseif dire == NORTHEAST then if math.random(1,100) >= 51 then dire = NORTH if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), dire), params.ccid, 0, 0) then dire = NORTH else dire = EAST end else dire = EAST if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), dire), params.ccid, 0, 0) then dire = EAST else dire = NORTH end end end local dire = dire if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then doChangeSpeed(getCreatureSummons(params.cid)[1], getCreatureBaseSpeed(getCreatureSummons(params.cid)[1])) doPushCreature(getCreatureSummons(params.cid)[1], dire, 1, 0) doChangeSpeed(getCreatureSummons(params.cid)[1], -getCreatureSpeed(getCreatureSummons(params.cid)[1])) else doPushCreature(getCreatureSummons(params.cid)[1], dire, 1, 0) doChangeSpeed(getCreatureSummons(params.cid)[1], -getCreatureSpeed(getCreatureSummons(params.cid)[1])) end end end end end local function voltarnormal(params) if isCreature(params.cid) then if isCreature(getCreatureSummons(params.cid)[1]) then setPlayerStorageValue(cid, etudao, -1) if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then local function speeed(params) if isCreature(params.sum) then if getCreatureSpeed(params.sum) == 0 then doChangeSpeed(params.sum, getCreatureBaseSpeed(params.sum)) end end end addEvent(speeed, 0, {sum = getCreatureSummons(params.cid)[1]}) end setPlayerStorageValue(getCreatureSummons(params.cid)[1], 12, 0) end end end local pois = getThingPos(item2.uid) local speed = getCreatureBaseSpeed(getCreatureSummons(cid)[1]) local temk = 1000 -(2.3 * speed) local SummonPos = getThingPos(getCreatureSummons(cid)[1]) local travelx = math.abs((topos.x) - (SummonPos.x)) local travely = math.abs((topos.y) - (SummonPos.y)) local travel = ((travelx) + (travely)) addEvent(move, 0, {cid = cid, ccid = getCreatureSummons(cid)[1], topos = pois, item2 = item2.uid}) for i = 1, travel-1 do addEvent(move, temk*i, {cid = cid, ccid = getCreatureSummons(cid)[1], topos = pois, item2 = item2.uid}) end addEvent(voltarnormal, temk*travel, {cid = cid}) exhaustion.set(cid, etudao, travel) return true end
  14. SmiX

    Quest Demon

    Vá em creatureScript/script e crie um arquivo chamado demon6666.lua e cole o seguinte código dentro: local config = { quantosDemonsTemQueMatar = 6666, premio = 2160, -- Aqui o id do item que vai ganhar quantidade = 20 } function onDeath(cid, corpse, deathList) for a = 1, #deathList do local player = deathList[a] if getPlayerStorageValue(player, 593) < 0 then setPlayerStorageValue(player, 593, 0) end if getPlayerStorageValue(player, 593) >= config.quantosDemonsTemQueMatar then doPlayerSendTextMessage(player, 27, "Parabéns "..getCreatureName(player)..", você completou a task e matou ["..getPlayerStorageValue(player, 593).."] demons.") doPlayerAddItem(player, config.premio, config.quantidade) end setPlayerStorageValue(player, 593, getPlayerStorageValue(pk, 593) +1) doPlayerSendTextMessage(player, 27, "Você matou ["..getPlayerStorageValue(player, 593).."] demons.") end return true end Agora cole está tag em creaturescipt.XML: Agora vá em creaturescript/scripts/login.lua e cole esta outra tag dentro: registerCreatureEvent(cid, "demon6666") Depois de feito, vamos no mostro ("DEMON") e colocarmos à seguinte tag nele: Agora é só testar e me dar REP+ ^}^...
  15. @PostadorHunterXXXX Sim ela joga sim. ^}^... Gostou da outfit?? @Topic Espero comentários sobre as outfits, e criticas..... Fuii.....
  16. @Topico A ultima outfit do jogo... Em homenagem a minha namorada e ao Slicer.... Espero que gostei e comementem... Atualizado: 20/10/2012 - 21:28
  17. @PostadorHunterXXXX quantos outfits vão ter ? Até agora são 8, mas quero colocar mais pra frente, mas agora estou trabalhando nos monster e itens... para ser incentivado tem que postar o projeto para apresentação la na área que tem na parte de cima do forum Se não acha que eu já fiz isso n?? @Erickrusha Sim, quando eu terminar uns 50 monster e o Ciffer(Mapper) terminar a metade do mapa, vamos pensar em um BETA... @Topico A ultima outfit do jogo... Em homenagem a minha namorada e ao Slicer.... Espero que gostei e comementem... Atualizado: 20/10/2012 - 12:24
  18. mas............ kk, não temos sources do PDA kk. Quem deve ter é o bruno123. @Cleberadm Pede a sources ao bruno123 e se ele te der posta pra agente, e fazemos isso pra ti... kkk
  19. Até agora cara, nunca consegui fazer esse script.. Esse eu acho q tem q mecher nas sources... sei lá.
  20. SmiX

    Compra De Magic Level

    kkk nao vai mesmo... testa esse aqui local config = { magicLevel_Add = 5, -- Aqui quantidade de magic level que vai aumentar retire_do_player_esse_dinheiro = 500 } function onSay(cid, words, param) if param == "magic level" then if doPlayerRemoveMoney(cid, config.retire_do_player_esse_dinheiro) then doPlayerSetSkill(cid, SKILL_MAGLEVEL, getPlayerSkill(cid, SKILL_MAGLEVEL) + config.magicLevel_Add) doSendMagicEffect(getThingPos(cid), 25) else doPlayerSendCancel(cid, "Sorry, is not possible.") end end end function doPlayerSetSkill(cid, skill, amount) local pid = getPlayerGUID(cid) doRemoveCreature(cid,true) db.executeQuery("UPDATE `player_skills` SET `value` = ".. amount .." WHERE `player_id` = ".. pid .. " and `skillid` = ".. skill ..";") return TRUE end
  21. Erro grave, ja ajeitei.... Esquece aquele e bota esse: local config = { fist_Add = 5, club_Add = 5, sword_Add = 5, axe_Add = 5, distance_Add = 5, shield_Add = 5, fishing_Add = 5, magicLevel_Add = 5, retire_do_player_esse_dinheiro = 500 } function onSay(cid, words, param) if param == "sword" then if doPlayerRemoveMoney(cid, config.retire_do_player_esse_dinheiro) then doPlayerSetSkill(cid, SKILL_FIST, getPlayerSkill(cid, SKILL_FIST) + config.fist_Add) doSendMagicEffect(getThingPos(cid), 25) else doPlayerSendCancel(cid, "Sorry, is not possible.") end elseif param == "club" then if doPlayerRemoveMoney(cid, config.retire_do_player_esse_dinheiro) then doPlayerSetSkill(cid, SKILL_CLUB, getPlayerSkill(cid, SKILL_CLUB) + config.club_Add) doSendMagicEffect(getThingPos(cid), 25) else doPlayerSendCancel(cid, "Sorry, is not possible.") end elseif param == "sword" then if doPlayerRemoveMoney(cid, config.retire_do_player_esse_dinheiro) then doPlayerSetSkill(cid, SKILL_SWORD, getPlayerSkill(cid, SKILL_SWORD) + config.sword_Add) doSendMagicEffect(getThingPos(cid), 25) else doPlayerSendCancel(cid, "Sorry, is not possible.") end elseif param == "axe" then if doPlayerRemoveMoney(cid, config.retire_do_player_esse_dinheiro) then doPlayerSetSkill(cid, SKILL_AXE, getPlayerSkill(cid, SKILL_AXE) + config.axe_Add) doSendMagicEffect(getThingPos(cid), 25) else doPlayerSendCancel(cid, "Sorry, is not possible.") end elseif param == "distance" then if doPlayerRemoveMoney(cid, config.retire_do_player_esse_dinheiro) then doPlayerSetSkill(cid, SKILL_DISTANCE, getPlayerSkill(cid, SKILL_DISTANCE) + config.distance_Add) doSendMagicEffect(getThingPos(cid), 25) else doPlayerSendCancel(cid, "Sorry, is not possible.") end elseif param == "shield" then if doPlayerRemoveMoney(cid, config.retire_do_player_esse_dinheiro) then doPlayerSetSkill(cid, SKILL_SHIELD, getPlayerSkill(cid, SKILL_SHIELD) + config.shield_Add) doSendMagicEffect(getThingPos(cid), 25) else doPlayerSendCancel(cid, "Sorry, is not possible.") end elseif param == "fishing" then if doPlayerRemoveMoney(cid, config.retire_do_player_esse_dinheiro) then doPlayerSetSkill(cid, SKILL_FISHING, getPlayerSkill(cid, SKILL_FISHING) + config.fishing_Add) doSendMagicEffect(getThingPos(cid), 25) else doPlayerSendCancel(cid, "Sorry, is not possible.") end elseif param == "magic level" then if doPlayerRemoveMoney(cid, config.retire_do_player_esse_dinheiro) then doPlayerSetSkill(cid, SKILL_MAGLEVEL, getPlayerSkill(cid, SKILL_MAGLEVEL) + config.magicLevel_Add) doSendMagicEffect(getThingPos(cid), 25) else doPlayerSendCancel(cid, "Sorry, is not possible.") end end end function doPlayerSetSkill(cid, skill, amount) local pid = getPlayerGUID(cid) doRemoveCreature(cid,true) db.executeQuery("UPDATE `player_skills` SET `value` = ".. amount .." WHERE `player_id` = ".. pid .. " and `skillid` = ".. skill ..";") return TRUE end
  22. @Xtibia Ajuda ai. Tem varias pessoas pedindo. @GuhPk Vlw o incentivo, amanha estarei postando mais uma "Ibagem" de uma outfit nova... Já são 8 outfits em duas semanas... ^}^
  23. é meio familiar esse sistema. Mais vlw a intenção. Continue assim. Se possível da uma ajuda no meu show off. ta na minha assinatura...
  24. SmiX

    Vocations Magic Gems

    @PostadorHunterXXXX Vlw por explicar na minha ausência. @ Topic o que o @PostadorHunterXXXX flw ta certo...
  25. @victorvs Vlw ai, e queria mesmo a ajuda do Xtibia(Ekstibia) mas até agora nada né.. kk mas vamos levando assim mesmo.... @PostadorHunterXXXX Vale sim po. @Votos para que tenha montaria no DFO(Dragon Fable Online) Sim = 0 Não = 1
  • Quem Está Navegando   0 membros estão online

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