Ir para conteúdo

System Bike


jhonatanp

Posts Recomendados

Seguinte, achei este script em algum lugar do xitiba e gostei, é um sistema de BIKE para o servidor.

 

Mais o problemas é que o player pode utilizar o item e dar para outra pessoa utilizar, tenho uma solução:

 

Ao player Utilizar o item ele não pode deslogar do servidor, ao apertar CONTROL + Q irá aparecer, você está utilizando uma BIKE por favor DESSA, foi a melhor forma que eu achei. Assim se o player emprestar a bike para um amigo e o amigo morrer, ele voltara para a velocidade normal e não conseguira deslogar.


E gostaria de outra coisa, No script você coloca a COR que você quer que o personagem em cima da bike fique, tem alguma forma de colocar para que seja a cor que o player está?

 

Script:

 

 


function onUse(cid, item, fromPosition, itemEx, toPosition)
local sBike = 2547
local t = {
[583] = {article='a', name='Water Bike', text='Montou na Water Bike,', dtext='Desceu da Water Bike', s=9999, condition=bikeCondition},
}
function BikeSpeedOn(cid,nSpeed)
setPlayerStorageValue(cid,sBike,getCreatureSpeed(cid))
doChangeSpeed(cid,-getCreatureSpeed(cid))
doChangeSpeed(cid,nSpeed)
end
function BikeSpeedOff(cid)
doChangeSpeed(cid,-getCreatureSpeed(cid))
doChangeSpeed(cid,getPlayerStorageValue(cid,sBike))
end

local v, r = getCreaturePosition(cid), t[item.itemid]
local s = r.s
local pos = {x = v.x, y = v.y, z = v.z}
if r then
if getPlayerStorageValue(cid, 25000) == 5 then
return
end
if getPlayerStorageValue(cid, 23000) == 5 then
return
end

if getPlayerStorageValue(cid, 17001) == 1 or getPlayerStorageValue(cid, 63215) == 1 or getPlayerStorageValue(cid, 17000) == 1 then
doPlayerSendCancel(cid, "You can't use bike while ride/fly/surf.")
return true
end
if getPlayerSlotItem(cid, CONST_SLOT_AMMO).uid == item.uid then
doPlayerSendCancel("Não está no slot correto")
return true
end
if getPlayerStorageValue(cid, s) <= 0 then
doCreatureSay(cid, r.text, 19)
setPlayerStorageValue(cid, s, 1)
BikeSpeedOn(cid,1400)
if getPlayerSex(cid) == 1 then
doSetCreatureOutfit(cid, {lookType = 2015, lookHead = 1, lookAddons = 1, lookLegs = 1, lookBody = 1, lookFeet = 5}, -1)
else
doSetCreatureOutfit(cid, {lookType = 2010, lookHead = 1, lookAddons = 1, lookLegs = 1, lookBody = 1, lookFeet = 5}, -1)
end

elseif getPlayerStorageValue(cid, s) == 1 then
doCreatureSay(cid, r.dtext, 19)
setPlayerStorageValue(cid, s, 0)
BikeSpeedOff(cid)
return doRemoveCondition(cid, CONDITION_OUTFIT)
else
return doPlayerSendCancel(cid, 'You can\'t do this.')
end
else
return doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE, 'Report bugs in Bike system.')
end
end

 

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

Será q não existe uma função de não deixar mover o item?? eu n sei direito, pq n sou mt chegado a funções lua, mas se tiver, poderia fazer para que esta storange que usa para n dar surf, fly nem ride, poderia para chegar se o player que está com o item da bike, tiver uma storange, ai usaria esta função para não mover o item ¬¬ mas vai depender se existe esta função! vou dar uma olhada aq na net, se eu achar eu tento fazer aq

Link para o comentário
Compartilhar em outros sites

é o seguinte vai no seu cliente abra ele com o object builder copia a sprite da bike, importa novamente tendo 2 engrenagem, 1 pode ser movida e outra n pode ser movida, vai no seu item editor cria um novo id, pega o id da sprite não movida coloca no item editor marca o opção nomovable e salva cria 2 scripts para que quando vc usar o item ele se transforma na bike n movida e a assim saindo da bike ela volta a se mover '0' eu fiz isso...

 

 

ou você pode tentar
function onDeEquip(cid, item, slot)
if getPlayerStorage(cid) >= 1 then
return doPlayerSendCancel(cid, "You cannot move this object.")
end
end

em moviments.xml add a tag

<movevent type="DeEquip" itemid=" ID DA BIKE"slot="SLOT DA SUA BIKW" event="script" value="test.lua"/>

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

  • 1 month later...

O tópico foi fechado e movido para lixeira por estar inativo a mais de 10 dias. Caso seja preciso reabrir o mesmo, favor entrar em contato com a equipe.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...