Ir para conteúdo

Featured Replies

Postado
  • Este é um post popular.

Sistema de Plantação

 

 

 

Crie cultivo.lua em data/actions/scripts e cole:

 

-- Plantation System created by Vítor Bertolucci - Killua
-- 02/04/2014


local usableDirt = 103 -- Dirt to seed
local mustBeInHouse = true -- Is it only enabled inside houses? [true/false]
local fruits = {2682, 5097, 8838, 2685, 2674} -- Fruits that can grow
local failChance = 0 -- Fail chance in %


function transformIt(pos, id) -- Seeds the ground
    pos.stackpos = 0
    return doTransformItem(getThingFromPos(pos).uid, id)
end


function getUnwantedItem(pos) -- Checks for unwanted items
    for i = 1, 5 do
        pos.stackpos = i
        if getThingFromPos(pos).itemid > 0 and getThingFromPos(pos).itemid ~= 7732 then
            return true
        end
    end
    return false
end


function transformTo(pos, fromid, toid) -- Makes the plants grow
    for s = 1, 5 do
        pos.stackpos = s
        local item = getThingFromPos(pos)
        if item.itemid == fromid then
            doTransformItem(item.uid, toid)
        end
    end
end


function doRemoveMe(pos, id) -- Removes weeds
    for stackpos = 1, 5 do
      pos.stackpos = stackpos
      local item = getThingFromPos(pos)
        if item.itemid == id then
          doRemoveItem(item.uid)
        end
    end
end


function onUse(cid, item, fromPosition, itemEx, toPosition)
    if mustBeInHouse and not getHouseFromPos(toPosition) then
        return doPlayerSendCancel(cid, "You can only plant inside houses.")
    end
    
    toPosition.stackpos = 0
    local tile = getThingFromPos(toPosition)
    if tile.itemid == usableDirt and not getUnwantedItem(toPosition) and itemEx.itemid ~= 7732 then
        if item.itemid == 2552 then
            doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "You have plowed the ground.")
            doTransformItem(tile.uid, 804)
            addEvent(transformIt, math.random(44600, 48600), toPosition, usableDirt)
        end
    elseif item.itemid == 7732 and tile.itemid == 804 and not getUnwantedItem(toPosition) then
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "You have planted the seed.")
        doRemoveItem(item.uid, 1)
        doCreateItem(6216, 1, toPosition)
        doSendMagicEffect(toPosition, CONST_ME_SMALLPLANTS)
        local chance = math.random(1, 100)
        local time1 = math.random(8500, 12600)
        local time2 = math.random(24500, 28600)
        if chance <= failChance then
            addEvent(transformTo, time1, toPosition, 6216, 2784)
            addEvent(doSendMagicEffect, time1, toPosition, 7)
            addEvent(doRemoveMe, time2, toPosition, 2784)
            addEvent(doSendMagicEffect, time2, toPosition, CONST_ME_POFF)
        else
            addEvent(transformTo, time1, toPosition, 6216, 2779)
            addEvent(doSendMagicEffect, time1, toPosition, CONST_ME_SMALLPLANTS)
            addEvent(doSendMagicEffect, time2, toPosition, CONST_ME_PLANTATTACK)
            addEvent(transformTo, time2, toPosition, 2779, fruits[math.random(1, #fruits)])
        end
    elseif itemEx.itemid == 2784 or itemEx.itemid == 2779 then
        if tile.itemid == 804 or tile.itemid == 103 then
            doRemoveItem(itemEx.uid, 1)
            doSendMagicEffect(toPosition, 3)
            doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "You have removed the plant.")
        end
        else
        doPlayerSendCancel(cid, "You cannot plow this ground.")
    end
    return true
end

Em actions.xml coloque:

<action itemid="2552" event="script" value="cultivo.lua"/>
<action itemid="7732" event="script" value="cultivo.lua"/>

Use a enchada (ID: 2552) para arar o solo e plante uma semente (ID: 7732) nele.

Editado por Killua (veja o histórico de edições)

 

 

 

 

 

v61snZO.png?129bcx1x.pngiVgTXVz.png?1

 

 

 

 

 

  • Respostas 7
  • Visualizações 2.9k
  • Created
  • Última resposta

Top Posters In This Topic

Postado

HAHAHHA, você vai além das idéias né Killua, muito show, achei legal e eficiente, Obrigado por trazer ao TK.

YDmXTU2.png

 

Entenda tudo sobre VPS, DEDICADOS & HOSPEDAGENS. => Clique aqui

Global Full Download 10.9x - TFS 1.2/FERUMBRAS/KRAILOS. => Clique aqui

 

Muitos querem aquilo que você tem, 
mas vão desistir quando souberem o preço que você pagou.

 

skype-favicon.png lu.lukinha

message-16.png [email protected]

Postado

Fantástico,não basta saber programar em lua,tem que ter criatividade para criar sistemas como esse.Parabéns e obrigado pelo conteúdo,continua trazendo sistemas inovadores como essa para o fórum ! ;)

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Conteúdo Similar

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo