Ir para conteúdo

Wise

Membro
  • Registro em

  • Última visita

Tudo que Wise postou

  1. O tópico foi movido para a área correta, preste mais atenção da próxima vez! Leia as regras do fórum: http://tibiaking.com/forum/topic/1281-regras-gerais/?p=7680 Este tópico foi movido: De: "OTServ → Suporte OTServ → Suporte de Scripts" Para: "OTServ → Suporte OTServ → Suporte de Servidores Derivados"
  2. Mais um conteúdo sensacional, por favor, não pare de trazer isto ao TibiaKing. Parabéns mesmo, seu tópico foi aprovado e movido para a seção correta, além de que você recebeu um ponto positivo de reputação
  3. Ficou muito bom, parabéns. Seu tópico foi aprovado e movido para a seção correta. Você também recebeu 1 ponto de reputação positiva por compartilhar isto conosco. Aguardamos por mais conteúdos assim
  4. Não, brother: Callback onDeath, é um creature event. Já fiz a função (onRevive()), basta testar.
  5. Faça com que uma função seja repetida de certo em certo tempo (após o monstro ter sido morto), até que ela cheque o topcreature do sqm respawn do monstro como contendo ele, então crie o portão nas posições. Tente: local item = 1234 -- item id to create/remove (portão) local mpos = {x=123, y=456, z=7} -- monster position (coordenadas exatas do sqm respawn do monstro) local ipos = { -- item positions (coordenadas dos portões à serem criados/removidos) {x=1471, y=134, z=6}, {x=1471, y=134, z=6}, {x=1472, y=134, z=6}, {x=1469, y=136, z=6}, {x=1469, y=137, z=6} } function onRevive() local m = getTopCreature(mpos).uid if m > 0 and isMonster(m) then for i = 1, #ipos do local id = getTileItemById(ipos[i], item).uid if id < 1 then doCreateItem(item, 1, ipos[i]) end end end addEvent(onRevive, 1000) return true end function onDeath(cid) for i = 1, #ipos do local id = getTileItemById(ipos[i], item).uid if id > 0 then doRemoveItem(id) doSendMagicEffect(ipos[i], CONST_ME_POFF) end end onRevive() return true end PS: registre o creature event no arquivo XML do monstro em específico, desse modo você não precisa checar o nome do creatureid.
  6. Observe-a: function doCreatureAddHealth(cid, health) local c = Creature(cid) return c ~= nil and c:addHealth(health) or false end Já que não crê em mim, tire a prova, teste.
  7. Amigo, essa função que você utilizou no segundo parâmetro, não existe. Portanto retornaria um valor nulo; seria getCreatureMaxHealth. E o modo como ela está sendo aplicada, provavelmente iria bugar os health points do creatureid, já que você fez uma adição do HP máximo dele ao HP atual. Você têm de subtrair os points máximos pelos points atuais, então, resultando na quantidade exata para "completar" o HP do creatureid: function onStepIn(cid) if isMonster(cid) then doCreatureAddHealth(cid, getCreatureMaxHealth(cid) - getCreatureHealth(cid)) doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) end return true end
  8. Nesse caso, seria utilizado um global storage e como o próprio nome já diz, é global. E na função, não se inclui um creatureid. Apenas o id do value, pois é global (reforçando): getGlobalStorageValue(valueid) Então, seria: local stor = {1234, 5678} -- storage ~ {team1, team2} local gstor = {5000, 5001} -- global storage ~ {team1, team2} function onStatsChange(cid, attacker, type, combat, value) if value > 0 and type == STATSCHANGE_HEALTHLOSS and isPlayer(attacker) then if getPlayerStorageValue(attacker, stor[1]) <= 0 then if getGlobalStorageValue(gstor[1]) < 0 then setGlobalStorageValue(gstor[1], 0) end setGlobalStorageValue(gstor[1], getGlobalStorageValue(gstor[1]) + value) elseif getPlayerStorageValue(attacker, stor[2]) <= 0 then if getGlobalStorageValue(gstor[2]) < 0 then setGlobalStorageValue(gstor[2], 0) end setGlobalStorageValue(gstor[2], getGlobalStorageValue(gstor[2]) + value) end end return true end function onDeath(cid) if getGlobalStorageValue(gstor[1]) > getGlobalStorageValue(gstor[2]) then doCreatureSay(cid, 'O Time 1 me matou.', TALKTYPE_ORANGE_1) else doCreatureSay(cid, 'O Time 2 me matou.', TALKTYPE_ORANGE_1) end return true end PS: Já que você registra os creature events no arquivo XML do monstro em específico, não tem necessidade de checar o nome do creatureid ou checar se ele é um monstro.
  9. Só corrigi um detalhe no script, já editei. Agora, aparentemente tudo coincide. Você fez alguma alteração na string? Pois, testei e está executando normalmente.
  10. @loreal @jNo / @loreal Me informem o config.lua dos seus servidores. Só comprovando que eu testei:
  11. Acredito que com o meu creaturescript, o popup não será exibido no account manager.
  12. Uptime Uptime é a quantidade de tempo que um sistema de computador está desempenhando atividades de forma ininterrupta, ou seja, constante/sem interrupção. Com base em outros códigos que vi pela internet, decidi criar uma função própria para retornar essa quantidade de tempo, futuramente simplificando alguns scripts. A função, basicamente retorna as horas e minutos do uptime em uma string, de forma inteligente. function getUpTimeString() local wut = getWorldUpTime() local h, m = math.floor(wut / 3600), math.floor((wut % 3600) / 60) if m == 60 then m = 0 h = h + 1 end return h..' hour'..(h > 1 and 's' or '')..' and '..m..' minute'..(m > 1 and 's' or '') end Ex: -- WorldUpTime = 12345 seconds if getWorldUpTime() > 10800 then -- 10800 seconds = 3 hours print('UpTime: '..getUpTimeString()) end ------------------------------ UpTime: 3 hours and 25 minutes -- 3 hours and 25 minutes = 12345 seconds
  13. Melhorei os códigos, editei o post, testei e executou perfeitamente. Caso o erro se repita, me informe os códigos do arquivo config.lua do seu servidor.
  14. Wise postou uma resposta no tópico em Suporte Tibia OTServer
    Então, resolveu? Se sim, por favor marque uma melhor resposta.
  15. O tópico foi movido para a área correta, preste mais atenção da próxima vez! Leia as regras do fórum: http://tibiaking.com/forum/topic/1281-regras-gerais/?p=7680 Este tópico foi movido: De: "OTServ → Suporte OTServ → Suporte de Scripts" Para: "OTServ → Suporte OTServ → Suporte de Servidores Derivados"
  16. O tópico foi movido para a área correta, preste mais atenção da próxima vez! Leia as regras do fórum: http://tibiaking.com/forum/topic/1281-regras-gerais/?p=7680 Este tópico foi movido: De: "OTServ → Suporte OTServ → Suporte de OTServ Geral" Para: "OTServ → Suporte OTServ → Suporte de Infraestrutura"
  17. Agradeço por fornecer tal conteúdo com exclusividade ao TibiaKing. Seu conteúdo foi aprovado e com isso você ganhou um ponto de REP+ da equipe e o tópico foi movido para a área correta. Espero que faça sucesso entre os membros :]
  18. Legal, mas peço para que você formate melhor o seu tópico. Dê ao menos um exemplo de instalação, há membros que não sabem como aplicar em seus servidores. E se possível, forneça algumas imagens para que eles entendam de forma mais clara, como é o script em uso. Você têm 48 horas para modificar o seu post, ou, ele será movido para a lixeira.
  19. Sensacional, será de grande ajuda e irá interessar à muitos membros. Parabéns. Você foi reputado positivamente, seu tópico foi aprovado e movido para a seção correta. Obrigado por compartilhar novamente conosco, esperamos por mais conteúdos como este
  20. Não. Nesse concurso as melhores idéias também serão levadas em consideração, então mesmo que você não tenha tanta habilidade em Lua, ainda há grandes chances de você vencer. E lembre-se, todos os membros que participarem ganharão 1 REP+ como gratificação.
  21. Wise postou uma resposta no tópico em Sistemas, Mods & Funções .lua
    Bem interessante o que você quer trazer com exclusividade ao TibiaKing. Apenas peço para que, se possível, poste algumas imagens sobre o sistema. Vi que você forneceu um link de um vídeo demonstrando como usar, mas imagens deixariam o seu tópico ainda melhor. Aguardo por modificações no seu post, você têm 48 horas.
  22. Wise postou uma resposta no tópico em Suporte Tibia OTServer
    function onUse(cid, item) local t = 42 * 60 * 1000 if getPlayerStamina(cid) < t then doPlayerSetStamina(cid, t) doRemoveItem(item.uid) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, 'Your stamina has been refilled.') else doPlayerSendCancel(cid, 'Your stamina is already full.') end return true end
  23. Script do creature event (callback onLogin não se registra): function getUpTimeString() local wut = getWorldUpTime() local h, m = math.floor(wut / 3600), math.floor((wut % 3600) / 60) if m == 60 then m = 0 h = h + 1 end return h..' hour'..(h > 1 and 's' or '')..' and '..m..' minute'..(m > 1 and 's' or '') end function onLogin(cid) local redlenght, blacklenght = math.floor(getConfigInfo('redSkullLength') / 86400), math.floor(getConfigInfo('blackSkullLength') / 86400) local str = 'Welcome to UnderWar Retro Tibia Server\nServer Information:\n\nExp Stage: x'..(getConfigInfo('experienceStages') == 'true' and getExperienceStage(getPlayerLevel(cid), getVocationInfo(getPlayerVocation(cid)).experienceMultiplier) or getConfigInfo('rateExperience'))..'\nSkills rate: x'..getConfigInfo('rateSkill')..'\nLoot Rate: x'..getConfigInfo('rateLoot')..'\nMagic Rate: x'..getConfigInfo('rateMagic')..'\nSpawns Rate: x'..getConfigInfo('rateSpawn')..'\n\nWorld Type: '..(getWorldType() == 1 and 'No-PVP' or getWorldType() == 2 and 'PVP' or 'PVP-Enforced')..'\nFrags RED Skull: '..getConfigInfo('dailyFragsToRedSkull')..' por dia, '..getConfigInfo('weeklyFragsToRedSkull')..' por semana ou '..getConfigInfo('monthlyFragsToRedSkull')..' por mês. Duração: '..redlenght..' dia'..(redlenght > 1 and 's' or '')..'.\nFrags BLACK Skull: '..getConfigInfo('dailyFragsToBlackSkull')..' por dia, '..getConfigInfo('weeklyFragsToBlackSkull')..' por semana ou '..getConfigInfo('monthlyFragsToBlackSkull')..' por mês. Duração: '..blacklenght..' dia'..(blacklenght > 1 and 's' or '')..'.\n\nProtection System:\nAté o level '..getConfigInfo('protectionLevel')..', o jogador que morrer sem skull não perderá seu loot.\n\nPromotion System:\nVoce pode comprar sua promotion na Queen Eloise ou King Tibianus por 20k ou pode fazer a Desert Quest e ganhar de graça a promotion!\n\nBlessing System:\nJogadores possuem as 5 blessings, incluindo proteção aos seus itens.\nJogadores Red e Black Skull sempre perderão o loot.\n\nHouses: Pagamento semanal no DP da cidade onde está a casa.\n\n'..(getPlayerPremiumDays(cid) < 1 and 'VIP days: Torne-se VIP e ajude o servidor a continuar online.' or 'Ainda lhe restam '..getPlayerPremiumDays(cid)..' dias de VIP.')..'\n\nUptime: '..getUpTimeString() if getPlayerLastLoginSaved(cid) < 1 then doPlayerPopupFYI(cid, str) end return true end Script da talkaction: function getUpTimeString() local wut = getWorldUpTime() local h, m = math.floor(wut / 3600), math.floor((wut % 3600) / 60) if m == 60 then m = 0 h = h + 1 end return h..' hour'..(h > 1 and 's' or '')..' and '..m..' minute'..(m > 1 and 's' or '') end function onSay(cid) local redlenght, blacklenght = math.floor(getConfigInfo('redSkullLength') / 86400), math.floor(getConfigInfo('blackSkullLength') / 86400) local str = 'Welcome to UnderWar Retro Tibia Server\nServer Information:\n\nExp Stage: x'..(getConfigInfo('experienceStages') == 'true' and getExperienceStage(getPlayerLevel(cid), getVocationInfo(getPlayerVocation(cid)).experienceMultiplier) or getConfigInfo('rateExperience'))..'\nSkills rate: x'..getConfigInfo('rateSkill')..'\nLoot Rate: x'..getConfigInfo('rateLoot')..'\nMagic Rate: x'..getConfigInfo('rateMagic')..'\nSpawns Rate: x'..getConfigInfo('rateSpawn')..'\n\nWorld Type: '..(getWorldType() == 1 and 'No-PVP' or getWorldType() == 2 and 'PVP' or 'PVP-Enforced')..'\nFrags RED Skull: '..getConfigInfo('dailyFragsToRedSkull')..' por dia, '..getConfigInfo('weeklyFragsToRedSkull')..' por semana ou '..getConfigInfo('monthlyFragsToRedSkull')..' por mês. Duração: '..redlenght..' dia'..(redlenght > 1 and 's' or '')..'.\nFrags BLACK Skull: '..getConfigInfo('dailyFragsToBlackSkull')..' por dia, '..getConfigInfo('weeklyFragsToBlackSkull')..' por semana ou '..getConfigInfo('monthlyFragsToBlackSkull')..' por mês. Duração: '..blacklenght..' dia'..(blacklenght > 1 and 's' or '')..'.\n\nProtection System:\nAté o level '..getConfigInfo('protectionLevel')..', o jogador que morrer sem skull não perderá seu loot.\n\nPromotion System:\nVoce pode comprar sua promotion na Queen Eloise ou King Tibianus por 20k ou pode fazer a Desert Quest e ganhar de graça a promotion!\n\nBlessing System:\nJogadores possuem as 5 blessings, incluindo proteção aos seus itens.\nJogadores Red e Black Skull sempre perderão o loot.\n\nHouses: Pagamento semanal no DP da cidade onde está a casa.\n\n'..(getPlayerPremiumDays(cid) < 1 and 'VIP days: Torne-se VIP e ajude o servidor a continuar online.' or 'Ainda lhe restam '..getPlayerPremiumDays(cid)..' dias de VIP.')..'\n\nUptime: '..getUpTimeString() doPlayerPopupFYI(cid, str) return true end

Informação Importante

Confirmação de Termo