Ir para conteúdo

[ Ajuda Ake Plz ] Scrpt De Kart Com Chave


AndreAmaral

Posts Recomendados

The Forgotten Server

Versao 8.60

Nivel : Baixo / Medio

Tipo Do Scrpt : Talkaction

 

GALERA ME AJUDA AKI PELO AMOR D DEUS SO FALTA ISSO PA CONCLUIR MEU OT :

 

Tenho um scipt aki que peguei no x tibia msm de Carro, porem eu queria que so usasse esse scrpt com uma chave..

O script funciona todo por talkaction ,queria que usasse as talkactions se tivesse um item, o Da Chave que o id é 8981

 

 

DAREI REP + È CLARO !!

 

O Script è Esse Aqui :

________________________________________________________________________________________

 

--<< Configurable >>--

local storages = { speed = 314622, status = 352993 } -- Empty storages

 

local cfg = { min_speed = 300, -- better not increase than that [ the least speed for a car ]

max_speed = 200, -- better not decrease than this [ the maximum speed for a car ]

Increase_per_command = 100, -- The speed increase or decrease value per each command (!car speed // !car slow)

Car_Explode = true -- Keep it true , so your map isnt filled with cars

}

-->> END <<--

 

--<< Functions >>--

 

function isWalkable(pos, creature, pz)-- Modificações by Hudsin,Arkires e Pinpao Xtibia

if getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).itemid == 0 then return false end

if getTopCreature(pos).uid > 0 and creature then return false end

if getTileInfo(pos).protection and pz then return false, true end

local n = not proj and 3 or 2

for i = 0, 255 do

pos.stackpos = i

local tile = getTileThingByPos(pos)

if tile.itemid ~= 0 and not isCreature(tile.uid) then

if hasProperty(tile.uid, n) or hasProperty(tile.uid, 7) then

return false

end

end

return true

end

 

function getCarSpeed(cid) return getPlayerStorageValue(cid,storages.speed) end

function setCarSpeed(cid,value) return setPlayerStorageValue(cid,storages.speed, getPlayerStorageValue(cid,storages.speed) + value) end

function setCarStatus(cid,value) return setPlayerStorageValue(cid,storages.status,value) end

function carMove(cid) return getPlayerStorageValue(cid,storages.status) > 0 and true or false end

 

function move(cid,time)

local dir = getCreatureLookDir(cid)

local id = isInArray({1,3},getCreatureLookDir(cid)) and 7267 or 7266

local place = getPositionByDirection(getThingPos(cid),dir,1)

if isWalkable(place,true,true,true) then

doRemoveItem( getTileItemById(getThingPos(cid),7267).uid > 0 and getTileItemById(getThingPos(cid),7267).uid or getTileItemById(getThingPos(cid),7266).uid )

doTeleportThing(cid,place,false)

addEvent(doSendMagicEffect,time+10,place,34)

doCreateItem(id,1,place)

if carMove(cid) then

addEvent(move,time,cid,getCarSpeed(cid))

else

doRemoveItem( getTileItemById(getThingPos(cid),7267).uid > 0 and getTileItemById(getThingPos(cid),7267).uid or getTileItemById(getThingPos(cid),7266).uid )

end

else

doCreatureSetNoMove(cid, 0)

doPlayerSendTextMessage(cid,27,"You have hit somthng.")

setCarStatus(cid,0)

if cfg.Car_Explode then

doRemoveItem( getTileItemById(getThingPos(cid),7267).uid > 1 and

getTileItemById(getThingPos(cid),7267).uid or getTileItemById(getThingPos(cid),7266).uid )

doSendAnimatedText(getThingPos(cid),"Crashed",TEXTCOLOR_RED)

doSendMagicEffect(getThingPos(cid),31)

end

end

end

 

--<< Functions Ends <<--

 

function onSay(cid, words, param, channel)

if param == "speed" then

if carMove(cid) then

if getCarSpeed(cid) > cfg.max_speed then

setCarSpeed(cid,-(cfg.Increase_per_command))

addEvent(doSendAnimatedText,10,getThingPos(cid),"Speeding",TEXTCOLOR_GREEN)

else

setCarSpeed(cid,cfg.max_speed)

doPlayerSendCancel(cid,"The car is in its maximum speed.")

end

else

doPlayerSendCancel(cid,"You should start moving first.")

end

elseif param == "slow" then

if carMove(cid) then

if getCarSpeed(cid) < cfg.min_speed then

setCarSpeed(cid,cfg.Increase_per_command)

addEvent(doSendAnimatedText,10,getThingPos(cid),"Slowing",TEXTCOLOR_GREEN)

else

setCarSpeed(cid,cfg.min_speed)

doPlayerSendCancel(cid,"The car is in its minumium speed.")

end

else

doPlayerSendCancel(cid,"You should start moving first.")

end

elseif param == "stop" then -- by DarkVelocity Xtibia

if carMove(cid) then

setCarStatus(cid,0)

doCreatureSetNoMove(cid, 0)

 

else

doPlayerSendCancel(cid,"Car is already stopped.")

end

elseif param == "move" then

if not carMove(cid) then

if getTileItemById(getThingPos(cid),7267).uid < 1 and getTileItemById(getThingPos(cid),7266).uid < 1 then

local item = isInArray({1,3},getCreatureLookDir(cid)) and 7267 or 7266

doCreateItem(item,1,getThingPos(cid))

end

setPlayerStorageValue(cid,storages.speed,cfg.min_speed)

setCarStatus(cid,1)

doCreatureSetNoMove(cid, 1)

move(cid,getCarSpeed(cid))

else

doPlayerSendCancel(cid,"Car is already moving.")

end

end

end

return true

end

________________________________________________________________________________________

 

AGRADEÇO DESDE JA OBRIGADO !!!!!!!!!!!!!!!!!!!!!

 

Esqueci De Falar Que o Comando Que Tou Tentando Colocar Pra Usar o Scrpt SE TIVER TAL ITEM ai ensima é o seguinte n sei se ta certo

 

 

local config= {

id = 8981, -- id do item que precisa

count = 1, -- qntos items precisa

Remove = false -- true para remover o item depois de usar e false para não remover

}

 

function onSay(cid, words, param)

if getPlayerItemCount(cid, config.id) < config.count then

return doPlayerSendTextMessage(cid, 27, "Você precisa de "..config.count.." "..getItemNameById(config.id).." para usar este comando.")

end

 

 

 

JA TENTEI DE TUDO MAS N FUNCIONA PQ ELE DIS QUE TA PRECISANDO DE UM END PRA FEIXA A FUNÇAO IF , SO QUE JA METI O END EM TUDO QUE E LUGAR ( LA ELE ) kkk' MAS N FUNCIONOU NAO =[[[

 

VLW AE GALERA :X

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

×
×
  • Criar Novo...