Ir para conteúdo

Eduardo Carvalho

Membro
  • Registro em

  • Última visita

Tudo que Eduardo Carvalho postou

  1. Eduardo Carvalho postou uma resposta no tópico em Suporte Tibia OTServer
    respondi no outro tópico '-'
  2. creaturescripts.. local storage = 13500 local efeito = 30 local time = 5 function effect(cid) if isPlayer(cid) then if getPlayerStorageValue(cid, storage) >= 1 then doSendMagicEffect(getCreaturePosition(cid), efeito) addEvent(effect, time * 1000, cid) end end end function onLogin(cid) if getPlayerStorageValue(cid, storage) >= 1 then doSendMagicEffect(getCreaturePosition(cid), efeito) addEvent(effect, time * 1000, cid) end return true end <event type="login" name="PlayerEffect" event="script" value="NomeDoArquivo.lua"/> obs : para o efeito sair o player tem que deslogar 1 vez depois de ganhar a storage.
  3. local storage = 123 function onStepOut(cid, item, position, fromPosition) if getPlayerStorageValue(cid, storage) >= 1 then doPlayerSendCancel(cid, "Bem Vindo") else doTeleportThing(cid, fromPosition, true) doSendMagicEffect(getCreaturePosition(cid), 12) doPlayerSendCancel(cid, "Você não fez a quest.") end return true end
  4. Tem algumas distro que o globalevents é por milissegundos , e outras por segundos.. Creio que a sua antiga era por segundos, e a atual por milissegundos, então aumente o tempo de cada script que está em globalevents.xml
  5. local positions = { {texto = "Premium" , pos = {x = 799, y = 424, z = 7}, effect = 53}, {texto = "Premium" , pos = {x = 800, y = 424, z = 7}, effect = 53}, {texto = "Premium" , pos = {x = 793, y = 361, z = 7}, effect = 19}, {texto = "Premium" , pos = {x = 794, y = 361, z = 7}, effect = 19} } function onThink(cid, interval, lastExecution) for _, pid in pairs(positions) do doSendAnimatedText(pid.pos, pid.texto, math.random(1, 255)) doSendMagicEffect(pid.pos, pid.effect or 18) end return true end
  6. local idTeleport = 2173 function onStepIn(cid, item, position, fromPosition) if isPlayer(cid) then local item1 = getTileItemById(position, idTeleport) if item1.uid < 1 then doTeleportThing(cid, fromPosition, true) end end return true end coloca o id do teleporte ae.. coloca o uniqueid no xml e no tile.. nem testei
  7. local config = { healHP = 2000, healMP = 2000, healPlayers = "yes", healMonsters = "no", } local healthArea = { fromX = 603, fromY = 177, fromZ = 7, toX = 605, toY = 179, toZ = 7, } function onThink(cid, interval, lastExecution) for x = healthArea.fromX, healthArea.toX do for y = healthArea.fromY, healthArea.toY do for z = healthArea.fromZ, healthArea.toZ do local pos = {x=x, y=y, z=z, stackpos = 253} local thing = getThingfromPos(pos) if thing.itemid > 0 then if(isPlayer(thing.uid) == TRUE and string.lower(config.healPlayers) == "yes") then doCreatureAddHealth(thing.uid, config.healHP) doCreatureAddMana(thing.uid, config.healMP) if string.lower(getConfigValue("showHealingDamage")) == "no" then end elseif(isMonster(thing.uid) == TRUE and string.lower(config.healMonsters) == "yes") then doCreatureAddHealth(thing.uid, config.healHP) if string.lower(getConfigValue("showHealingDamageForMonsters")) == "no" then end end end end end end return true end
  8. LOL 'kkk . Isso não está ocorrendo aqui, acabei de testar novamente! (creio que não to usando a spell rápido suficiente) o item só não é removido se o player deslogar. Mas creio que isso seja quase "impossível" de acontecer, já que o bug deve ocorrer pq você usou a magia enquanto o o script está execuntando o loop, e isso é coisa de milissegundos.
  9. Whitewolf isso que vc falou do items , nāo faz sentido.. Ta funcionando perfeitamente. Sempre que o player usa a spells, a posiçāo é atualizada na tabela
  10. eai

    Eduardo Carvalho postou uma resposta no tópico em Playground (Off-topic)
    perderam oq?
  11. é só colocar + 1 ali então.. function onStepIn(cid, item, position, fromPosition) if getPlayerStorageValue(cid, 13540) - os.time() <= 0 then doTeleportThing(cid, fromPosition, true) doPlayerPopupFYI(cid, "Voçe nao e vip , compre sua vip por apena R$9,00.") doSendMagicEffect(getThingPos(cid), CONST_ME_POFF) return true end local days = math.floor((getPlayerStorageValue(cid, 13540) - os.time()) / (24 * 60 * 60) + (1)) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você ainda tem "..days.." dia(s) restante(s) de VIP.") return true end
  12. não tendii.. aumenta em uma porcentagem ? por um certo tempo ? aparece o fogo no target ? ...
  13. É possível pela distro, porém não sei o código.
  14. não, o for está correto. Usei pairs, pq eu não usei table.insert, eu adicionei na tabela a posição no index do nome do player. o for checa todos os index, e o index que for igual ao nome do player, ele teleporta para posição "pid"(posição salva no index do player). O bug foi resolvido. Eu só errei em fazer isso pq sempre só testo com 1 player, ae já estou acostumado, como se no serve fosse entrar apenas 1 player 'rsrs acabei de testar, está funcionando !
  15. ops, falta de atenção minha , testa ae agora.. function onUse(cid, item, fromPosition, itemEx, toPosition) if item.uid == 6411 then if getPlayerStorageValue(cid, 6411) <= 0 then doBroadcastMessage("O Jogador "..getCreatureName(cid).." completou a Anihilator 4.", MESSAGE_STATUS_CONSOLE_ORANGE) doPlayerAddItem(cid,9693,1) doPlayerAddItem(cid,2160,1) setPlayerStorageValue(cid,6411,1) else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você já ganhou seu bonus.") end end return true end
  16. Ta ae.. Agora é pelo nome , ngm tem o nome igual 'rsrs local storage = 987123 -- storage local item = 2160 -- id do item local time = 20 -- tempo em segundos que o item vai ficar na posição. local pos = {} function terminus(cid) if isPlayer(cid) then for index, pid in pairs(pos) do if index == getCreatureName(cid) then local a = getTileItemById(pos[index], item) if a.uid > 0 then doRemoveItem(a.uid) end end end doPlayerSendTextMessage(cid, 22, "O item sumiu.") end end function onCastSpell(cid, var) if getPlayerStorageValue(cid, storage) - os.time() <= 0 then pos[getCreatureName(cid)] = getCreaturePosition(cid) setPlayerStorageValue(cid, storage, os.time()+time) doCreateItem(item, getCreaturePosition(cid)) doSendMagicEffect(getCreaturePosition(cid), 3) addEvent(terminus, time*1000, cid) elseif getPlayerStorageValue (cid, storage) - os.time() >= 1 then for index, pid in pairs(pos) do if index == getCreatureName(cid) then doTeleportThing(cid, pid) doSendMagicEffect(getCreaturePosition(cid), 10) end end end return true end o bom é que se mesmo o player deslogar e depois logar , se o item ainda tiver no lugar, o mesmo ainda é teleportado. whitewolf, vlw por reportar o bug.
  17. De fato ! Isso nem passou na minha cabeça 'rsrs vou editar.
  18. function onUse(cid, item, fromPosition, itemEx, toPosition) if item.uid == 6411 then queststatus = getPlayerStorageValue(cid,6411) if queststatus == -1 then doBroadcastMessage("O Jogador "...getCreatureName(cid)..." completou a Anihilator 4.", MESSAGE_STATUS_CONSOLE_ORANGE) doPlayerAddItem(cid,9693,1) doPlayerAddItem(cid,2160,1) setPlayerStorageValue(cid,6411,1) else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você já ganhou seu bonus.") end else return 0 end return true end
  19. Ta ae mano.. o conteúdo dos tópicos são o mesmo. http://www.tibiaking.com/forum/topic/35546-dois-tipo-de-spell-que-teleporta/
  20. Fiz tb uma versão para a primeira spells, caso não goste use a do whitewolf bom, quando acaba o tempo o player é avisado e o item some. local storage = 987123 -- storage local item = 2160 -- id do item local time = 20 -- tempo em segundos que o item vai ficar na posição. local pos = {} function terminus(cid) local a = getTileItemById(pos[1], item) if a.uid > 0 then doRemoveItem(a.uid) end if isPlayer(cid) then doPlayerSendTextMessage(cid, 22, "O item sumiu.") end table.remove(pos, 1) end function onCastSpell(cid, var) if getPlayerStorageValue(cid, storage) - os.time() <= 0 then table.insert(pos, getCreaturePosition(cid)) setPlayerStorageValue(cid, storage, os.time()+time) doCreateItem(item, getCreaturePosition(cid)) doSendMagicEffect(getCreaturePosition(cid), 3) addEvent(terminus, time*1000, cid) elseif getPlayerStorageValue (cid, storage) - os.time() >= 1 then doTeleportThing(cid, pos[1]) doSendMagicEffect(getCreaturePosition(cid), 10) end return true end
  21. function onStepIn(cid, item, position, fromPosition) if getPlayerStorageValue(cid, 13540) - os.time() <= 0 then doTeleportThing(cid, fromPosition, true) doPlayerPopupFYI(cid, "Voçe nao e vip , compre sua vip por apena R$9,00.") doSendMagicEffect(getThingPos(cid), CONST_ME_POFF) return true end local days = math.floor((getPlayerStorageValue(cid, 13540) - os.time()) / (24 * 60 * 60)) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você ainda tem "..days.." dia(s) restante(s) de VIP.") return true end
  22. Fiz apenas por talkactions, então sempre o god tem que abrir o mesmo. Estou fazendo uma nova versão, logo estarei publicando.
  23. Desculpa , achei que essa era a área correta.
  24. Meu Vps da ServerCore desligou, como faço pra ligar novamente ?
  25. bug do editor , abre o arquivo com o bloco de notas e refaz !

Informação Importante

Confirmação de Termo