-
Total de itens
18 -
Registro em
-
Última visita
Posts postados por eliaspalermo
-
-
3 horas atrás, Kuro o Shiniga disse:
function doHealOverTime(cid, div, turn, effect) if not isCreature(cid) then return true end if turn <= 0 or (getCreatureHealth(cid) == getCreatureMaxHealth(cid)) or getPlayerStorageValue(cid, 173) <= 0 then setPlayerStorageValue(cid, 173, -1) return true end local d = div / 10000 local amount = math.floor(getCreatureMaxHealth(cid) * d) doCreatureAddHealth(cid, amount) if math.floor(turn/10) == turn/10 then doSendMagicEffect(getThingPos(cid), effect) end addEvent(doHealOverTime, 100, cid, div, turn - 1, effect) end local potions = { [12347] = {effect = 13, div = 30}, --super potion [12348] = {effect = 13, div = 60}, --great potion [12346] = {effect = 12, div = 80}, --ultra potion [12345] = {effect = 14, div = 90}, --hyper potion [12343] = {effect = 14, div = 110}, --full restore } function onUse(cid, item, frompos, item2, topos) local pid = getThingFromPosWithProtect(topos) if not isSummon(pid) or getCreatureMaster(pid) ~= cid then return doPlayerSendCancel(cid, "You can only use potions on your own Pokemons!") end if getCreatureHealth(pid) == getCreatureMaxHealth(pid) then return doPlayerSendCancel(cid, "This pokemon is already at full health.") end if getPlayerStorageValue(pid, 173) >= 1 then return doPlayerSendCancel(cid, "This pokemon is already under effects of potions.") end if getPlayerStorageValue(cid, 52481) >= 1 then return doPlayerSendCancel(cid, "You can't do that while a duel.") end if getPlayerStorageValue(cid, 990) >= 1 then doPlayerSendCancel(cid, "You can't use rpotion during gym battles.") return true end local cd = { cdtime = 30, -- TEMPO EM SEGUNDO PARA PODER USAR O ITEM 30 = 30 SEGUNDOS ! str = 69889, -- NÃO MEXA } if getPlayerStorageValue(cid, cd.str) < os.time() then doCreatureSay(cid, "".. getCreatureName(pid)..", take this potion!", TALKTYPE_MONSTER) doSendMagicEffect(getThingPos(pid), 0) setPlayerStorageValue(cid, cd.str, os.time() + cd.cdtime) setPlayerStorageValue(pid, 173, 1) doRemoveItem(item.uid, 1) local a = potions[item.itemid] doHealOverTime(pid, a.div, 100, a.effect) elseif getPlayerStorageValue(cid, cd.str) >= os.time() then doPlayerSendCancel(cid, "espere para usar novamente") return true end end
Opa amigo obrigado, só que ainda não está curando instantaneamente e quando em batalha da lost heal e cancela a cura.
-
Muito obrigado amigo, funcionou direitinho ❤️ Rep+
-
Boa noite galera.
Bom, eu tenho aqui um script de tp scroll bem simples e queria que ele tivesse duas funções a mais, que seriam:
-Delay de 10 minutos para usar novamente
-Não poder usar em batalha
Se alguém puder me ajudar
Citarfunction onUse(cid, item, fromPosition, itemEx, toPosition)
local config = {
pos = {x = 987, y = 1029, z = 7}, -- posição que o player vai cair
}
if(itemEx.itemid == 13576) then
doPlayerSendTextMessage(cid, 19, "Voce foi transportado de volta a File City") -- mensagem que sairá quando ele for teleportado
doTeleportThing(cid, config.pos)
doRemoveItem(item.uid, 1)
end
return true
end -
6 horas atrás, bXnny disse:
Ah, isso aí é alguém que colocou pra trollar ahuaheauhe
Na primeira vez que eu abri eu fiquei com medo também. Pode ficar tranquilo que vai rodar 50 suave
AAh beleza então, valeu mano!!
-
Olá Boa noite.
Queria que esses potions recuperassem instantaneamente e tivessem um delay de 10 segundos de uso. Se alguém puder me ajudar ><
Citarfunction doHealOverTime(cid, div, turn, effect) --alterado v2.6 peguem o script todo!!
if not isCreature(cid) then return true endif turn <= 0 or (getCreatureHealth(cid) == getCreatureMaxHealth(cid)) or getPlayerStorageValue(cid, 173) <= 0 then
setPlayerStorageValue(cid, 173, -1)
return true
endlocal d = div / 10000
local amount = math.floor(getCreatureMaxHealth(cid) * d)
doCreatureAddHealth(cid, amount)
if math.floor(turn/10) == turn/10 then
doSendMagicEffect(getThingPos(cid), effect)
end
addEvent(doHealOverTime, 100, cid, div, turn - 1, effect)
endlocal potions = {
[12347] = {effect = 13, div = 15}, --Small Recovery
[12348] = {effect = 13, div = 30}, --Medium Recovery
[12346] = {effect = 12, div = 60}, --Large Recovery
[12345] = {effect = 14, div = 100}, --Super Recovery
}function onUse(cid, item, frompos, item2, topos)
local pid = getThingFromPosWithProtect(topos)if getCreatureMaster(pid) ~= cid then
return doPlayerSendCancel(cid, "Recovery e compativel apenas com o Digimon!")
endif getCreatureHealth(pid) == getCreatureMaxHealth(pid) then
return doPlayerSendCancel(cid, "Este Digimon ja esta com a vida totalmente cheia.")
endif getPlayerStorageValue(pid, 173) >= 1 then
return doPlayerSendCancel(cid, "Este Digimon ja esta sob uso do Recovery.")
endif getPlayerStorageValue(cid, 52481) >= 1 then
return doPlayerSendCancel(cid, "Voce nao pode usar Potion quando estiver no duelo.")
end
doCreatureSay(cid, ""..getCreatureName(pid)..", Pegue o Recovery!", TALKTYPE_SAY)
doSendMagicEffect(getThingPos(pid), 0)
setPlayerStorageValue(pid, 173, 1)
doRemoveItem(item.uid, 1)local a = potions[item.itemid]
doHealOverTime(pid, a.div, 100, a.effect)
doSendAnimatedText(getThingPos(item2.uid), "RECOVERY!", 205)return true
end -
2 horas atrás, bXnny disse:
Quem foi que disse que só da pra hostear sem hamachi no VPS?
Pra hostear sem hamachi você coloca o seu ipv4(cmd>ipconfig) no config.lua, aí você tem que liberar as portas no seu modem/roteador
http://www.techtudo.com.br/dicas-e-tutoriais/noticia/2014/06/como-liberar-uma-porta-no-roteador.html
Depois é só você entrar no meuip.com.br, esse vai ser o IP.
é bem curta a explicação mas é basicamente isso, eu não recomendo à ngm que não saiba ao menos ligar o ot server que comece um, é bastante treta
abraços!
Obrigado mano funcionou, simples e objetivo. Tem uns caras no youtube que dão umas voltas muito locas e não adianta de nada kkk
Tu sabe me dizer algo sobre essa questão do print que coloquei junto ao comentário?
-
Em 30/01/2019 em 09:46, Thalles Vitor disse:
Sem Hamachi - Tu tem que pagar uma VPS (Virtual Private Server) no caso HOST
Com Hamachi - Tu só precisa copiar o endereço IPV4 e colar no config.lua do seu servidor e substituir o ip do cliente , modules/client_entergame/entergame.lua
Não recomendo usar coisas que não seja host, pois se tua internet cair vai todo mundo cair do servidor
Mano se não for incomodo você poderia ensinar a colocar online sem o hamachi? Pela minha internet mesmo.
E me tira um dúvida aqui, no meu config.lua na linha de limite de player veio dizendo que está limitado e codificado pra 7. Isso quer dizer que esse servidor que peguei só suporta 7 players?
-
Funcionou perfeitamente!
Muito obrigado amigo, muito obrigado mesmo de verdade! Rep+
-
Boa tarde!
Tenho uma ideia de npcs que preciso implementar no meu servidor para que eu possa prosseguir nas edições da história.
Ele funcionaria da seguinte forma:
Primeiro Npc.
Ao falar com esse npc ele me da 3 opções de companhias que existem dentro do meu servidor (Blue Falcon, Gold Hawk e Black Sword).
E o player tem que escolher uma dessas pra prosseguir, após escolher ele seria transportado para a companhia que escolheu, então seriam 3 locais diferentes. E com isso ele também ganharia um item(Esse item não pode ser retirado da bag, seria como o id card da companhia dele)
Blue Falcon: Local = X + Blue Falcon Card
Gold Hawk: Local = Y + Gold Hawk Card
Black Sword: Local = Z + Black Sword Card
Segundo Npc.
Ao falar com esse npc ele vai pedir o ID card que o player ganhou no outro npc para que ele possa transportar o jogador para uma area.
E lembrando que esse item não pode sair da bag, então o npc não vai remove-lo.
Obs: A minha intenção é criar vários desse segundo npc para que haja uma variedade de missões diferentes para cada companhia, então seria melhor um script aonde eu pudesse apenas trocar o id do item que pede e o local que vai transportar.
Se servir de base tenho aqui um npc de teleport comum. (No xml a ideia já está implementada na fala do npc)
Account Clerk.xml
Citar<?xml version="1.0" encoding="UTF-8"?>
<npc name="Account Clerk" script="Account Clerk.lua" walkinterval="0" floorchange="0" speed="0" lookdir="0">
<health now="100" max="100" />
<look type="1960" head="58" body="43" legs="38" feet="76" addons="0" />
<parameters>
<parameter key="message_greet" value="Bem vindo ao centro online Digimon World |PLAYERNAME|, esse servico e para aqueles que viajam para o mundo digital. Vejo que e a sua primeira vez aqui, entao para que eu possa fazer o seu registro preciso que voce escolha uma entre nossas 3 companhias que existem dentro do Digimundo. Sao elas:[Blue Falcon] especializada em Digimon do tipo DATA, [Gold Hawk] especializada em Digimon do tipo VACCINA e por ultimo [Black Sword] especializada em Digimon do tipo VIRUS. Qual a sua escolha?" />
<parameter key="message_farewell" value="Que falta de educacao, volte aqui e termine seu registro!" />
<parameter key="message_walkaway" value="Que falta de educacao, volte aqui e termine seu registro!" />
</parameters>
</npc>Account Clerk.lua
Citarlocal DESTINO = {x = 1027, y = 1001, z = 6} -- POSIÇÃO DE DESTINO
local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end
function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end
function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg:lower()) end
function onThink() npcHandler:onThink() end
local talkState = {}
function creatureSayCallback(cid, type, msg)
if(not npcHandler:isFocused(cid)) then
return false
end
local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid
if msgcontains(msg, "sim") or msgcontains(msg, "yes") then
selfSay("Boa sorte, ate logo!", cid)
doSendMagicEffect(getThingPos(cid), 10)
npcHandler:releaseFocus(cid)
doTeleportThing(cid, DESTINO)
doSendMagicEffect(DESTINO, 10)
elseif msgcontains(msg, "nao") or msgcontains(msg, "no") then
selfSay("Tem certeza?", cid)
end
return true
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())Preciso muito disso, se alguém puder me ajudar ficarei muito grato!
-Base PDA 8.54
-
Já fiz e tbm não foi, continua a mesma coisa T_T
-
Techrlz obrigado vey, mas o que o Zipter fez pra mim já ta funfando, o único problema que estou tendo, é esse que apresentei acima xD
-
-
Que cancel??
Bom eu uso a skill, e enquanto ela ta no cd se eu usar outra vai aparecendo isso ai, somente isso
-
-
Ai está
local msgs = {"use ", ""}function doAlertReady(cid, id, movename, n, cd)if not isCreature(cid) then return true endlocal myball = getPlayerSlotItem(cid, 8)if myball.itemid > 0 and getItemAttribute(myball.uid, cd) == "cd:"..id.."" thendoPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, getPokeballName(myball.uid).." - "..movename.." (m"..n..") esta pronto!")return trueendlocal p = getPokeballsInContainer(getPlayerSlotItem(cid, 3).uid)if not p or #p <= 0 then return true endfor a = 1, #p doif getItemAttribute(p[a], cd) == "cd:"..id.."" thenif isInArray({"m1", "m2", "m3"}, n) thendoPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, getPokeballName(p[a]).." - "..movename.." (t"..n..") esta pronto!")elsedoPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, getPokeballName(p[a]).." - "..movename.." (m"..n..") esta pronto!")endreturn trueendendendfunction onSay(cid, words, param, channel)if param ~= "" then return true endif string.len(words) > 3 then return true endif #getCreatureSummons(cid) == 0 thendoPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Voce precisa de um pokemon para usar as moves.")return 0end--alterado v2.5local mypoke = getCreatureSummons(cid)[1]if getCreatureCondition(cid, CONDITION_EXHAUST) then return true endif getCreatureName(mypoke) == "Evolution" then return true endlocal name = getCreatureName(mypoke) == "Ditto" and getPlayerStorageValue(mypoke, 1010) or getCreatureName(mypoke)local it = string.sub(words, 2, 3)local move = movestable[name].move1if getPlayerStorageValue(mypoke, 212123) >= 1 thencdzin = "cm_move"..it..""elsecdzin = "move"..it.."" --alterado v2.5endif it == "2" thendoPlayerSendTextMessage(cid, 26, "sounds/105.wav")move = movestable[name].move2elseif it == "3" thenmove = movestable[name].move3elseif it == "4" thenmove = movestable[name].move4elseif it == "5" thenmove = movestable[name].move5elseif it == "6" thenmove = movestable[name].move6elseif it == "7" thenmove = movestable[name].move7elseif it == "8" thenmove = movestable[name].move8elseif it == "9" thenmove = movestable[name].move9elseif it == "10" thenmove = movestable[name].move10elseif it == "11" thenmove = movestable[name].move11elseif it == "12" thenmove = movestable[name].move12elseif it == "13" thenmove = movestable[name].move13endif isInArray({1,2,3,4,5,6,7,8,9,10,11,12,13}, it) thenmLevel = move.levelmCD = move.cdmName = move.namemTarget = move.targetmDist = move.distelsem = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "t"..it.."")mLevel = tmList[m].levelmCD = tmList[m].cdmName = mmTarget = tmList[m].targetmDist = tmList[m].distendif not move thendoPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your pokemon doesn't recognize this move.")return trueend--if false and getLevel(mypoke) < mLevel thenif getLevel(mypoke) < mLevel thendoPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Seu Pokemon ainda nao sabe usar essa move.")return 0endif getCD(getPlayerSlotItem(cid, 8).uid, cdzin) > 0 and getCD(getPlayerSlotItem(cid, 8).uid, cdzin) < (mCD + 2) thendoPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "voce deve esperar "..getCD(getPlayerSlotItem(cid, 8).uid, cdzin).." segundos para usar "..mName.." novamente.")return 0endif getTileInfo(getThingPos(mypoke)).protection thendoPlayerSendCancel(cid, "Voce nao pode atacar em area protegida.")return 0endif getPlayerStorageValue(mypoke, 3894) >= 1 thenreturn doPlayerSendCancel(cid, "You can't attack because you is with fear") --alterado v2.3endif (mName == "Team Slice" or mName == "Team Claw") and #getCreatureSummons(cid) < 2 then --alterado v2.5doPlayerSendCancel(cid, "Your pokemon need be in a team for use this move!")return 0end--alterado v2.6if isCreature(getCreatureTarget(cid)) and isInArray(specialabilities["evasion"], getCreatureName(getCreatureTarget(cid))) and math.random(1, 100) <= 10 thenlocal target = getCreatureTarget(cid)if isCreature(getMasterTarget(target)) then --alterado v2.6 --alterado v2.5doSendMagicEffect(getThingPos(target), 211)doSendAnimatedText(getThingPos(target), "TOO BAD", 215)doTeleportThing(target, getClosestFreeTile(target, getThingPos(mypoke)), false)doSendMagicEffect(getThingPos(target), 211)doFaceCreature(target, getThingPos(mypoke))return true --alterado v2.6endendif mTarget == 1 thenif not isCreature(getCreatureTarget(cid)) thendoPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Nao ha pokemon na mira.")return 0endif getCreatureCondition(getCreatureTarget(cid), CONDITION_INVISIBLE) thenreturn 0endif getCreatureHealth(getCreatureTarget(cid)) <= 0 thendoPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Voce ja derrotou seu oponente.")return 0endif not isCreature(getCreatureSummons(cid)[1]) thenreturn trueendif getDistanceBetween(getThingPos(getCreatureSummons(cid)[1]), getThingPos(getCreatureTarget(cid))) > mDist thendoPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Get closer to the target to use this move.")return 0endif not isSightClear(getThingPos(getCreatureSummons(cid)[1]), getThingPos(getCreatureTarget(cid)), false) thenreturn 0endendlocal newid = 0if isSleeping(mypoke) or isSilence(mypoke) then --alterado v2.5doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Sorry you can't do that right now.")return 0elsenewid = setCD(getPlayerSlotItem(cid, 8).uid, cdzin, mCD)enddoCreatureSay(cid, ""..getPokeName(mypoke)..", "..msgs[math.random(#msgs)]..""..mName.."!", TALKTYPE_SAY)local summons = getCreatureSummons(cid) --alterado v2.6addEvent(doAlertReady, mCD * 1000, cid, newid, mName, it, cdzin)for i = 2, #summons doif isCreature(summons) and getPlayerStorageValue(cid, 637501) >= 1 thendocastspell(summons, mName) --alterado v2.6endenddocastspell(mypoke, mName)doCreatureAddCondition(cid, playerexhaust)if useKpdoDlls thendoUpdateCooldowns(cid)endreturn 0end -
Não gente, como eu já falei... é um cd de MMO RPG, eu vou colocar um cd menor pra cada skill é claro '-'
Tipo o Digimon Masters Online, os digimons tem cd nas skills de 4 a 7 segundos !
Claro que faz sentido '-' , o pvp fica muito mais demorado e acaba com a coisa de deslizar o dedo e usar todas as skills...
Zipter ai está meu move1
-
PDA 8.54 , Uso OTClient.
Eu estava precisando muito de um sistema já existente nos jogos de MMO RPG, para colocar no meu Poketibia.
Esse sistema tinha até no Pokemon Arena.
Eu não entendo muito dessas paradas de script, mas creio que seja uma coisa não muito complicada de fazer.
Eu quero acabar com essa coisa de deslizar o dedo do f1 ao f12 e usar todas as skills de uma só vez.
Então queria um sistema de cd que bloqueasse a outra skills pelos segundos de cd dela.
EX :
Usei Razor Leaf : cd dela é de 6 segundos
Então para eu usar novamente a skill ou outra skill, devo esperar 6 segundos.
Estou a muito tempo a procura de um sistema desse, mas não acho em canto nenhum, agradeço muito a quem pode me ajudar !
Obrigado desde já !
-
Muito bom !!!!
-
Muito legal para dar uns sustos e trolls em alguns players kkkkkkkkkkkkkkkk da hora cara parabéns !
-
Esse sistema ficaria ótimo para Poketibia.
Ficaria muito similar ao do Pokémon Fire red !
Você pode fazer esse sistema para PDA 8.54?? E ao em vez de money, colocar um item por id(Que seria as coins house)
-
Pooh mano to tendo problemas com RME, consegui configurar o item.otb, e o client.
Mas meu RME não quer abrir de jeito nenhum... poderia fazer um tuto mais especificado? ou me ajudar por aqui mesmo...
Quando eu vou abrir da o seguinte erro : Couldn't load tibia.dat:
Tibia.dat: unknown optbyte '144' after '255'
Logo da erro ao carregar o mapa, e não abre T^T
-
Resolvi apelar pro client creator, pois o Vapus saiu do ar!
Mas ta dando o seguinte no COMDLG32.OCX ao abrir o programa!
Como conserto isso?
-
Resolvi apelar pro client creator, pois o Vapus saiu do ar!
Mas ta dando o seguinte no COMDLG32.OCX ao abrir o programa!
Como conserto isso?
-
Aee gabriel, aqui ta dando 2 erros!
1° o Pokemon se tranforma no shiny, porém, quando vou recolher ele e chamar de volta, ele volta ao normal!
2° Ao se tranformar em shiny, ele muda o Genero( Male > Female) e o Level( 100 > abaixa aleatoriamente)
Eu uso o PDA, tem como ajudar ai mano?
-
Quem Está Navegando 0 membros estão online
- Nenhum usuário registrado visualizando esta página.
Npc de Teleport com restrição de Pokémon
em Scripts
Postado · Editado por eliaspalermo
Olá, Bom dia pessoal! Estou precisando de uma ajuda neste npc que tenho aqui. (Base Dash)
Preciso de uma função pra ele dizer pro player "você precisa completar X missão" caso ele não tiver o storage.
E a outra função é pra impedir o player de usar esse npc caso ele tenha o Pokémon que estiver na função. Exemplo:
"Você não pode seguir para Elecmon Village Dungeon, pois possui um Digimon com você, ou no seu inventario que não é permitido aqui."
E eu configuraria isso em uma função onde eu colocaria os Pokémon que o player não pode levar para este local assim:
função = {"agumon";"gabumon"; etc}
Resumindo, se o player estiver carregando na bag ou com ele algum Pokémon que estiver listado nessa função o npc não vai teleportar ele.
Ou se não for possível a opção acima, pode ser restrição de level do Pokémon. (Se eu estiver com pokémon na bag ou equipado lv30+ daí o npc não da o teleport)
Segue aqui o script do npc que tenho como base: