SrNaja 7 Postado Janeiro 5, 2022 Share Postado Janeiro 5, 2022 (editado) O sistema funciona da seguinte maneira, você vai estar com um certo item configurado no actions, e vai da target em cima do item que sera minerado, e esperar o tempo, após o tempo acabar você vai ganhar o item minerado, e vai ter um tempo para o item que foi minerado ressurgir. Agora vamos para instalação do codigo Abra seu data/actions/script, e crie um arquivo chamado craft.lua, e coloque isso dentro dele : local config = { storage_outfit = 4584864776; -- storage da outfit não mexa count = 0; [2704] = { -- id do item que vai ser craft ( arvore ) level_use = { -- level para dar craft MIN/MAX min = 0; max = 100; }; outfit = { -- id da outfit male/famela male = 1275; female = 1276; }; item_create = 3000; -- id do item que o jogador vai receber count = 1; -- a quandidade que ele vai receber transform = 2713; -- tranformção do item que vai ser craft time_transform = 3000; -- o tempo para transforma o item time_addItem = 3050; -- tempo que o player vai ganhar o item ( obs sempre coloque time_tranform + 50 ) time_message = 300; -- tempo que a mensagem vai carregar ( obs - time_transform / 10 ) time_respawn = 3000; -- tempo para arvores da respawn } } local function respawnItem(pos_item, item_id) local tile = Tile(pos_item) if not tile then return end local item = tile:getTopVisibleThing() if not item then return end item:transform(item_id) Game.sendAnimatedText("Sucess", pos_item, math.random(1, 255)) end local function tranformItem(item_pos, value, respawnItem_) local tile = Tile(item_pos) if not tile then return end local item = tile:getTopVisibleThing() if not item then return end local item_id = item:getId() addEvent(respawnItem, respawnItem_ , item_pos, item_id) item:transform(value) end local function message(pos_, time) if(config.count >= 10)then config.count = 0 return end config.count = config.count + 1 Game.sendAnimatedText(config.count .. "/" .. 10, pos_, math.random(1, 255)) addEvent(message, time, pos_, time) end local function addItem(player_uid, value_item, value_count) local player = Player(player_uid) if not player then return end player:addItem(value_item, value_count, 1, 3) local outfit = player:getStorageValue(config.storage_outfit) player:setOutfitLookType(outfit) player:setMovementBlocked(false) end function onUse(player, item, fromPosition, target, toPosition, isHotkey) local item_target = Item(target.uid) if not item_target then return not player:sendTextMessage(MESSAGE_INFO_DESCR, player:getName() .. " isso não é um item") end local target_id = item_target:getId() local config_table = config[target_id] if not config_table then return not player:sendTextMessage(MESSAGE_INFO_DESCR, player:getName() .. " esse item não pode ser minerado") end if(player:getLevel() < config_table.level_use.min)then return not player:sendTextMessage(MESSAGE_INFO_DESCR, player:getName() .. " Seu level esta muito baixo para minerar esse item, level requerido (" .. config_table.level_use.min .. ")") end if(player:getLevel() > config_table.level_use.max)then return not player:sendTextMessage(MESSAGE_INFO_DESCR, player:getName() .. " Seu level esta muito alto para minerar esse item, level requerido (" .. config_table.level_use.max .. ")") end local outfit = player:getOutfit().lookType player:setStorageValue(config.storage_outfit, outfit) player:setMovementBlocked(true) if(player:getSex() > 1)then player:setOutfitLookType(config_table.outfit.male) else player:setOutfitLookType(config_table.outfit.female) end local pos_target = item_target:getPosition() message(pos_target, config_table.time_message) addEvent(tranformItem, config_table.time_transform, pos_target, config_table.transform, config_table.time_respawn) addEvent(addItem, config_table.time_addItem, player.uid, config_table.item_create, config_table.count) return true end agora vai em data/actions/actions.xml, e coloque isso dentro : <action itemid="o id dos itens que vão ser usado para minerar" script="other/craft.lua" /> agora vai em data/lib/core/creature.lua, e coloque isso dentro : function Creature:setOutfitLookType(outfit_id) local creature_outfit = self:getOutfit() creature_outfit.lookType = outfit_id self:setOutfit(player_outfit) end Editado Janeiro 5, 2022 por SrNaja Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados