Ir para conteúdo

Featured Replies

Postado

Boa tarde,

tente assim:

 

Atualize seu script da bike para este:

local t = {text='Mount, bike!', dtext='Demount, bike!', s=5700, speed = 9999}
local bikeid = 1212 -- ITEMID da Bike
local bslot = {9, "ring"} -- Slot onde equipá-la (9 = ring), e nome do slot
local action = 12121
local strg = 12120


local function BikeSpeedOn(cid, t)                  
    setPlayerStorageValue(cid, t.s, t.speed)
    doChangeSpeed(cid, -getCreatureSpeed(cid))
    doChangeSpeed(cid, t.speed)
end
 
local function BikeSpeedOff(cid, t)
    setPlayerStorageValue(cid, t.s, -1)
    doRegainSpeed(cid)
end
 
 
function onUse(cid, item, fromPosition, itemEx, toPosition)
local pos = getThingPos(cid)
 
    if getPlayerItemCount(cid, 12774) <= 0 then
        return doPlayerSendCancel(cid, "You need a bike in your backpack.")
    end
 
    if getPlayerStorageValue(cid, 17001) >= 1 or getPlayerStorageValue(cid, 63215) >= 1 or
        getPlayerStorageValue(cid, 17000) >= 1 or getPlayerStorageValue(cid, 75846) >= 1 or
        getPlayerStorageValue(cid, 6598754) >= 1 or getPlayerStorageValue(cid, 6598755) >= 1 then
        return doPlayerSendCancel(cid, "You can't do that right now.")
    end
 
    if getPlayerSlotItem(cid, bslot[1]).itemid == bikeid then
        if getPlayerStorageValue(cid, t.s) <= 0 then
            doSendMagicEffect(pos, 177)
            setPlayerStorageValue(cid, strg, 1)
            doCreatureSay(cid, t.text, 19)
            doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, 'You have mounted in a bike.')
            BikeSpeedOn(cid, t)
            -- Function Swatt
            doRemoveItem(item.uid, 1)
            local actitem = doPlayerAddItem(cid, item.itemid, 1)
            doItemSetAttribute(actitem, "aid", action)
            -- Function Swatt
           if getPlayerSex(cid) == 1 then
              doSetCreatureOutfit(cid, {lookType = 1951}, -1)
           else
               doSetCreatureOutfit(cid, {lookType = 1950}, -1)
           end
        else
            doSendMagicEffect(pos, 177)
            setPlayerStorageValue(cid, strg, -1)
            doCreatureSay(cid, t.dtext, 19)
            doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, 'You haven demounted of a bike.')
            BikeSpeedOff(cid, t)
            doRemoveCondition(cid, CONDITION_OUTFIT)
            --- Function Swatt
            local getslot = getPlayerSlotItem(cid, bslot[1]).uid
            doItemSetAttribute(getslot, "aid", 0)
            doRemoveItem(getslot, 1)
            doPlayerAddItem(cid, item.itemid, 1)
            --- Function Swatt
        end
    else
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, 'Your bike needs stay in "..bslot[2].." slot for use.')
    end
    
return true
end

 

Agora em movements.xml, adicione a tag abaixo:

<movevent type="DeEquip" itemid="1212" slot="ring" event="script" value="bikesystem.lua"/>

 

E o script bikesystem.lua será o seguinte:

local action = 12121

function onDeEquip(cid, item)
    
    if item.actionid == action then
        doRemoveItem(item.uid, 1)
        local actitem = doPlayerAddItem(cid, item.itemid, 1)
        doItemSetAttribute(actitem, "aid", action)
        doPlayerSendCancel(cid, "You cannot take out this item while you're mounted on the bike.")
    end
    
return true
end

 

Aguardo resposta.

Boa sorte.

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

Gosta do meu trabalho?

Curta e siga a página do meu projeto de 2016 e 2017 (Lab Z Games) que trará vários servidores OTServs.

 

Atenciosamente,
Adriano Swatt'

 

Para ver meus tutoriais acesse meu perfil.

 

cbCyOSZ.png

  • Respostas 57
  • Visualizações 6.9k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Adriano SwaTT
    Adriano SwaTT

    O script da bike ficará assim:   Agora em creaturescripts.xml adicione a tag: <event type="logout" name="EventLogout" event="script" value="SystemLogout.lua"/>   E em SystemLogout.

  • Adriano SwaTT
    Adriano SwaTT

    Tente assim: Atualize seu script da bike por este e configure a id do item no início do script "bikeid":   Agora em movements.xml adicione a tag abaixo: <movevent type="RemoveItem" acti

  • Adriano SwaTT
    Adriano SwaTT

    Na verdade não... Mas tente assim:   Só o player que usar pode desativar para depois outro usar, ou seja, não tem como mais de 1 pessoa usar.   local t = {text='Mount, bike!', dtext='Demount, b

Postado
  • Autor

Boa tarde,

tente assim:

 

Atualize seu script da bike para este:

local t = {text='Mount, bike!', dtext='Demount, bike!', s=5700, speed = 9999}
local bikeid = 1212 -- ITEMID da Bike
local bslot = {9, "ring"} -- Slot onde equipá-la (9 = ring), e nome do slot
local action = 12121
local strg = 12120


local function BikeSpeedOn(cid, t)                  
    setPlayerStorageValue(cid, t.s, t.speed)
    doChangeSpeed(cid, -getCreatureSpeed(cid))
    doChangeSpeed(cid, t.speed)
end
 
local function BikeSpeedOff(cid, t)
    setPlayerStorageValue(cid, t.s, -1)
    doRegainSpeed(cid)
end
 
 
function onUse(cid, item, fromPosition, itemEx, toPosition)
local pos = getThingPos(cid)
 
    if getPlayerItemCount(cid, 12774) <= 0 then
        return doPlayerSendCancel(cid, "You need a bike in your backpack.")
    end
 
    if getPlayerStorageValue(cid, 17001) >= 1 or getPlayerStorageValue(cid, 63215) >= 1 or
        getPlayerStorageValue(cid, 17000) >= 1 or getPlayerStorageValue(cid, 75846) >= 1 or
        getPlayerStorageValue(cid, 6598754) >= 1 or getPlayerStorageValue(cid, 6598755) >= 1 then
        return doPlayerSendCancel(cid, "You can't do that right now.")
    end
 
    if getPlayerSlotItem(cid, bslot[1]).itemid == bikeid then
        if getPlayerStorageValue(cid, t.s) <= 0 then
            doSendMagicEffect(pos, 177)
            setPlayerStorageValue(cid, strg, 1)
            doCreatureSay(cid, t.text, 19)
            doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, 'You have mounted in a bike.')
            BikeSpeedOn(cid, t)
            -- Function Swatt
            doRemoveItem(item.uid, 1)
            local actitem = doPlayerAddItem(cid, item.itemid, 1)
            doItemSetAttribute(actitem, "aid", action)
            -- Function Swatt
           if getPlayerSex(cid) == 1 then
              doSetCreatureOutfit(cid, {lookType = 1951}, -1)
           else
               doSetCreatureOutfit(cid, {lookType = 1950}, -1)
           end
        else
            doSendMagicEffect(pos, 177)
            setPlayerStorageValue(cid, strg, -1)
            doCreatureSay(cid, t.dtext, 19)
            doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, 'You haven demounted of a bike.')
            BikeSpeedOff(cid, t)
            doRemoveCondition(cid, CONDITION_OUTFIT)
            --- Function Swatt
            local getslot = getPlayerSlotItem(cid, bslot[1]).uid
            doItemSetAttribute(getslot, "aid", 0)
            doRemoveItem(getslot, 1)
            doPlayerAddItem(cid, item.itemid, 1)
            --- Function Swatt
        end
    else
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, 'Your bike needs stay in "..bslot[2].." slot for use.')
    end
    
return true
end

 

Agora em movements.xml, adicione a tag abaixo:

<movevent type="DeEquip" itemid="1212" slot="ring" event="script" value="bikesystem.lua"/>

E o script bikesystem.lua será o seguinte:

local action = 12121

function onDeEquip(cid, item)
    
    if item.actionid == action then
        doRemoveItem(item.uid, 1)
        local actitem = doPlayerAddItem(cid, item.itemid, 1)
        doItemSetAttribute(actitem, "aid", action)
        doPlayerSendCancel(cid, "You cannot take out this item while you're mounted on the bike.")
    end
    
return true
end

Aguardo resposta.

Boa sorte.

Acontece nada só aparece um mensagem 15:06 Your bike needs stay in "..bslot[2].." slot for use. e não sobe na bike :(

Postado

Me diga, sua bike está equipada no slot do RING (ANEL)?

Gosta do meu trabalho?

Curta e siga a página do meu projeto de 2016 e 2017 (Lab Z Games) que trará vários servidores OTServs.

 

Atenciosamente,
Adriano Swatt'

 

Para ver meus tutoriais acesse meu perfil.

 

cbCyOSZ.png

Postado
  • Autor

Me diga, sua bike está equipada no slot do RING (ANEL)?

Mas eu Ja Tenho o Sistema De Só Poder Usar Ela No Ring Anel ... 

 

Obs: Eu Quero Que Quando Estiver Emcima Da Bike o Item Bike Fique e Not Moveable e Quando descer Da Bike ele Possa Ser movido Novamente ...

 

Se Tiver Como Ajudar :(

Postado

E pra isso adicionei uma actionID ao item para dizer quando está montado ou não na bike.

Se você testou o script, era pra funcionar, se está acusando:

'Your bike needs stay in "..bslot[2].." slot for use.'

É porque não está no slot certo o item.

 

Pois não conheço ou não me lembro de uma função que vai bloquear de jogar o item no chão.

Porque a que te passei, deixa o player jogar no chão e só bloqueia de mover quando já está no chão.

 

Boa sorte.

Gosta do meu trabalho?

Curta e siga a página do meu projeto de 2016 e 2017 (Lab Z Games) que trará vários servidores OTServs.

 

Atenciosamente,
Adriano Swatt'

 

Para ver meus tutoriais acesse meu perfil.

 

cbCyOSZ.png

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.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo