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}}localfunction respawnItem(pos_item, item_id)local tile = Tile(pos_item)ifnot tile thenreturnendlocal item = tile:getTopVisibleThing()ifnot item thenreturnend
item:transform(item_id)
Game.sendAnimatedText("Sucess", pos_item, math.random(1,255))endlocalfunction tranformItem(item_pos, value, respawnItem_)local tile = Tile(item_pos)ifnot tile thenreturnendlocal item = tile:getTopVisibleThing()ifnot item thenreturnendlocal item_id = item:getId()
addEvent(respawnItem, respawnItem_ , item_pos, item_id)
item:transform(value)endlocalfunction message(pos_, time)if(config.count >=10)then
config.count =0returnend
config.count = config.count +1
Game.sendAnimatedText(config.count .."/"..10, pos_, math.random(1,255))
addEvent(message, time, pos_, time)endlocalfunction addItem(player_uid, value_item, value_count)local player = Player(player_uid)ifnot player thenreturnend
player:addItem(value_item, value_count,1,3)local outfit = player:getStorageValue(config.storage_outfit)
player:setOutfitLookType(outfit)
player:setMovementBlocked(false)endfunction onUse(player, item, fromPosition, target, toPosition, isHotkey)local item_target = Item(target.uid)ifnot item_target thenreturnnot player:sendTextMessage(MESSAGE_INFO_DESCR, player:getName().." isso não é um item")endlocal target_id = item_target:getId()local config_table = config[target_id]ifnot config_table thenreturnnot player:sendTextMessage(MESSAGE_INFO_DESCR, player:getName().." esse item não pode ser minerado")endif(player:getLevel()< config_table.level_use.min)thenreturnnot player:sendTextMessage(MESSAGE_INFO_DESCR, player:getName().." Seu level esta muito baixo para minerar esse item, level requerido (".. config_table.level_use.min ..")")endif(player:getLevel()> config_table.level_use.max)thenreturnnot player:sendTextMessage(MESSAGE_INFO_DESCR, player:getName().." Seu level esta muito alto para minerar esse item, level requerido (".. config_table.level_use.max ..")")endlocal 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)endlocal 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)returntrueend
agora vai em data/actions/actions.xml, e coloque isso dentro :
<actionitemid="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
info
Grupo: Campones
Registrado: 03/01/22
Posts: 36
Reputação: +7
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 :
agora vai em data/actions/actions.xml, e coloque isso dentro :
agora vai em data/lib/core/creature.lua, e coloque isso dentro :
Editado Janeiro 4 por SrNaja