Ir para conteúdo
  • 0

Bug no Script da bike system


Josegvb

Pergunta

olá estou tendo 2 problemas com esse script e sao o siguente:

 

1º quando o player upa qualquer lvl a velocidade volta pra a normal q ele tinha antes de usar a bike

2º se o player deslogar ou morre com a Bike On, quando for voltar ira ter a velocidade normal blz mas se usar novamente vai aparescer o aviso de Bike Off e sua velocidade normal ira diminuir e se usar denovo voltara pra a normal mas com o sistema ON. entao o player precisa usar a bike pra desativar a Bike (quando morre ou desloga), ai relogar pra ganhar a velocidade normal e despois voltar a usar-la pra ganhar a velocidade da bike

 

ta ai o script

 

 

function onUse(cid, item, frompos, itemEx, topos)

local bike = {lookType = 2304} --- LookType do player em cima da bike. homem
local bike1 = {lookType = 2305} --- LookType do player em cima da bike. mulher
local speed = 300 --- Velocidade que a bike terá.
if getPlayerStorageValue(cid, 32001) == 1 then
doRemoveCondition(cid, CONDITION_OUTFIT)
doChangeSpeed(cid, -speed)
doSendAnimatedText(getCreaturePosition(cid), 'Motorcycle OFF!', 35)
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, 'Você desmontou da motorcycle.')
setPlayerStorageValue(cid, 32001, 0)
else
if getPlayerSex(cid) == 1 then -- homem
doChangeSpeed(cid, speed)
doSetCreatureOutfit(cid, bike, -1)
doSendAnimatedText(getCreaturePosition(cid), 'Motorcycle ON!', 32)
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, 'Você montou na motorcycle.')
setPlayerStorageValue(cid, 32001, 1)
elseif getPlayerSex(cid) == 0 then -- homem
doChangeSpeed(cid, speed)
doSetCreatureOutfit(cid, bike1, -1)
doSendAnimatedText(getCreaturePosition(cid), 'Motorcycle ON!', 32)
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, 'Você montou na motorcycle.')
setPlayerStorageValue(cid, 32001, 1)
end
end
return true
end

Link para o comentário
Compartilhar em outros sites

11 respostass a esta questão

Posts Recomendados

  • 0

Testa isso:

 

Vai em creaturesscripts. Dentro scripts, verifique se existe um arquivo chamado advance.lua.

Se existir, coloque dentro da função onAdvance o if do código abaixo. Se não existir, crie um arquivo chamado bike.lue e cole esse código dentro:

 

function onAdvance(cid, skill, oldLevel, newLevel)
if getPlayerStorageValue(cid, 32001) == 0 and skill == 8 then
addEvent(doChangeSpeed, 500, cid, 300)
end
return true
end

Se você tiver que criar, coloca essa tag em creaturesscripts.xml:

<event type="advance" name="bike" event="script" value="bike.lua"/>

 

Agora, abra login.lua e coloque esse if em algum lugar dentro da função onLogin:

if getPlayerStorageValue(cid, 32001) == 0 then
doChangeSpeed(cid, 300)
end
Me retorne o resultado.

Abraços,

 

Link para o comentário
Compartilhar em outros sites

  • 0

Testa isso:

 

Vai em creaturesscripts. Dentro scripts, verifique se existe um arquivo chamado advance.lua.

Se existir, coloque dentro da função onAdvance o if do código abaixo. Se não existir, crie um arquivo chamado bike.lue e cole esse código dentro:

 

function onAdvance(cid, skill, oldLevel, newLevel)
if getPlayerStorageValue(cid, 32001) == 0 and skill == 8 then
addEvent(doChangeSpeed, 500, cid, 300)
end
return true
end

Se você tiver que criar, coloca essa tag em creaturesscripts.xml:

<event type="advance" name="bike" event="script" value="bike.lua"/>

 

Agora, abra login.lua e coloque esse if em algum lugar dentro da função onLogin:

if getPlayerStorageValue(cid, 32001) == 0 then
doChangeSpeed(cid, 300)
end
Me retorne o resultado.

 

Abraços,

 

 

msm coisa amigo!

quando upa lvl a velocidade baixa de 650 pra 350 (que é a normal dos players), e se vc usa denovo a bike pra tirar fica em 50, logo usa dnovo e vai pra 350

Link para o comentário
Compartilhar em outros sites

  • 0

 

msm coisa amigo!

quando upa lvl a velocidade baixa de 650 pra 350 (que é a normal dos players), e se vc usa denovo a bike pra tirar fica em 50, logo usa dnovo e vai pra 350

E o login?

Editado, cara claro que não vai funcionar. Cometi um errrinho.

Tenta esse:

 

function onAdvance(cid, skill, oldLevel, newLevel)
if getPlayerStorageValue(cid, 32001) == 1 and skill == 8 then
addEvent(doChangeSpeed, 500, cid, 300)
end
return true
end

Se você tiver que criar, coloca essa tag em creaturesscripts.xml:

<event type="advance" name="bike" event="script" value="bike.lua"/>

 

Agora, abra login.lua e coloque esse if em algum lugar dentro da função onLogin:

if getPlayerStorageValue(cid, 32001) == 1 then
doChangeSpeed(cid, 300)
end

 

Editado por Skulls
Link para o comentário
Compartilhar em outros sites

  • 0

E o login?

Editado, cara claro que não vai funcionar. Cometi um errrinho.

Tenta esse:

 

function onAdvance(cid, skill, oldLevel, newLevel)
if getPlayerStorageValue(cid, 32001) == 1 and skill == 8 then
addEvent(doChangeSpeed, 500, cid, 300)
end
return true
end

Se você tiver que criar, coloca essa tag em creaturesscripts.xml:

<event type="advance" name="bike" event="script" value="bike.lua"/>

 

Agora, abra login.lua e coloque esse if em algum lugar dentro da função onLogin:

if getPlayerStorageValue(cid, 32001) == 1 then
doChangeSpeed(cid, 300)
end

 

 

nao esta funfando ainda baixa quando voce upa, porem ta pior pq agora a velocidade do player normal ficou em 650 (normal é 350)

Link para o comentário
Compartilhar em outros sites

  • 0

Agora foi, testado em casa.
Coloca isso no advance.lua, dentro de onAdvance

 

bspeed = 300 + getCreatureBaseSpeed(cid)
if getPlayerStorageValue(cid, 32001) == 1 and skill == 8 and getCreatureSpeed(cid) ~= bspeed then
doChangeSpeed(cid, math.abs(bspeed - getCreatureSpeed(cid)))
end
No login.lua, dentro de onLogin
bspeed = 300 + getCreatureBaseSpeed(cid)
if getPlayerStorageValue(cid, 32001) == 1 and getCreatureSpeed(cid) ~= bspeed then
doChangeSpeed(cid, math.abs(bspeed - getCreatureSpeed(cid)))
end
Me de retorno do resultado, mas acredito que vai ser igual aqui.
Abraços,
Editado por Skulls
Link para o comentário
Compartilhar em outros sites

  • 0

 

Agora foi, testado em casa.

Coloca isso no advance.lua, dentro de onAdvance

 

bspeed = 300 + getCreatureBaseSpeed(cid)
if getPlayerStorageValue(cid, 32001) == 1 and skill == 8 and getCreatureSpeed(cid) ~= bspeed then
doChangeSpeed(cid, math.abs(bspeed - getCreatureSpeed(cid)))
end
No login.lua, dentro de onLogin
bspeed = 300 + getCreatureBaseSpeed(cid)
if getPlayerStorageValue(cid, 32001) == 1 and getCreatureSpeed(cid) ~= bspeed then
doChangeSpeed(cid, math.abs(bspeed - getCreatureSpeed(cid)))
end
Me de retorno do resultado, mas acredito que vai ser igual aqui.
Abraços,

 

 

ainda quando upa 1 lvl a velocidade volta pro 350 :/ e tirando a bike 50

e me deparei de 1 coisa, se o player desloga com a bike on, quando volta a velocidade vai pra 1231 porem quando ele tira a bike e desloga a velocidade volta pra o 350

Link para o comentário
Compartilhar em outros sites

  • 0

Cara, que estranho. Aqui funciona perfeito, as duas situacoes, vou mandar ate um gif depois. Oq sera que tem de diferente? Eu criei um item que altera esse storage e a velocidade quando usa, se o storage tiver 1 ele diminui se tiver 0 ele aumenta a velocidade.

Link para o comentário
Compartilhar em outros sites

  • 0

Cara, que estranho. Aqui funciona perfeito, as duas situacoes, vou mandar ate um gif depois. Oq sera que tem de diferente? Eu criei um item que altera esse storage e a velocidade quando usa, se o storage tiver 1 ele diminui se tiver 0 ele aumenta a velocidade.

 

talvez um script de bike diferente no actions

 

 

 

function onUse(cid, item, frompos, itemEx, topos)

local bike = {lookType = 2304} --- LookType do player em cima da bike. homem
local bike1 = {lookType = 2305} --- LookType do player em cima da bike. mulher
local speed = 300 --- Velocidade que a bike terá.
if getPlayerStorageValue(cid, 32001) == 1 then
doRemoveCondition(cid, CONDITION_OUTFIT)
doChangeSpeed(cid, -speed)
doSendAnimatedText(getCreaturePosition(cid), 'Motorcycle OFF!', 35)
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, 'Você desmontou da motorcycle.')
setPlayerStorageValue(cid, 32001, 0)
else
if getPlayerSex(cid) == 1 then -- homem
doChangeSpeed(cid, speed)
doSetCreatureOutfit(cid, bike, -1)
doSendAnimatedText(getCreaturePosition(cid), 'Motorcycle ON!', 32)
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, 'Você montou na motorcycle.')
setPlayerStorageValue(cid, 32001, 1)
elseif getPlayerSex(cid) == 0 then -- homem
doChangeSpeed(cid, speed)
doSetCreatureOutfit(cid, bike1, -1)
doSendAnimatedText(getCreaturePosition(cid), 'Motorcycle ON!', 32)
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, 'Você montou na motorcycle.')
setPlayerStorageValue(cid, 32001, 1)
end
end
return true
end

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...