Jump to content

Recommended Posts

Trade Offline

 

p6aJ7ld.png

 

O sistema foi testado apenas em TFS 1.5

 

O sistema funciona de forma semelhante ao Market System das versões atuais, porem sem exibição gráfica das ofertas in-game, para isso o sistema vai acompanhado de uma página para o Gesior AAC. Este sistema existe no fórum há um bom tempo e já é familiar pra muitos jogadores, essa versão trás consigo algumas melhorias e diferenças que irei listar abaixo.
 

Sistema

  • Ofertas removidas automaticamente no tempo configurado.
  • Agora é possível vender um item exigindo outro item em troca ao invés de dinheiro.
  • Containers com um conjunto de itens dentro agora podem ser anunciados.
  • Agora o sistema verifica as cargas e durações dos itens antes de criar uma oferta.
  • Novo parâmetro adicionado para verificar informações de ofertas in-game.
  • Agora todo valor recebido vai diretamente para o banco do vendedor.

 

Todo essa atualização de versão foi feita com base no script do WooX: 


TRADE_OFFLINE.LUA: https://raw.githubusercontent.com/luanluciano93/ESTUDOS/master/LUA/trade_offline/trade_offline_revscript.lua


 

Edited by luanluciano93 (see edit history)

 

1634118_4.png

Link to post
Share on other sites
17 horas atrás, luanluciano93 disse:

Trade Offline

 

p6aJ7ld.png

 

O sistema foi testado apenas em TFS 1.5

 

O sistema funciona de forma semelhante ao Market System das versões atuais, porem sem exibição gráfica das ofertas in-game, para isso o sistema vai acompanhado de uma página para o Gesior AAC. Este sistema existe no fórum há um bom tempo e já é familiar pra muitos jogadores, essa versão trás consigo algumas melhorias e diferenças que irei listar abaixo.
 

Sistema

  • Ofertas removidas automaticamente no tempo configurado.
  • Agora é possível vender um item exigindo outro item em troca ao invés de dinheiro.
  • Containers com um conjunto de itens dentro agora podem ser anunciados.
  • Agora o sistema verifica as cargas e durações dos itens antes de criar uma oferta.
  • Novo parâmetro adicionado para verificar informações de ofertas in-game.
  • Agora todo valor recebido vai diretamente para o banco do vendedor.

 

Todo essa atualização de versão foi feita com base no script do WooX: 


TRADE_OFFLINE.LUA: https://raw.githubusercontent.com/luanluciano93/ESTUDOS/master/LUA/trade_offline/trade_offline_revscript.lua


 

Boa tarde Luan!!!! aqui está apresentando esse erro. TFS 1.3

 

Capturar.thumb.JPG.f76282f764f0d82519fe3cbaec476a51.JPG

 

Edited by stauro (see edit history)
Link to post
Share on other sites
3 horas atrás, stauro disse:

Boa tarde Luan!!!! aqui está apresentando esse erro. TFS 1.3

 

Capturar.thumb.JPG.f76282f764f0d82519fe3cbaec476a51.JPG

Pode me explicar como reproduzir este erro?

Estranho, pq mesmo que o valor de duração seja nulo, coloquei uma verificação para tal ... 
https://github.com/luanluciano93/ESTUDOS/blob/master/LUA/trade_offline/trade_offline_revscript.lua#L102

 

1634118_4.png

Link to post
Share on other sites
25 minutos atrás, luanluciano93 disse:

Pode me explicar como reproduzir este erro?

Estranho, pq mesmo que o valor de duração seja nulo, coloquei uma verificação para tal ... 
https://github.com/luanluciano93/ESTUDOS/blob/master/LUA/trade_offline/trade_offline_revscript.lua#L102

Eu criei um arquivo lua em data/scripts/talkactions e quando executo o comando em jogo, por exemplo,  !tradeoff add, boots of haste acontece esse erro. Não entendi os comandos desse sistema, pois tento colocar valor e tal e aparece a msg da quantidade de itens agrupáveis

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    No registered users viewing this page.


  • Similar Content

    • By deivaoo
      Eai galera, blz?
       
      Bom, vim trazer pra vcs a versão 1.0 do mod de pokedex que eu desenvolvi mês passado visando aprendizado no mundo de OTC, com o objetivo também de mostrar que o otclient é flexível suficiente para se fazer muitas coisas sem a necessidade das sources tanto do servidor quanto do client...
       
      Para aqueles que não conhecem, vejam o Show Off desse trabalho. 
      Eu fiz essa versão com o objetivo de não fazer alterações no servidor... Ou seja, tem apenas edições no OTC.
       
       
      Atualizações:
       
      1. Adicionado um pack com 276 imagens de pokemons (16,1MB);
      2. Pokemons shiny tem a exibição da imagem de pokemons normais (para alterar, basta remover
      a linha 75 do arquivo game_pokedex.lua, na pasta modules/game_pokedex de seu client);
      3. Pokedex fecha ao se deslogar do char com ela aberta [créditos a @Soulviling pela ideia];
       
       
      Bom, sem mais delongas;
       
       
      Instalação fácil:
       
      Passo 1. Faça o download do arquivo RAR (download no final do tópico);
      Passo 2. Copie a pasta modules pro seu client;
      Passo 3. "Deseja substituir?" [X]Sim  [  ]Não
      Passo 4. Só vai até o passo 3;
       
      Bom, segue uma imagem ATUALIZADA

       
      Download e Scan
    • By najatheus
      Em actions criei um arquivo chamado guardian.lua, dentro dele coloque : 
        local lendas = { -- id dos item / nome do guardian [3000] = {"Mew"}, [3001] = {"Mewtwo"}, [3002] = {"Articuno"}, [3003] = {"Zapdos"}, [3004] = {"Moltres"}, [3005] = {"Entei"}, [3006] = {"Suicune"}, [3007] = {"Raikou"}, [3008] = {"Ho-oh"}, [30010] = {"Lugia"}, } function onUse(player, item, fromPosition, target, toPosition, ishotkey) slot = player:getSlotItem(CONST_SLOT_AMMO) if not slot then player:sendTextMessage(MESSAGE_STATUS_SMALL, "" .. player:getName() .. " Put the Guardian in the right slot" .." ") return true end local lenda = lendas[item.itemid] if not lenda then player:sendTextMessage(MESSAGE_STATUS_SMALL, "" .. player:getName() .. " Sorry, ask adm to set up the guardian string!" .." ") return true elseif(player:getStorageValue(28723) == 1)then player:sendTextMessage(MESSAGE_STATUS_SMALL, "Have you ever used this guardian") return true else local postion = player:getPosition() local monster = Game.createMonster(lenda[1], postion) if not monster then player:sendTextMessage(MESSAGE_STATUS_SMALL,"" ..player:getName() .." Sorry you can't summon, contact a member of staff!.") return true end local message = {"" .. player:getName() .. " Go Guardian : " .. lenda[1] .. ""} player:sendTextMessage(MESSAGE_INFO_DESCR, "Have you ever used this guardian") player:setStorageValue(28723, 1) player:say(message[1], TALKTYPE_MONSTER_SAY) item:setAttribute(ITEM_ATTRIBUTE_DESCRIPTION,"[Name] : " .. lenda[1] .. "\n" .. "[Owner] : " .. player:getName() .. "\n" .. "[Last use] :" .. os.date() .. "") local guardians = MonsterType(lenda[1]) if not guardian then return false end guardians:nameDescription("Guardian " .. lenda[1] .. "") guardians:name("Guardian " .. lenda[1] .. "") monster:setMaster(player) monster:setMaxHealth(70000000) monster:setSkull(SKULL_GREEN) monster:getPosition():sendMagicEffect(6) monster:changeSpeed(600000) speed = monster:getSpeed() healt = monster:getHealth() monster:say("GUARDIAN!" .. lenda[1] .. "", TALKTYPE_MONSTER_SAY) player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE,"You used the Guardian ( " .. lenda[1] .. " ).") player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE,"Your Guardian is alive: " .. healt .. " / " .. monster:getMaxHealth() .. " wait for his life to fully load.") player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE,"Guardian Speed " .. speed .. ".") player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE,"Guardian owner " .. player:getName() .. ".") player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE,"Last time the Guardian was used [" .. os.date() .. "].") return true end end  
      Depois abra o action.xml, e registra :  
      <action itemid="o id" script="guardian.lua" />

       
    • By Breno Alves
      [Anti-Bot]

      Fiz esse sistema para o Thunder porém vou deixá-lo a parte nesse tópico aqui para quem quiser implementar em seu otserv.
      Lembrando que esse sistema é para TFS 1.X e qualquer sugestão/problema nesse sistema, deve ser reportado no GitHub.

      Crie um arquivo na pasta lib com o nome antibot.lua
      ANTIBOT = { prefix = "[AntiBot] ", questions = { {question = "Qual o ano que começou o COVID-19?", staticAnswer = true, answer = "2019"}, {question = "Qual seu skill atual de Sword?", skill = true, answer = SKILL_SWORD}, {question = "Qual seu skill atual de Club?", skill = true, answer = SKILL_CLUB}, {question = "Qual seu skill atual de Distance?", skill = true, answer = SKILL_DISTANCE}, {question = "Qual seu level atual?", answer = "level"}, {question = "Qual o dia de hoje?", answer = "day"}, }, playerQuestion = {}, messages = { time = "Você possui %s para responder a pergunta.", chat = "Esse chat só pode ser usado durante a verificação.", howAnswer = "Você deve responder somente a resposta, por exemplo: Qual o dia de hoje? Resposta: %d", correctAnswer = "Você acertou a pergunta. Obrigado.", incorrectAnswer = "Você errou a resposta, você ainda possui %d tentativas.", logout = "Você não pode deslogar enquanto hover uma verificação ativa.", }, punishment = { try = { max = 3, reason = "Quantidade excessiva de tentativas.", timePunishment = 1, -- In days players = {}, }, time = { maxTime = 180, -- In seconds reason = "Não respondeu a pergunta dentro do tempo estipulado.", timePunishment = 2, -- In days players = {}, }, }, verification = {40, 60}, -- in minutes } function ANTIBOT:addTry(playerId) local player = Player(playerId) if not player then return false end playerId = player:getId() if not ANTIBOT.punishment.try.players[playerId] then ANTIBOT.punishment.try.players[playerId] = 0 end ANTIBOT.punishment.try.players[playerId] = ANTIBOT.punishment.try.players[playerId] + 1 if ANTIBOT.punishment.try.players[playerId] and ANTIBOT.punishment.try.players[playerId] >= ANTIBOT.punishment.try.max then sendChannelMessage(13, TALKTYPE_CHANNEL_O, ANTIBOT.prefix .. ANTIBOT.punishment.try.reason) ANTIBOT:addPunishment(playerId) end end function ANTIBOT:time(playerId) local player = Player(playerId) if not player then ANTIBOT:reset(playerId) return false end playerId = player:getId() if not ANTIBOT.punishment.time.players[playerId] then ANTIBOT.punishment.time.players[playerId] = 0 ANTIBOT:sendQuestions(playerId) end addEvent(function() if ANTIBOT.punishment.time.players[playerId] and ANTIBOT.punishment.time.players[playerId] >= 0 and ANTIBOT.punishment.time.players[playerId] < ANTIBOT.punishment.time.maxTime then ANTIBOT.punishment.time.players[playerId] = ANTIBOT.punishment.time.players[playerId] + 1 player:sendCancelMessage(ANTIBOT.prefix .. ANTIBOT.messages.time:format(string.diff(ANTIBOT.punishment.time.maxTime - ANTIBOT.punishment.time.players[playerId], true))) ANTIBOT:time(playerId) end end, 1000) if ANTIBOT.punishment.time.players[playerId] and ANTIBOT.punishment.time.players[playerId] >= ANTIBOT.punishment.time.maxTime then ANTIBOT:addPunishment(playerId) end end function ANTIBOT:sendQuestions(playerId) local player = Player(playerId) if not player then return false end playerId = player:getId() random = math.random(#ANTIBOT.questions) ANTIBOT.playerQuestion[playerId] = random player:say("ANTIBOT", TALKTYPE_MONSTER_SAY) player:openChannel(13) addEvent(sendChannelMessage, 500, 13, TALKTYPE_CHANNEL_O, ANTIBOT.prefix .. ANTIBOT.messages.howAnswer:format(os.date("%d"))) addEvent(sendChannelMessage, 800, 13, TALKTYPE_CHANNEL_O, ANTIBOT.prefix .. ANTIBOT.questions[random].question) end function ANTIBOT:reset(playerId) ANTIBOT.punishment.try.players[playerId] = nil ANTIBOT.punishment.time.players[playerId] = nil ANTIBOT.playerQuestion[playerId] = nil end function ANTIBOT:addPunishment(playerId) local player = Player(playerId) if not player then return false end playerId = player:getId() local accountId = getAccountNumberByPlayerName(player:getName()) if accountId == 0 then return false end local resultId = db.storeQuery("SELECT 1 FROM `account_bans` WHERE `account_id` = " .. accountId) if resultId ~= false then result.free(resultId) return false end local timeNow = os.time() if ANTIBOT.punishment.try.players[playerId] and ANTIBOT.punishment.try.players[playerId] >= ANTIBOT.punishment.try.max then db.query("INSERT INTO `account_bans` (`account_id`, `reason`, `banned_at`, `expires_at`, `banned_by`) VALUES (" .. accountId .. ", " .. db.escapeString(ANTIBOT.prefix .. ANTIBOT.punishment.try.reason) .. ", " .. timeNow .. ", " .. timeNow + (ANTIBOT.punishment.try.timePunishment * 86400) .. ", " .. player:getGuid() .. ")") elseif ANTIBOT.punishment.time.players[playerId] and ANTIBOT.punishment.time.players[playerId] >= ANTIBOT.punishment.time.maxTime then db.query("INSERT INTO `account_bans` (`account_id`, `reason`, `banned_at`, `expires_at`, `banned_by`) VALUES (" .. accountId .. ", " .. db.escapeString(ANTIBOT.prefix .. ANTIBOT.punishment.time.reason) .. ", " .. timeNow .. ", " .. timeNow + (ANTIBOT.punishment.time.timePunishment * 86400) .. ", " .. player:getGuid() .. ")") end ANTIBOT:reset(playerId) player:save() player:getPosition():sendMagicEffect(CONST_ME_POFF) player:remove() end Não esqueça de registrar essa lib no arquivo lib.lua

      Na pasta chachannels/scripts crie um arquivo chamado antibot.lua
      function onJoin(player) if not ANTIBOT.playerQuestion[player:getId()] then player:sendTextMessage(5, ANTIBOT.prefix .. ANTIBOT.messages.chat) player:getPosition():sendMagicEffect(CONST_ME_POFF) return false end return true end function onLeave(player) if ANTIBOT.playerQuestion[player:getId()] then return false end return true end function onSpeak(player, type, message) if not ANTIBOT.playerQuestion[player:getId()] then sendChannelMessage(13, TALKTYPE_CHANNEL_O, ANTIBOT.prefix .. ANTIBOT.messages.chat) player:getPosition():sendMagicEffect(CONST_ME_POFF) return false end local question = ANTIBOT.questions[ANTIBOT.playerQuestion[player:getId()]] if question.skill then correctAnswer = tonumber(player:getSkillLevel(question.answer)) message = tonumber(message) elseif question.answer == "level" then correctAnswer = tonumber(player:getLevel()) message = tonumber(message) elseif question.answer == "day" then correctAnswer = tonumber(os.date("%d")) message = tonumber(message) elseif question.staticAnswer then message = message:lower() correctAnswer = question.answer:lower() end verification = false if message == correctAnswer then verification = true end if verification then addEvent(sendChannelMessage, 200, 13, TALKTYPE_CHANNEL_O, ANTIBOT.prefix .. ANTIBOT.messages.correctAnswer) ANTIBOT:reset(player:getId()) else ANTIBOT:addTry(player:getId()) addEvent(function() if ANTIBOT.punishment.try.players[player:getId()] and ANTIBOT.punishment.try.players[player:getId()] < ANTIBOT.punishment.try.max and player then sendChannelMessage(13, TALKTYPE_CHANNEL_O, ANTIBOT.prefix .. ANTIBOT.messages.incorrectAnswer:format(ANTIBOT.punishment.try.max - ANTIBOT.punishment.try.players[player:getId()])) end end, 100) end return true end <channel id="13" name="AntiBot" script="antibot.lua" />
      Agora na pasta creaturescripts/scripts crie um arquivo chamado antibot.lua
      function onLogin(player) if player:getAccountType() >= ACCOUNT_TYPE_GAMEMASTER then return true end player:registerEvent("AntiBot") checkAnti(player:getId()) return true end function checkAnti(playerId) local player = Player(playerId) if not player then return false end min, max = ANTIBOT.verification[1], ANTIBOT.verification[2] random = math.random(min, max) addEvent(function() ANTIBOT:time(player:getId()) checkAnti(player:getId()) end, random * 60 * 1000) end <event type="login" name="AntiBot" script="antibot.lua" />
      Agora no arquivo logout.lua na pasta creaturescripts/scripts
      antes do return true adicione isso
      if ANTIBOT.punishment.try.players[player:getId()] or ANTIBOT.punishment.time.players[player:getId()] then player:sendTextMessage(MESSAGE_INFO_DESCR, ANTIBOT.prefix .. ANTIBOT.messages.logout) player:getPosition():sendMagicEffect(CONST_ME_POFF) return false end ANTIBOT:reset(player:getId())
       
      Sistema 100% feito por mim.
      Créditos adicionais ao @Endless e ao @Tottin por testarem
    • By Breno Alves
      Olá a todos, e estou de volta pra postar alguns conteúdos...
       
      Fui atrás de um online bonus system para tfs 1.3 e não achei e portanto decidi fazer o meu, com a ajuda do @vankk.
      ================================================================================================================
      Testado em TFS 1.3 na versão 8.60.
      ================================================================================================================

      ================================================================================================================
      No seu banco de dados, execute a seguinte query
      ALTER TABLE `players` ADD `online_time` int(11) NOT NULL DEFAULT 0 ================================================================================================================
      O próximo passo é apenas para quem gostaria de que, a cada server save, o número seja zerado!
      ================================================================================================================
      Em globalevents/scripts/startup.lua, após o inicio da função onStartup() adicione o seguinte código
      db.query("UPDATE `players` SET `online_time` = 0") ================================================================================================================
      Agora crie um arquivo chamado onlinebonus.lua em creaturescripts/scripts com isso dentro
      local event = {} local function addOnlineToken(playerId) local player = Player(playerId) if not player then return false end if player:getIp() == 0 then event[player:getId()] = nil return false end player:addOnlineTime(1) player:getPosition():sendMagicEffect(CONST_ME_GIFT_WRAPS) player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Você ganhou 1 online token por permanecer online por 1 hora sem deslogar.") player:addItem(12543, 1) event[player:getId()] = addEvent(addOnlineToken, 60 * 60 * 1000, player:getId()) end function onLogin(player) player:registerEvent("OnlineBonus") player:registerEvent("OnlineBonusLogout") if event[player:getId()] == nil then event[player:getId()] = addEvent(addOnlineToken, 60 * 60 * 1000, player:getId()) end return true end function onLogout(player) if event[player:getId()] then event[player:getId()] = nil end return true end -- <event type="login" name="OnlineBonus" script="onlineBonus.lua" /> -- <event type="logout" name="OnlineBonusLogout" script="onlineBonus.lua" /> A tag XML está no fim desse código.
      ================================================================================================================
      Agora, na pasta lib, crie um arquivo chamado onlineTime.lua e coloque isso dentro
      function Player.getOnlineTime(self) local resultId = db.storeQuery(string.format('SELECT online_time FROM `players` WHERE `id` = %d', self:getGuid())) if not resultId then return 0 end local value = result.getNumber(resultId, "online_time") result.free(resultId) return value end function Player.addOnlineTime(self, amount) db.query(string.format("UPDATE `players` SET `online_time` = `online_time` + %d WHERE `id` = %d", amount, self:getGuid())) end Não esqueça de registrar essa lib no lib.lua.
      ================================================================================================================
      Agora, na pasta talkactions/scripts, crie um arquivo chamado onlinebonus.lua com o seguinte código dentro:
      function onSay(player, words, param) local skill = player:getOnlineTime(player) local message = "--------[+]------- [Online Bonus System] -------[+]--------\n\nGanhe um online token a cada hora que você passa online sem deslogar.\n\n---------------------------------------------------\n Total\n Desde o server save você já ganhou " .. skill .. " online tokens." doPlayerPopupFYI(player, message) end -- <talkaction words="!onlinebonus" script="onlineBonus.lua"/> A tag XML está no fim desse código.
      ================================================================================================================
      O usuário irá receber um item a cada hora online sem deslogar.
      O item está no código de creaturescripts com o id 12543, que pode ser alterado para qualquer item que seja agrupável.
      ================================================================================================================
      É isso por hoje.
    • By QuebradaZN
      Boa Tarde, Hoje venho trazer a vocês um Sistema de Aura!
      Feito pelo @bielzinhocrazy [Fakezim/BielzinhoCrazy/GMLeal] 
       
      Mudanças que Foram feitas...
      Retirei a ativação da Aura por Talk e coloquei por Equip
      Fixei o Bug que a aura Não Girava em torno do Player
      Fixei o Bug que o Player Parava de receber a aura assim que Tinha o Efeito da Cura!
       
      Em Movements/scripts/ Crie um Arquivo com nome de aura.lua
      -- CONFIGURAÇÕES aurastr = 25950 -- storage da aura estr = 25951 -- storage para o exhaust porcentagem = 50 -- chance de curar em cada volta da aura, em porcentagem quantheal = 20 -- porcentagem do hp máximo que cada cura irá curar. (No caso, irá curar 10% do hp máximo cada cura) tempo = 1180 -- tempo para dar uma volta no player (este tempo foi o que achei mais agradável visualmente, é recomendável não mudar) tipoaura = 31 -- número do efeito da aura (efeito de distância, pode ser identificado com /x no jogo) efeitocura = 54 -- número do efeito quando a cura chega ao player (efeito de posição fixa, pode ser identificado com /z no jogo) -- Função que chama a aura function efeitosAura(i,tm,cid) if(isCreature(cid)) then local atual = getCreaturePosition(cid) local posaura = { {x=(atual.x)-1, y=(atual.y)-1, z=atual.z}, {x=atual.x, y=(atual.y)-1, z=atual.z}, {x=(atual.x)+1, y=(atual.y)-1, z=atual.z}, {x=(atual.x)+1, y=atual.y, z=atual.z}, {x=(atual.x)+1, y=(atual.y)+1, z=atual.z}, {x=atual.x, y=(atual.y)+1, z=atual.z}, {x=(atual.x)-1, y=(atual.y)+1, z=atual.z}, {x=(atual.x)-1, y=atual.y, z=atual.z}, } local chances = math.random(100) if(chances<=porcentagem/8 and getCreatureHealth(cid)<getCreatureMaxHealth(cid)) then doCreatureAddHealth(cid, getCreatureMaxHealth(cid)/quantheal) if(i<=8 and i>1) then doSendDistanceShoot({x=posaura[i].x, y=posaura[i].y, z=posaura[i].z}, atual, tipoaura) else doSendDistanceShoot({x=posaura[1].x, y=posaura[1].y, z=posaura[1].z}, atual, tipoaura) end doSendMagicEffect(atual, efeitocura) end if(i==8) then doSendDistanceShoot({x=posaura[i].x, y=posaura[i].y, z=posaura[i].z}, {x=posaura[1].x, y=posaura[1].y, z=posaura[1].z}, tipoaura) elseif(i<8) then doSendDistanceShoot({x=posaura[i].x, y=posaura[i].y, z=posaura[i].z}, {x=posaura[i+1].x, y=posaura[i+1].y, z=posaura[i+1].z}, tipoaura) end if(i<=8 and getPlayerStorageValue(cid, aurastr)==2) then i = i+1 tm = tempo/8 return addEvent(efeitosAura,tm,i,tm,cid) elseif(i>8 and getPlayerStorageValue(cid, aurastr)==2) then return efeitosAura(1,0,cid) else return TRUE end else return TRUE end end function onEquip(player, item, slot, isCheck) local slot_ = player:getSlotItem(CONST_SLOT_RING) if slot_ and slot_.itemid == item.itemid then return false end doPlayerSendCancel(player,"Você Ativou a Aura!") setPlayerStorageValue(player, aurastr, 2) efeitosAura(1,tempo/8,player.uid) return true end function onDeEquip(player, item, slot, isCheck) if(getPlayerStorageValue(player, aurastr)==2) then setPlayerStorageValue(player, estr, os.time()+2) setPlayerStorageValue(player, aurastr, -1) doPlayerSendCancel(player,"Você Desativou a Aura!") return true end end  
      Feito Isso Vamos Registrar esse Script
      Em Movements/movements.xml
      <movevent event="Equip" itemid="9003" slot="ring" script="aura.lua" /> <movevent event="DeEquip" itemid="9003" slot="ring" script="aura.lua" /> OBS: Usei o Golden Falcon como Item
       
      Agora em Creaturescripts/scripts crie um Arquivos Chamado aura.lua
      function onLogin(cid) if(getPlayerStorageValue(cid, 25950)==2) then return efeitosAura(1,tempo/8,cid.uid) end return TRUE end Caso o Player Deslogue com a Aura Ativa, Quando retornar Online Continuará com a Aura!
      Registrando no Login.lua
      player:registerEvent("AuraLogin")  
      Em Creaturescripts/creaturescripts.xml
      <event type="login" name="AuraLogin" script="others/aura.lua" /> Nesse Caso minha Aura.lua está na Pasta others!
       
      Então é isso Pessoal, Qualquer problema Tentarei ajudar todos por Aqui
       
      Espero ter ajudado!
×
×
  • Create New...

Important Information

Confirmação de Termo