SrNaja 7 Postado Janeiro 5, 2022 Share Postado Janeiro 5, 2022 (editado) Sistema funciona da seguinte forma, ao digitar : !aura on, a aura do player vai ligar, enquanto ela estiver ligada o player vai ficar regenerando a vida dele, ao digitar : !aura off, ela vai desligar e o player vai parar de regenerar a vida dele, vou estar deixando um video aqui em baixo Agora vamos colocar o codigo Em data/talkactions/script/, crie um arquivo chamado aura.lua, e coloque isso dentro dele : local config_aurea = { effect = 50; -- efeito que vai ficar girando no player effect_health = 162; -- efeito qnd curar o player level_use = { -- level que vai ser usado (min/max) min = 1, max = 600, } ; health = 10; -- tanto que vai curar por time configurado pos_aurea = { -- não mexa [1] = {x = 0, y = -1}; [2] = {x = 1, y = -1}; [3] = {x = 1, y = 0}; [4] = {x = 1, y = 1}; [5] = {x = 0, y = 1}; [6] = {x = -1, y = 1}; [7] = {x = -1, y = 0}; [8] = {x = -1, y = -1}; }; storage_pos = 1547637649; -- não mexa e nem repita esse valor em outro script!! storage = 165477963; -- não mexa e nem repita esse valor em outro script!! tempo_aurea = 1; -- tempo da aurea para passar em cada posição } local function calculePosAurea(player_uid) local player = Player(player_uid) if not player then return end if player:getStorageValue(config_aurea.storage) <= 0 then return end if(player:getStorageValue(config_aurea.storage_pos) >= 8)then player:setStorageValue(config_aurea.storage_pos, 0) end local storage_ = player:getStorageValue(config_aurea.storage_pos) player:setStorageValue(config_aurea.storage_pos, storage_ + 1) local new_storage_ = player:getStorageValue(config_aurea.storage_pos) return new_storage_ end local function posAurea(player_uid) local player = Player(player_uid) if not player then return end if player:getStorageValue(config_aurea.storage) <= 0 then return end local pos_x = player:getPosition().x local pos_y = player:getPosition().y local pos_z = player:getPosition().z local aa = calculePosAurea(player_uid) local pos = Position(pos_x + config_aurea.pos_aurea[aa].x, pos_y + config_aurea.pos_aurea[aa].y, pos_z) if not pos then return end return pos end local function aurea(player_uid) local player = Player(player_uid) if not player then return end if player:getStorageValue(config_aurea.storage) <= 0 then return end local player_position = player:getPosition() player:addHealth(config_aurea.health) player_position:sendMagicEffect(config_aurea.effect_health) local position = posAurea(player_uid) local position_ = posAurea(player_uid) position:sendDistanceEffect(position_, config_aurea.effect) addEvent(aurea, config_aurea.tempo_aurea, player_uid) end function onSay(player, words, param) if words == "!aura on" then if player:getLevel() > config_aurea.level_use.max then player:sendTextMessage(MESSAGE_STATUS_SMALL, player:getName() .. " seu level(" .. player:getLevel() .. ") precisa ser maior(" .. config_aurea.level_use.max) return false end if player:getLevel() < config_aurea.level_use.min then player:sendTextMessage(MESSAGE_STATUS_SMALL, player:getName() .. " seu level(" .. player:getLevel() .. ") precisa ser menor(" .. config_aurea.level_use.max) return false end if player:getStorageValue(config_aurea.storage) >= 1 then player:sendTextMessage(MESSAGE_STATUS_SMALL, player:getName() .. " Você ja esta com a aurea ligada") return false end player:setStorageValue(config_aurea.storage, 1) player:setStorageValue(config_aurea.storage_pos, 0) aurea(player.uid) elseif words == "!aura off" then player:setStorageValue(config_aurea.storage, 0) end return false end Agora em data/talkactions/talkactions.xml, abra ele e coloque : <talkaction words="!aura on;!aura off" script="aura.lua"/> Agora em data/creaturescript/script/login.lua, abra ele e embaixo de : player:sendTextMessage(MESSAGE_STATUS_DEFAULT, loginStr) Coloque : player:setStorageValue(165477963, 0) player:setStorageValue(1547637649, 0) Creditos : Sr. Naja 20210927_210547.mp4 Editado Janeiro 14, 2022 por SrNaja Atualização no sistema! Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados