-
Total de itens
77 -
Registro em
-
Última visita
Posts postados por Tredfg
-
-
0,Tem muitos tutorias por ai e a maiorias da pessoas sabe
-
Unico server que tem 4 geração full é do skyfall,pelo menos até agora.
-
Para botar spoiler faça isso [.spoiler] e o texo aqui dentro e [./spoiler] feixa,exemplo
oi
(Sem os pontos)
-
Não baxei mais pelos comentarios diz não varios bugs facio de arruma que pode arruma,dependendo de min é reprovado,e tente arrumar o topico melhor,devia pelo meno arruma os corpes e os portrait coisas basicas e voçê nem arrumou.
-
Bom tutorial rep+!
-
Maneiro,rep+
-
Paresse ser bom depois eu abaixo,arrume uns erros de português e poem algumas prints,e cade o dowload no topico arrume,assim mesmo obrigado por posta-lo no xtibia!
-
Idade: 13
Cargo: Programador e Mapper.
*Skype: Se quiser falar comigo manda mp,depois passo skype.
Horas Que Pode Ser Dedicado ao Projeto: 5 horas por dia de 13:00 as 18:00*Experiencia em OtServ: Média
Algum Trabalho Feito (Se Tiver):Tenho vários*Porque Quer Entrar na Equipe: Muito tempo sem mecher em otserver,então dicidir precura uma equipe
-
Uma tem um topico para criar uma equipe,arrume o portugues todo mundo tem mais ta ruim o teu,poste uque tem no servidor e uque voçê ira fazer e poste umas prints.
-
Um que pena que tu ta querendo gente de 14 anos a mais,qualquer coisa fale comigo,sou progamador e mapper.
-
Irei abaixar se for bom do rep+!
@Edit Mano na parte que é para abaixar o server vem o client em vez do server,arruma.
-
Olá estou aqui formando uma equipe para beyblade começar do 0 não sera um servidor para posta-lo e sim para ficar online
Equipe formando:
Progamador:Vaga 1
Mapper:Daniel e Eu
Scripter:Eu e 1 vaga
Spriter Daniel
Webmaster:1 vaga
Design:1 vaga
Novidades (Atualizado 24-03-14)
-
Duas pergunta,O servidor Fica 100% extavel?,O Spr jah foi atigido o limite falta pouco ou muito?
-
Olá,Hoje estou pedindo alguem que poderia me fala um servidor de poketibia 854,Pode ser pda,Que contem (Limite De Sprites) Que pode add varias sprites o Servidor pode ser antigo com sistemas velho,mais que seja editado os pokemon no configuration.lua.
Irei dar rep pra quem me ajuda.
-
Cria uma arquivo no action com o nome da quest e poem isso
local starterpokes = {["Nome do poke"] = {x = 53, y = 70, z = 7},( ea position)}local level = Aqui o level que ele vem se o teu server tive level.local extrastr = 1.5local btype = "Qual ball vc quer que venha"function onUse(cid, item, frompos, item2, topos)if getPlayerLevel(cid) > 5 thenreturn trueendlocal pokemon = ""for a, b in pairs (starterpokes) doif isPosEqualPos(topos, b) thenpokemon = aendendif pokemon == "" then return true endaddPokeToPlayer(cid, pokemon, level, extrastr, nil, 0, btype, true)doPlayerAddItem(cid, 2394, 10)doPlayerSendTextMessage(cid, 27, " Texto aqui.")doPlayerSendTextMessage(cid, 27, "Texto aqui!")doSendMagicEffect(getThingPos(cid), 29)doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)))doSendMagicEffect(getThingPos(cid), 27)doSendMagicEffect(getThingPos(cid), 29)return TRUEend -
Concerteza não tem.
-
Onde fica .lua que eu configuro o poke o status dele envolution etc porque quero add mais pokes eu nao consigui a base é issa ak http://www.xtibia.com/forum/topic/222270-pokemon-online-x-com-sources/
Jah achei nao precisa mais pode feixa
-
Se poder fazer as outras dou mais rep+
-
Tente muda no conf.lua
-
Isso mesmo bolz só passa pra quem que vai fazer algo e não pros ot-admin!
-
Ata obg zipter então tenta esse qui cara
function doPushCreatureTo(uid, direction, distance, speed) --//doPushCreature(creature,getPlayerLookDir(cid))
-- Desenvolvido por Dokmos 30/01/2009-- Apoio Dinastiaslocal pos = getThingPos(uid)local PARAM = {{1}, {500}}local DIRECTION = {{{0,0},{6,7},{1,3}}, {{1,1},{5,7},{0,2}}, {{2,2},{4,5},{1,3}}, {{3,3},{4,6},{0,2}},{{4,4},{2,3}}, {{5,5}, {1,2}}, {{6,6},{0,1}}, {{7,7},{0,3}}}table.insert(PARAM[1], distance)table.insert(PARAM[2], speed)for dvar = 1, #DIRECTION[direction+1] dorand = math.random(2)d = DIRECTION[direction+1][dvar][rand]dir = {x = (math.fmod(d,2)*(-(d-2))+math.floor(d/4)*math.fmod(d,2)*d-math.floor(d/4)), y = (((d-1)*(d-1-(d-1)*math.abs(d-2))*(1-math.floor(d/4)))-(math.floor(d/4)*(math.floor(d/6)*2-1)))}newtile = {x = (pos.x+dir.x), y = (pos.y+dir.y), z = pos.z}if (getTileThingByPos(newtile).uid ~= 0) and (hasProperty(getTileThingByPos(newtile).uid,3) == FALSE) and (queryTileAddThing(uid,newtile) == 1) then break endrand = (math.fmod(rand,2)+1)d = DIRECTION[direction+1][dvar][rand]dir = {x = (math.fmod(d,2)*(-(d-2))+math.floor(d/4)*math.fmod(d,2)*d-math.floor(d/4)), y = (((d-1)*(d-1-(d-1)*math.abs(d-2))*(1-math.floor(d/4)))-(math.floor(d/4)*(math.floor(d/6)*2-1)))}newtile = {x = (pos.x+dir.x), y = (pos.y+dir.y), z = pos.z}if (getTileThingByPos(newtile).uid ~= 0) and (hasProperty(getTileThingByPos(newtile).uid,3) == FALSE) and (queryTileAddThing(uid,newtile) == 1) then break endif (dvar == #DIRECTION[direction+1]) thennewtile = posendenddoTeleportThing(uid, newtile, true)if (PARAM[1][#PARAM[1]] > 1) thenaddEvent(doPushCreature, PARAM[2][#PARAM[2]], uid, direction, (distance-1), speed)endend--///////////////////////////////////////////////////////////////////////////////////////////////////////--local dirpref = {[1] = {[NORTH] = {[1] = {NORTH}, [2] = {EAST, WEST}, [3] = {NORTHEAST, NORTHWEST}},[EAST] = {[1] = {EAST}, [2] = {NORTH, SOUTH}, [3] = {NORTHEAST, SOUTHEAST}},[sOUTH] = {[1] = {SOUTH}, [2] = {EAST, WEST}, [3] = {SOUTHEAST, SOUTHWEST}},[WEST] = {[1] = {WEST}, [2] = {SOUTH, NORTH}, [3] = {NORTHWEST, SOUTHWEST}},[NORTHEAST] = {[1] = {NORTH, EAST}, [2] = {NORTHEAST}, [3] = {SOUTH, WEST}},[sOUTHEAST] = {[1] = {SOUTH, EAST}, [2] = {SOUTHEAST}, [3] = {NORTH, WEST}},[sOUTHWEST] = {[1] = {SOUTH, WEST}, [2] = {SOUTHWEST}, [3] = {NORTH, EAST}},[NORTHWEST] = {[1] = {NORTH, WEST}, [2] = {NORTHWEST}, [3] = {EAST, SOUTH}}},[2] = {[NORTH] = {[1] = {NORTH}, [2] = {WEST, EAST}, [3] = {NORTHWEST, NORTHEAST}},[EAST] = {[1] = {EAST}, [2] = {SOUTH, NORTH}, [3] = {SOUTHEAST, NORTHEAST}},[sOUTH] = {[1] = {SOUTH}, [2] = {WEST, EAST}, [3] = {SOUTHWEST, SOUTHEAST}},[WEST] = {[1] = {WEST}, [2] = {NORTH, SOUTH}, [3] = {SOUTHWEST, NORTHWEST}},[NORTHEAST] = {[1] = {EAST, NORTH}, [2] = {NORTHEAST}, [3] = {WEST, SOUTH}},[sOUTHEAST] = {[1] = {EAST, SOUTH}, [2] = {SOUTHEAST}, [3] = {WEST, NORTH}},[sOUTHWEST] = {[1] = {WEST, SOUTH}, [2] = {SOUTHWEST}, [3] = {EAST, NORTH}},[NORTHWEST] = {[1] = {WEST, NORTH}, [2] = {NORTHWEST}, [3] = {SOUTH, EAST}}},}function doPushCreature(uid,direction,distance,time)if isCreature(uid) == TRUE thenlocal rand = (2*math.random(0,1))-1local rand2 = math.random(-1,0)if direction == 0 thensignal = {0,rand,-rand,rand,-rand,0,-1,-1,-1,0,0,0}elseif direction == 1 thensignal = {1,1,1,0,0,0,0,rand,-rand,rand,-rand,0}elseif direction == 2 thensignal = {0,rand,-rand,rand,-rand,0,1,1,1,0,0,0}elseif direction == 3 thensignal = {-1,-1,-1,0,0,0,0,rand,-rand,rand,-rand,0}elseif direction == 4 thensignal = {-1,rand2,(-rand2)-1,0,1,rand2+1,rand2,0}elseif direction == 5 thensignal = {1,-rand2,-((-rand2)-1),0,1,rand2+1,rand2,0}elseif direction == 6 thensignal = {-1,rand2,(-rand2)-1,0,-1,(-rand2)-1,rand2,0}elsesignal = {1,-rand2,-((-rand2)-1),0,-1,(-rand2)-1,rand2,0}endlocal pos = getThingPos(uid)nsig = #signalnvar = 0repeatnvar = nvar+1newpos = {x=pos.x+(signal[nvar]),y=pos.y+(signal[(nsig/2)+nvar]),z=pos.z}newtile = {x=newpos.x,y=newpos.y,z=newpos.z,stackpos=0}until getTileThingByPos(newtile).uid ~= 0 and hasProperty(getTileThingByPos(newtile).uid,3) == FALSE and canWalkOnPos(newtile, true, false, true, true, false) and queryTileAddThing(uid,newpos) == 1 or nvar == (nsig/2)--alterado v1.5if distance == nil or distance == 1 thendoTeleportThing(uid,newpos,TRUE)elsedistance = distance-1doTeleportThing(uid,newpos,TRUE)if time ~= nil thenaddEvent(doPushCreature,time,uid,direction,distance,time)elseaddEvent(doPushCreature,500,uid,direction,distance,500)endendendendfunction doComparePosition(pos1, pos2)if pos1.x == pos2.x and pos1.y == pos2.y and pos1.z == pos2.z thenreturn trueendreturn falseendfunction walkTo(cid, direction, finalp, useExtraMoveOrder)if not isCreature(cid) then return true enddoChangeSpeed(cid, 5)local x = getThingPos(cid)local ratedelaywalk = 1local finalpos = {x = finalp.x, y = finalp.y, z = finalp.z}if not canWalkOnPos(finalpos, false, false, true, true, true) thenfinalpos = getClosestFreeTile(cid, finalpos)endif not finalpos thenreturn falseendlocal dir = getDirectionToWalk(cid, finalpos, 2, 0, 0, false, true, 300)if dir and tonumber(dir) ~= nil and tonumber(dir) >= 0 and tonumber(dir) <= 7 thenif dir >= 4 thenratedelaywalk = 0.4enddoPushCreature(cid, dir, 1, getNextStepDelay(cid, dir) * ratedelaywalk)return getNextStepDelay(cid, dir) * ratedelaywalkelseif useExtraMoveOrder thenlocal random = math.random(1, 2)for ta = 1, 3 dofor tb = 1, #dirpref[random][direction][ta] dolocal y = getPosByDir(getThingPos(cid), dirpref[random][direction][ta][tb])local w = getCreatureLP(cid)local z = getDirectionTo(y, getThingPos(cid)) -- direção q vai marcarlocal j = getDirectionTo(getThingPos(cid), y) -- direção q ele vaiif canWalkOnPos(y, true, false, true, true, true) and w ~= j thenif dirpref[random][direction][ta][tb] >= 4 thenratedelaywalk = 0.5enddoPushCreature(cid, dirpref[random][direction][ta][tb], 1, getNextStepDelay(cid, dirpref[random][direction][ta][tb]) * ratedelaywalk)markLP(cid, z)return getNextStepDelay(cid, dirpref[random][direction][ta][tb]) * ratedelaywalkendendendendreturn falseendfunction getCreatureLP(cid)return getPlayerStorageValue(cid, 197)endfunction markLP(cid, dir)setPlayerStorageValue(cid, 197, dir)endfunction markPos(sid, pos)if not isCreature(sid) then return endsetPlayerStorageValue(sid, 145, pos.x)setPlayerStorageValue(sid, 146, pos.y)setPlayerStorageValue(sid, 147, pos.z)endfunction markFlyingPos(sid, pos)if not isCreature(sid) then return endsetPlayerStorageValue(sid, 33145, pos.x)setPlayerStorageValue(sid, 33146, pos.y)setPlayerStorageValue(sid, 33147, pos.z)endfunction getFlyingMarkedPos(sid)if not isCreature(sid) then return endlocal xx = getPlayerStorageValue(sid, 33145)local yy = getPlayerStorageValue(sid, 33146)local zz = getPlayerStorageValue(sid, 33147)return {x = xx, y = yy, z = zz, stackpos = 0}endfunction getMarkedPos(sid)if not isCreature(sid) then return endlocal xx = getPlayerStorageValue(sid, 145)local yy = getPlayerStorageValue(sid, 146)local zz = getPlayerStorageValue(sid, 147)return {x = xx, y = yy, z = zz}endfunction getOwnerPos(sid)if not isCreature(sid) then return endlocal xx = getPlayerStorageValue(sid, 148)local yy = getPlayerStorageValue(sid, 149)local zz = getPlayerStorageValue(sid, 150)return {x = xx, y = yy, z = zz}endfunction markOwnerPos(sid, pos)if not isCreature(sid) then return endsetPlayerStorageValue(sid, 148, pos.x)setPlayerStorageValue(sid, 149, pos.y)setPlayerStorageValue(sid, 150, pos.z)endfunction recheck(sid, skill, pos)if not isCreature(sid) or not isCreature(getCreatureMaster(sid)) then return endlocal cid = getCreatureMaster(sid)if skill == "cut" thenlocal item = getTileItemById(pos, 2767)doCreatureSay(sid, "CUT!", TALKTYPE_MONSTER)markPos(sid, {x=1,y=1,z=7})doFaceCreature(sid, pos)doSendMagicEffect(getThingPos(item.uid), 141)doTransformItem(item.uid, 6216)local function growBush()doTransformItem(getTileItemById(pos, 6216).uid, 2767)endaddEvent(growBush, intervalToRegrowBushAndStones * 1000)elseif skill == "rock smash" thenlocal item = getTileItemById(pos, 1285)doCreatureSay(sid, "ROCK SMASH!", TALKTYPE_MONSTER)markPos(sid, {x=1,y=1,z=7})doFaceCreature(sid, pos)doSendMagicEffect(getThingPos(item.uid), 118)doTransformItem(item.uid, 3610)local function growRock()doTransformItem(getTileItemById(pos, 3610).uid, 1285)endaddEvent(growRock, intervalToRegrowBushAndStones * 1000)elseif skill == "headbutt" then --alterado v1.6local master = getCreatureMaster(sid)local array = {}local lvl = {25, 40, 60, 80, 1000} --lvlsfor i = 1, #lvl doif getPlayerLevel(master) <= lvl thenarray = headbutt[lvl]breakendendlocal rand = array[math.random(#array)]for j = 1, rand[2] dolocal poke = doCreateMonster(rand[1], getClosestFreeTile(sid, pos))doSetMonsterPassive(poke)doWildAttackPlayer(poke, master)endlocal item = getTileItemById(pos, 12591) --id do item arvore normaldoCreatureSay(sid, "HEADBUTT!", TALKTYPE_MONSTER)markPos(sid, {x=1,y=1,z=7})doFaceCreature(sid, pos)doSendMagicEffect(getThingPos(item.uid), 118)doTransformItem(item.uid, 12592) --id do item arvore quebradalocal function growHead()doTransformItem(getTileItemById(pos, 12592).uid, 12591) --id do item arvore quebrada, arvore normalendaddEvent(growHead, choose(5, 10, 20, 30) * 60 * 1000) --o tempo pra arvore voltar ao normal varia de 5~30minelseif skill == "dig" thenlocal item = getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0})doCreatureSay(sid, "DIG!", TALKTYPE_MONSTER)markPos(sid, {x=1,y=1,z=7})doFaceCreature(sid, pos)doSendMagicEffect(getThingPos(item.uid), 3)doTransformItem(item.uid, item.itemid+1)local function closeHole()doTransformItem(getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).uid, item.itemid)endaddEvent(closeHole, intervalToRegrowBushAndStones * 1000)elseif skill == "fly" thenif not isPremium(cid) thendoPlayerSendCancel(cid, "Only premium members are allowed to fly.")return trueendlocal pokemon = flys[getPokemonName(getCreatureSummons(cid)[1])]doPlayerSendTextMessage(cid, 27, "Type \"up\" or \"h1\" to fly/levitate higher and \"down\" or \"h2\" to fly/levitate lower.") --alterado v1.8doChangeSpeed(cid, -getCreatureSpeed(cid))local speed = 500 + PlayerSpeed/5 + getSpeed(sid) * 6 * speedRatedoChangeSpeed(cid, speed)setPlayerStorageValue(cid, 54844, speed)doSetCreatureOutfit(cid, {lookType = pokemon[1] + 351}, -1)doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "hp", getCreatureHealth(getCreatureSummons(cid)[1]) / getCreatureMaxHealth(getCreatureSummons(cid)[1]))doRemoveCreature(getCreatureSummons(cid)[1])setPlayerStorageValue(cid, 17000, 1)if getCreatureOutfit(cid).lookType == 667 or getCreatureOutfit(cid).lookType == 999 thenmarkPosEff(cid, getThingPos(cid))sendMovementEffect(cid, 136, getThingPos(cid)) --edited efeito quando anda com o porygonendlocal item = getPlayerSlotItem(cid, 8)if getItemAttribute(item.uid, "boost") and getItemAttribute(item.uid, "boost") >= 50 and getPlayerStorageValue(cid, 42368) <= 0 thensendAuraEffect(cid, auraSyst[getItemAttribute(item.uid, "aura")]) --alterado v1.8endif useOTClient thendoPlayerSendCancel(cid, '12//,hide') --alterado v1.8endreturn trueelseif skill == "ride" thenlocal pokemon = rides[getPokemonName(getCreatureSummons(cid)[1])]doChangeSpeed(cid, -getCreatureSpeed(cid))local speed = 150 + PlayerSpeed + getSpeed(sid) * 5 * speedRatedoChangeSpeed(cid, speed)setPlayerStorageValue(cid, 54844, speed)doSetCreatureOutfit(cid, {lookType = pokemon[1] + 351}, -1)doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "hp", getCreatureHealth(getCreatureSummons(cid)[1]) / getCreatureMaxHealth(getCreatureSummons(cid)[1]))doRemoveCreature(getCreatureSummons(cid)[1])setPlayerStorageValue(cid, 17001, 1)local item = getPlayerSlotItem(cid, 8)if getItemAttribute(item.uid, "boost") and getItemAttribute(item.uid, "boost") >= 50 and getPlayerStorageValue(cid, 42368) <= 0 thensendAuraEffect(cid, auraSyst[getItemAttribute(item.uid, "aura")]) --alterado v1.8endif useOTClient thendoPlayerSendCancel(cid, '12//,hide') --alterado v1.8endreturn trueendif getOwnerPos(sid).x ~= getThingPos(getCreatureMaster(sid)).x or getOwnerPos(sid).y ~= getThingPos(getCreatureMaster(sid)).y or isCreature(getCreatureTarget(getCreatureMaster(sid))) thendoRegainSpeed(sid)markPos(sid, {x=1,y=1,z=7})return trueendaddEvent(recheck, 120, sid)endfunction goThere(sid, thepos, skill, target, rept)if not isCreature(sid) or not isCreature(getCreatureMaster(sid)) then return true endif getCreatureNoMove(sid) or isSleeping(sid) or isParalyze(sid) then return true end --alterado v1.6if thepos.x ~= getMarkedPos(sid).x or thepos.y ~= getMarkedPos(sid).y then return true endif isCreature(getCreatureTarget(getCreatureMaster(sid))) and target == false or (rept and rept <= 0) thendoRegainSpeed(sid)markPos(sid, {x=1,y=1,z=7})return trueendif (skill == "ride" or skill == "fly") and getDistanceBetween(getThingPos(sid), getMarkedPos(sid)) <= 1 thenlocal currentPos = getThingPos(getCreatureMaster(sid))local summonPos = getThingPos(sid)local masterPos = getCreatureLastPosition(sid)if (getThingPos(sid).x == getThingPos(getCreatureMaster(sid)).x and getThingPos(sid).y == getThingPos(getCreatureMaster(sid)).y) or (currentPos.x == masterPos.x and currentPos.y == masterPos.y) thenrecheck(sid, skill, thepos)return trueendif currentPos.x == thepos.x and currentPos.y == thepos.y thenif getDirectionTo(getThingPos(sid), getThingPos(getCreatureMaster(sid))) <= 3 thendoRegainSpeed(sid)local ndelay = getNextStepDelay(sid, 0)doTeleportThing(sid, thepos, true)doChangeSpeed(sid, -getCreatureSpeed(sid))markPos(sid, getThingPos(getCreatureMaster(sid)))addEvent(goThere, ndelay, sid, getMarkedPos(sid), skill, target)elsedoChangeSpeed(sid, - getCreatureSpeed(sid))doRegainSpeed(sid)markPos(sid, getThingPos(getCreatureMaster(sid)))local x = walkTo(sid, getDirectionTo(getThingPos(sid), getMarkedPos(sid)), getMarkedPos(sid), skill == "ride" or skill == "fly")doChangeSpeed(sid, - getCreatureSpeed(sid))addEvent(goThere, x, sid, getMarkedPos(sid), skill, target)endreturn trueelsemarkPos(sid, getThingPos(getCreatureMaster(sid)))doChangeSpeed(sid, - getCreatureSpeed(sid))doRegainSpeed(sid)local ndelay = getNextStepDelay(sid, 0)if getDirectionTo(getThingPos(sid), getMarkedPos(sid)) >= 4 thenlocal x = walkTo(sid, getDirectionTo(getThingPos(sid), getMarkedPos(sid)), getMarkedPos(sid), skill == "ride" or skill == "fly")elsedoTeleportThing(sid, getPosByDir(getThingPos(sid), getDirectionTo(getThingPos(sid), getMarkedPos(sid))))enddoChangeSpeed(sid, - getCreatureSpeed(sid))addEvent(goThere, x and x or ndelay, sid, getMarkedPos(sid), skill, target)return trueendaddEvent(recheck, 350, sid, skill, thepos)return trueendif getThingPos(sid).x == getMarkedPos(sid).x and getThingPos(sid).y == getMarkedPos(sid).y thenif isCreature(getCreatureTarget(sid)) thendoFaceCreature(sid, getThingPos(getCreatureTarget(sid)))endif skill == "blink" thendoChangeSpeed(sid, - getCreatureSpeed(sid)) --edited blinkendaddEvent(recheck, 350, sid, skill, thepos)return trueendif (getOwnerPos(sid).x ~= getThingPos(getCreatureMaster(sid)).x or getOwnerPos(sid).y ~= getThingPos(getCreatureMaster(sid)).y) and isCreature(getCreatureTarget(getCreatureMaster(sid))) == false and skill == "move" thendoRegainSpeed(sid)markPos(sid, {x=1,y=1,z=7})return trueenddoRegainSpeed(sid)local holeid = theposholeid.stackpos = 0holeid = getTileThingByPos(holeid).itemidif getDistanceBetween(getThingPos(sid), getMarkedPos(sid)) <= 1 and (not isWalkable(getPosByDir(getThingPos(sid), getDirectionTo(getThingPos(sid), getMarkedPos(sid))), true, false, false, true) or isInArray(specialabilities["digholes"], holeid)) thenif isGhostPokemon(sid) and getPlayerStorageValue(getCreatureMaster(sid), 990) <= 0 thenlocal todir = getDirectionTo(getThingPos(sid), getMarkedPos(sid))if todir <= 3 thendoTeleportThing(sid, getMarkedPos(sid), true)elselocal gotopos = getPosByDir(getThingPos(sid), dirpref[math.random(1, 2)][todir][1][math.random(1, 2)])doTeleportThing(sid, gotopos, true)addEvent(goThere, getNextStepDelay(sid, 0), sid, getMarkedPos(sid), skill, target)return trueendenddoFaceCreature(sid, getMarkedPos(sid))addEvent(recheck, 180, sid, skill, thepos)doChangeSpeed(sid, - getCreatureSpeed(sid))return trueendlocal ret = 0if getDistanceBetween(getThingPos(sid), getMarkedPos(sid)) <= 1 thenret = walkTo(sid, getDirectionTo(getThingPos(sid), getMarkedPos(sid)), getMarkedPos(sid), skill == "ride" or skill == "fly" or isGhostPokemon(sid))if not tonumber(ret) thendoFaceCreature(sid, getMarkedPos(sid))addEvent(recheck, 180, sid, skill, thepos)doChangeSpeed(sid, - getCreatureSpeed(sid))return trueendelse --alteradoret = walkTo(sid, getDirectionTo(getThingPos(sid), getMarkedPos(sid)), getMarkedPos(sid), skill == "ride" or skill == "fly" or not isGhostPokemon(sid))-- and isSightClear(getThingPos(sid), getMarkedPos(sid), false)))endif not tonumber(ret) thendoPlayerSendCancel(getCreatureMaster(sid), "Destination is not reachable.")markPos(sid, {x=1,y=1,z=7})return trueenddoChangeSpeed(sid, - getCreatureSpeed(sid))addEvent(goThere, tonumber(ret), sid, getMarkedPos(sid), skill, target, rept and rept - 1 or 22)end -
Tente trocar por esse
local skills = specialabilities
local surfborders = {4644, 4645, 4646, 4647, 4648, 4649, 4650, 4651, 4652, 4653, 4654, 4655, 4656, 4657, 4658, 4659, 4660, 4661, 4662, 4663}local storages = {17000, 63215, 17001, 13008, 5700} --alterado v2.9 \/local unfix = {x = 1, y = 1, z = 1}local txt = {["rock smash"] = {"break that rock!", "smash that rock!", "destroy that rock!", "smash it!", "break it!", "destroy it!"},["cut"] = {"cut that bush!", "cut it down!", "cut it off!", "cut off that bush!", "cut down that bush!", "cut that bush down!"},["move"] = {"move!", "move there!", "go there!", "walk there!"},["light"] = {"flash!", "light!", "flash this place!", "light up this place!"},["dig"] = {"open that hole!", "dig that hole!", "open it!", "dig it!"},["blink"] = {"teleport there!", "blink there!", "blink!", "teleport!"},["ride"] = {"let me ride you!", "let's ride!", "let me mount you!", "let me get on you!"},["fly"] = {"let's fly!", "let me get on you!"} ,["untransform"] = {"go back to normal!", "transform into yourself again!", "stop transformation!"},["headbutt"] = {"headbutt on three", "headbutt that three!", "headbutt it off"}, --alterado v2.6["levitate_fly"] = {"let's levitate!", "let me get on you!", "let's scary someone!"}, --alterado v2.8}function onUse(cid, item, frompos, item2, topos)local checkpos = toposcheckpos.stackpos = 0if getPlayerStorageValue(cid, 75846) >= 1 then return true end --alterado v2.9if getTileThingByPos(checkpos).uid <= 0 then return true end--------END FLY/RIDE --------if getCreatureCondition(cid, CONDITION_OUTFIT) and (item2.uid == cid or getRecorderPlayer(topos) == cid) and (getPlayerStorageValue(cid, 17000) >= 1 or getPlayerStorageValue(cid, 17001) >= 1) thenif isInArray({460, 11675, 11676, 11677}, getTileInfo(getThingPos(cid)).itemid) thendoPlayerSendCancel(cid, "You can\'t stop flying at this height!")return trueendlocal item = getPlayerSlotItem(cid, 8)local pokemon = getItemAttribute(item.uid, "poke")local x = pokes[pokemon]if getTileInfo(getThingPos(cid)).itemid >= 4820 and getTileInfo(getThingPos(cid)).itemid <= 4825 thendoPlayerSendCancel(cid, "You can\'t stop flying above the water!")return trueenddoSummonMonster(cid, pokemon)local pk = getCreatureSummons(cid)[1]if not isCreature(pk) thenpk = doCreateMonster(pokemon, backupPos)if not isCreature(pk) thendoPlayerSendCancel(cid, "You can't stop flying/riding here.")return trueenddoConvinceCreature(cid, pk)enddoTeleportThing(pk, getThingPos(cid), false)doCreatureSetLookDir(pk, getCreatureLookDir(cid))adjustStatus(pk, item.uid, true, false, true)doPlayerSay(cid, ""..getPokeName(getCreatureSummons(cid)[1])..", let me get down!", 1)doRegainSpeed(cid) --alterado v2.7doRemoveCondition(cid, CONDITION_OUTFIT)setPlayerStorageValue(cid, 17000, -1)setPlayerStorageValue(cid, 17001, -1)if useOTClient thendoUpdateMoves(cid)doPlayerSendCancel(cid, '12//,show')--alterado v2.9endreturn trueend-----------------------------local player = getRecorderPlayer(topos) --alterado v2.8 \/-------- DUEL SYSTEM ------------------------if isPlayer(player) and player ~= cid and getPlayerStorageValue(player, 6598754) <= -1 and getPlayerStorageValue(player, 52480) <= -1 thenif getPlayerStorageValue(cid, 52480) <= -1 or (getPlayerStorageValue(cid, 52481) >= 1 and getPlayerStorageValue(cid, 52482) ~= -1) then---for s = 1, #storages doif getPlayerStorageValue(cid, storages) >= 1 thenreturn doPlayerSendTextMessage(cid, 20, "You can't do that while is Flying, Riding, Surfing, Diving or mount a bike!")endendif getPlayerStorageValue(cid, 6598754) == 1 or getPlayerStorageValue(cid, 6598755) == 1 thenreturn doPlayerSendTextMessage(cid, 20, "You can't do that while in PVP zone!")endif #getCreatureSummons(cid) < 1 thenreturn doPlayerSendTextMessage(cid, 20, "You need a pokemon to invit someone to duel!")end---if getPlayerStorageValue(cid, 52480) <= -1 thendoPlayerSetVocation(cid, 7)openChannelDialog(cid)setPlayerStorageValue(cid, 52480, 1)setPlayerStorageValue(cid, 6598754, 5)setPlayerStorageValue(cid, 52482, getCreatureName(cid)..",")setPlayerStorageValue(cid, 52483, getCreatureName(player)..",")doCreatureSetSkullType(cid, 2)doSendAnimatedText(getThingPosWithDebug(cid), "FIRST TEAM", 215)return trueelseif getPlayerStorageValue(cid, 52481) >= 1 and getPlayerStorageValue(cid, 52482) ~= -1 thenlocal t1 = string.explode(getPlayerStorageValue(cid, 52482), ",")local t2 = string.explode(getPlayerStorageValue(cid, 52483), ",")if (#t1 >= getPlayerStorageValue(cid, 52480) and #t2 >= getPlayerStorageValue(cid, 52480)) or (isInArray(t1, getCreatureName(player)) or isInArray(t2, getCreatureName(player))) thenreturn trueendlocal sto2, sto3, name = getPlayerStorageValue(cid, 52482), getPlayerStorageValue(cid, 52483), getCreatureName(player)if getPlayerStorageValue(cid, 52480) == 2 thensetPlayerStorageValue(cid, 52483, sto3.. name..",") --time adversariodoSendAnimatedText(getThingPosWithDebug(player), "SECOND TEAM", 215)elseif getPlayerStorageValue(cid, 52480) == 3 and #t1 < 3 thensetPlayerStorageValue(cid, 52482, sto2.. name..",") --time aliadodoSendAnimatedText(getThingPosWithDebug(player), "FIRST TEAM", 215)elseif getPlayerStorageValue(cid, 52480) == 3 and #t1 >= 3 thensetPlayerStorageValue(cid, 52483, sto3.. name..",") --time adversariodoSendAnimatedText(getThingPosWithDebug(player), "SECOND TEAM", 215)endsetPlayerStorageValue(player, 52481, getPlayerStorageValue(cid, 52481))setPlayerStorageValue(player, 52485, getCreatureName(cid))local players, pokes = getPlayerStorageValue(cid, 52480), getPlayerStorageValue(cid, 52481) --alterado v1.9 \/local str = {}table.insert(str, getCreatureName(cid).." is inviting you to a duel! Use order in him to accept it!\n")table.insert(str, "Info Battle: Duel "..players.."x"..players.." - "..pokes.." pokes.")doPlayerSendTextMessage(player, 20, table.concat(str))return trueendend---elseif isPlayer(player) and player ~= cid and getPlayerStorageValue(player, 6598754) == 5 and getPlayerStorageValue(player, 52481) >= 1 thenlocal t1 = string.explode(getPlayerStorageValue(player, 52482), ",")local t2 = string.explode(getPlayerStorageValue(player, 52483), ",")---if not isInArray(t1, getCreatureName(cid)) and not isInArray(t2, getCreatureName(cid)) thenreturn trueend---for s = 1, #storages doif getPlayerStorageValue(cid, storages) >= 1 thenreturn doPlayerSendTextMessage(cid, 20, "You can't do that while is Flying, Riding, Surfing, Diving or mount a bike!")endendif getPlayerStorageValue(cid, 6598754) == 1 or getPlayerStorageValue(cid, 6598755) == 1 thenreturn doPlayerSendTextMessage(cid, 20, "You can't do that while in PVP zone!")endlocal pokes = getLivePokeballs(cid, getPlayerSlotItem(cid, 3).uid, true)if #pokes < getPlayerStorageValue(player, 52481) thenreturn doPlayerSendTextMessage(cid, 20, "You need atleast ".. getPlayerStorageValue(player, 52481).." pokemons to duel with this person!")endif getPlayerStorageValue(cid, 52482) ~= -1 thenreturn doPlayerSendTextMessage(cid, 20, "You already invit someone to duel!")endif #getCreatureSummons(cid) < 1 thenreturn doPlayerSendTextMessage(cid, 20, "You need a pokemon to accept a duel!")end---setPlayerStorageValue(cid, 52480, getPlayerStorageValue(player, 52480))setPlayerStorageValue(player, 52484, getPlayerStorageValue(player, 52484)-1)if getPlayerStorageValue(player, 52484) == 0 thenfor a = 1, #t1 dolocal pid, sid = getPlayerByName(t1[a]), getPlayerByName(t2[a])if not isCreature(pid) or getPlayerStorageValue(pid, 52480) <= -1 thenremoveFromTableDuel(player, t1[a])elsedoCreatureSetSkullType(pid, 1)endif not isCreature(sid) or getPlayerStorageValue(sid, 52480) <= -1 thenremoveFromTableDuel(player, t2[a])elsedoCreatureSetSkullType(sid, 1)endendbeginDuel(player, 6)elsedoCreatureSetSkullType(cid, 2)enddoSendAnimatedText(getThingPos(cid), "BATTLE", COLOR_ELECTRIC)return trueelseif isPlayer(player) and player == cid and getPlayerStorageValue(player, 52480) >= 1 thendoEndDuel(cid, true)return trueend------------------------------------------------------------------------------------if #getCreatureSummons(cid) == 0 then return doPlayerSendCancel(cid, "You need a pokemon to use order!") endif getCreatureNoMove(getCreatureSummons(cid)[1]) then return true endmarkLP(getCreatureSummons(cid)[1], -1)if getMarkedPos(getCreatureSummons(cid)[1]).x == topos.x and getMarkedPos(getCreatureSummons(cid)[1]).y == topos.y thenreturn trueendlocal thisball = getPlayerSlotItem(cid, 8)local mysum = getCreatureSummons(cid)[1]local sid = mysum or cidlocal maxMoveDist = getDistanceBetween(getThingPos(sid), topos) * 2 + 1markPos(mysum, topos)markOwnerPos(mysum, getThingPos(cid))-------- ROCK SMASH ---------if item2.itemid == 1285 and isInArray(skills["rock smash"], getPokemonName(mysum)) thendoPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["rock smash"][math.random(1, #txt["rock smash"])].."", 1)addEvent(goThere, 500, mysum, topos, "rock smash", isCreature(getCreatureTarget(cid)))return trueend------------------------------------- HEADBUTT -----------if item2.itemid == 12591 and getPokemonLevel(mysum) >= 15 then --alterado v2.6--id do item arvore normaldoPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["headbutt"][math.random(1, #txt["headbutt"])].."", 1)addEvent(goThere, 500, mysum, topos, "headbutt", isCreature(getCreatureTarget(cid)))return trueend------------------------------------- CUT ----------------if item2.itemid == 2767 and isInArray(skills["cut"], getPokemonName(mysum)) thendoPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["cut"][math.random(1, #txt["cut"])].."", 1)addEvent(goThere, 500, mysum, topos, "cut", isCreature(getCreatureTarget(cid)))return trueend------------------------------------- TRANSFORM ----------if getCreatureName(mysum) == "Ditto" and isMonster(item2.uid) and pokes[getCreatureName(item2.uid)] then --alterado v2.7if item2.uid == mysum thenif isTransformed(mysum) thendeTransform(mysum, getItemAttribute(thisball.uid, "transTurn"))markPos(mysum, unfix)doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["untransform"][math.random(1, #txt["untransform"])].."", 1)if useKpdoDlls thendoUpdateMoves(cid) --alterado v2.9endreturn trueenddoPlayerSendCancel(cid, "Your ditto is not transformed.")markPos(mysum, unfix)return trueendif getCreatureName(item2.uid) == "Ditto" thendoPlayerSendCancel(cid, "Your ditto can't transform into another ditto.")markPos(mysum, unfix)return trueendif getCreatureName(item2.uid) == getPlayerStorageValue(mysum, 1010) thendoPlayerSendCancel(cid, "Your ditto is already transformed into that pokemon.")markPos(mysum, unfix)return trueendlocal cd = getCD(thisball.uid, "trans", 40)if cd > 0 thendoPlayerSendCancel(cid, "Your pokemon is too tired to transform again. Cooldown: ("..getStringmytempo(cd)..")")return trueendif getHappiness(mysum) <= 50 thendoSendMagicEffect(getThingPos(mysum), happinessRate[1].effect)markPos(mysum, unfix)return trueendlocal turn = getItemAttribute(thisball.uid, "transTurn")if not turn or turn > 10 thendoItemSetAttribute(thisball.uid, "transTurn", 0)elsedoItemSetAttribute(thisball.uid, "transTurn", turn + 1)endlocal time = 140 + 2 * getPokemonLevel(mysum)turn = getItemAttribute(thisball.uid, "transTurn")markPos(mysum, unfix)setPlayerStorageValue(mysum, 1010, getCreatureName(item2.uid))doSetCreatureOutfit(mysum, {lookType = getPokemonXMLOutfit(getCreatureName(item2.uid))}, -1) --alterado v2.8addEvent(deTransform, time * 1000, mysum, turn)doSendMagicEffect(getThingPos(mysum), 184)doCreatureSay(mysum, "TRANSFORM!", TALKTYPE_MONSTER)local name = getCreatureName(item2.uid)setCD(thisball.uid, "trans", 40)doItemSetAttribute(thisball.uid, "transBegin", os.clock())doSetItemAttribute(thisball.uid, "transLeft", time)doSetItemAttribute(thisball.uid, "transOutfit", getPokemonXMLOutfit(getCreatureName(item2.uid))) --alterado v2.8doSetItemAttribute(thisball.uid, "transName", getCreatureName(item2.uid))doFaceCreature(mysum, getThingPos(item2.uid))doPlayerSay(cid, ""..getPokeName(mysum)..", transform into "..getArticle(name).." "..name.."!", 1)if useKpdoDlls thendoUpdateMoves(cid) --alterado v2.6endif dittoCopiesStatusToo thendoSetItemAttribute(thisball.uid, "boffense", dittoBonus * getOffense(item2.uid))doSetItemAttribute(thisball.uid, "bdefense", dittoBonus * getDefense(item2.uid))doSetItemAttribute(thisball.uid, "bsattack", dittoBonus * getSpecialAttack(item2.uid))doSetItemAttribute(thisball.uid, "bagility", dittoBonus * getSpeed(item2.uid))adjustStatus(mysum, thisball.uid)endreturn trueend------------------------------------- LIGHT --------------if isMonster(item2.uid) and getCreatureMaster(item2.uid) == cid thenmarkPos(mysum, unfix)if not isInArray(skills["light"], getPokemonName(item2.uid)) thendoPlayerSendCancel(cid, "Your pokemon can't use flash.")return trueendlocal cd = getCD(thisball.uid, "light", 30)if cd > 0 thendoPlayerSendCancel(cid, "Your pokemon is too tired to use flash. Cooldown: ("..getStringmytempo(cd)..")")return trueenddoPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["light"][math.random(1, #txt["light"])].."", 1)doCreatureSay(mysum, "FLASH!", TALKTYPE_MONSTER)doSendMagicEffect(getThingPos(mysum), 28)local size = 5size = size + math.floor(getSpecialAttack(mysum) / 60)size = size + math.ceil(getPokemonLevel(mysum) / 60)if size > 11 thensize = 11enddoSetCreatureLight(mysum, size, 215, 600*1000)local delay = math.floor(30 - getPokemonLevel(mysum) / 4)if delay > 0 thensetCD(thisball.uid, "light", delay)endreturn trueend------------------------------------- DIG ----------------if isInArray(skills["digholes"], item2.itemid) and isInArray(skills["dig"], getPokemonName(mysum)) thendoPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["dig"][math.random(1, #txt["dig"])].."", 1)addEvent(goThere, 500, mysum, topos, "dig", isCreature(getCreatureTarget(cid)))return trueend------------------------------------- BLINK / MOVE -------if not isCreature(item2.uid) and isInArray(skills["blink"], getPokemonName(mysum)) thenlocal cd = getCD(thisball.uid, "blink", 30)if getPlayerStorageValue(mysum, 2365487) == 1 thenreturn true --alterado v2.4endif cd > 0 or not canWalkOnPos(topos, false, false, true, true, true) thendoPlayerSendCancel(cid, "Blink cooldown: ("..getStringmytempo(cd)..")")doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["move"][math.random(1, #txt["move"])].."", 1)addEvent(goThere, 500, mysum, topos, "move", isCreature(getCreatureTarget(cid)), maxMoveDist)return trueendlocal CD = isShinyName(getCreatureName(mysum)) and 20 or 30 --edited blinkmarkPos(mysum, topos)markOwnerPos(mysum, getThingPos(cid))setCD(thisball.uid, "blink", CD)doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["blink"][math.random(1, #txt["blink"])].."", 1)doSendDistanceShoot(getThingPos(mysum), topos, 39)doSendMagicEffect(getThingPos(mysum), 211)doTeleportThing(mysum, topos, false)doSendMagicEffect(topos, 134)doCreatureSay(mysum, "BLINK!", TALKTYPE_MONSTER)goThere(mysum, topos, "blink", isCreature(getCreatureTarget(cid))) --edited blinkreturn trueend---------------------------------START FLYorRIDE ---------if (item2.uid == cid or getRecorderPlayer(topos) == cid) and (isInArray(skills["fly"], getPokemonName(mysum)) or isInArray(skills["ride"], getPokemonName(mysum)) or isInArray(skills["levitate_fly"], getPokemonName(mysum))) thenif getPlayerStorageValue(cid, 6598754) == 1 or getPlayerStorageValue(cid, 6598755) == 1 thenreturn doPlayerSendCancel(cid, "You can't do it while in the PVP Zone!") --alterado v2.7endif getPlayerStorageValue(cid, 212124) >= 1 then --alterado v2.6return doPlayerSendCancel(cid, "You can't do it with a pokemon with mind controlled!")endif getPlayerStorageValue(cid, 52480) >= 1 thenreturn doPlayerSendCancel(cid, "You can't do it while a duel!")endif getPlayerStorageValue(cid, 5700) == 1 thendoPlayerSendCancel(cid, "You can't do that while is mount in a bike!") --edited proteçao pra bikereturn trueendif getPlayerStorageValue(cid, 22545) >= 1 and (isInArray(skills["fly"], getPokemonName(mysum)) or isInArray(skills["levitate_fly"], getPokemonName(mysum))) thenreturn doPlayerSendCancel(cid, "You can't do that while in the Golden Arena!")endlocal pct = getCreatureHealth(mysum) / getCreatureMaxHealth(mysum)doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "hp", 1 - pct)if isInArray(skills["fly"], getPokemonName(mysum)) thendoPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["fly"][math.random(1, #txt["fly"])].."", 1)addEvent(goThere, 500, mysum, topos, "fly", isCreature(getCreatureTarget(cid)))elseif isInArray(skills["levitate_fly"], getPokemonName(mysum)) thendoPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["levitate_fly"][math.random(1, #txt["levitate_fly"])].."", 1)addEvent(goThere, 500, mysum, topos, "fly", isCreature(getCreatureTarget(cid)))elsedoPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["ride"][math.random(1, #txt["ride"])].."", 1)addEvent(goThere, 500, mysum, topos, "ride", isCreature(getCreatureTarget(cid)))endreturn trueend----------------------------------Control Mind--------------------------------------------if isCreature(item2.uid) and ehMonstro(item2.uid) and isInArray(skills["control mind"], getCreatureName(mysum)) and item2.uid ~= mysum thenif not isCreature(item2.uid) thenreturn trueendif isSleeping(mysum) thenreturn doPlayerSendCancel(cid, "Your pokemon is sleeping...zZzZ")endif getTileInfo(getThingPos(cid)).protection or getTileInfo(getThingPos(getCreatureSummons(cid)[1])).protection thenreturn doPlayerSendCancel(cid, "You or your pokemon are in Pz zone!")endif #getCreatureSummons(cid) == 2 thenreturn doPlayerSendCancel(cid, "You only can control one Pokemon!")endlocal cd = getCD(thisball.uid, "control", 120)if cd > 0 thendoPlayerSendCancel(cid, "You have to wait "..cd.." segs to use Control Mind again!")return trueendif getPokemonLevel(item2.uid) >= getPokemonLevel(mysum) thenreturn doPlayerSendCancel(cid, "Your pokemon can't control this mind!")endif getPlayerStorageValue(cid, 22545) >= 1 then --alterado v2.7return doPlayerSendCancel(cid, "You can't do that while in the Golden Arena!")endlocal cmed = item2.uidsetCD(thisball.uid, "control", 120)doSendDistanceShoot(getThingPos(mysum), getThingPos(cmed), 39)--------------setPlayerStorageValue(cid, 212124, 1)doConvinceCreature(cid, cmed)setPlayerStorageValue(cmed, 212123, 1)doCreatureSay(cid, ""..getCreatureName(mysum)..", control "..string.lower(getCreatureName(cmed)).."'s mind!", 1)local cmname = getCreatureName(mysum)local cmpos = getThingPos(mysum)local pokelife = (getCreatureHealth(mysum) / getCreatureMaxHealth(mysum))doItemSetAttribute(thisball.uid, "hp", pokelife)doRemoveCreature(mysum)local cmzao = doSummonCreature(""..cmname.." cm", cmpos)doConvinceCreature(cid, cmzao)setPlayerStorageValue(cid, 888, 1)if useKpdoDlls thendoUpdateMoves(cid)endlocal function check(cid, controled, rod)if isCreature(cid) thenball2 = getPlayerSlotItem(cid, 8)if getPlayerStorageValue(cid, 888) <= 0 thenreturn trueendif not isCreature(controled) thensetPlayerStorageValue(cid, 212124, 0)local sum = isCreature(getCreatureSummons(cid)[1]) and getCreatureSummons(cid)[1] or getCreatureSummons(cid)[2]local pkcmpos = getThingPos(sum)doRemoveCreature(sum)local item = getPlayerSlotItem(cid, 8)local pk = doSummonCreature(getItemAttribute(item.uid, "poke"), pkcmpos)doConvinceCreature(cid, pk)doCreatureSetLookDir(getCreatureSummons(cid)[1], 2)addEvent(doAdjustWithDelay, 100, cid, pk, true, true, false)setPlayerStorageValue(cid, 888, -1)cleanCMcds(item.uid)registerCreatureEvent(pk, "SummonDeath")if useKpdoDlls thendoUpdateMoves(cid)endreturn trueendif rod <= 0 then--Pokemon controladolocal cmed2 = getCreatureSummons(cid)[1]local poscmed = getThingPos(cmed2)local cmeddir = getCreatureLookDir(cmed2)local namecmed = getCreatureName(cmed2)local gender = getPokemonGender(cmed2)local level = getWildPokemonLevel(cmed2)local hp, maxHp = getCreatureHealth(getCreatureSummons(cid)[1]), getCreatureMaxHealth(getCreatureSummons(cid)[1])doRemoveCreature(getCreatureSummons(cid)[1])local back = doCreateMonster(namecmed, poscmed)addEvent(doCreatureSetSkullType, 150, back, gender)addEvent(setWildPokemonLevel, 150, back, level)doWildAttackPlayer(back, cid)doCreatureSetLookDir(back, cmeddir)addEvent(doCreatureAddHealth, 100, back, hp-maxHp)-- pokemon controladorlocal mynewpos = getThingPos(getCreatureSummons(cid)[1])doRemoveCreature(getCreatureSummons(cid)[1])local pk2 = doSummonCreature(getItemAttribute(ball2.uid, "poke"), mynewpos)doConvinceCreature(cid, pk2)addEvent(doAdjustWithDelay, 100, cid, pk2, true, true, false)setPlayerStorageValue(cid, 888, -1) --alterado v2.7doCreatureSetLookDir(getCreatureSummons(cid)[1], 2)setPlayerStorageValue(cid, 212124, 0)cleanCMcds(ball2.uid)registerCreatureEvent(pk2, "SummonDeath")if useKpdoDlls thendoUpdateMoves(cid)endelseif isInArray({"Haunter", "Gengar", "Shiny Gengar"}, cmname) thendoSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), 214)elsedoSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), 220)endendendaddEvent(check, 500, cid, controled, rod-1)endcheck(cid, cmed, 40)return trueend----------------------------------------------------------------------------- MOVE / END ---------local onlyWater = falseif isWater(getTileThingByPos(checkpos).itemid) thenonlyWater = truefor checkwater = 0, 7 doif not isWater(getTileThingByPos(getPosByDir(checkpos, checkwater)).itemid) thenonlyWater = falseendendendif onlyWater thendoPlayerSendCancel(cid, "Destination is not reachable.")return trueenddoPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["move"][math.random(1, #txt["move"])].."", 1)if isCreature(getCreatureTarget(cid)) thengoThere(mysum, topos, "move", isCreature(getCreatureTarget(cid)), maxMoveDist)elseaddEvent(goThere, 500, mysum, topos, "move", isCreature(getCreatureTarget(cid)), maxMoveDist)end-----------------------------return trueend -
A pagina de fan page está errado arruma
-
-
Quem Está Navegando 0 membros estão online
- Nenhum usuário registrado visualizando esta página.
[Pokémon] Titanium Sem lvl System
em OTServer Alternativo (ATS)
Postado · Editado por Tredfg
Maneirinho,pena que é pda..