Ir para conteúdo

Ajuda .


Dropr

Posts Recomendados

Não testei ainda mas vê ae :

 

car.lua

--<< Configurable >>--

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

 

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

max_speed = 1000, -- 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

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.")

 

if isPlayer(cid) and not isPremium(cid) then

doPlayerSendCancel(cid, a)

return TRUE

end

end

end

 

return true

end

 

 

namechange.lua

-- Creditos a Won Helder, apocarai, MatheusMkalo

function onSay(cid, words, param)

local maxLen = 15 -- tamanho maximo do nome

local itemid = 2361 ------ Numero do Item que será removido

local proibido = {"!","@","*"}

 

 

for i = 1, #proibido do

if string.find(tostring(param), proibido) then

doPlayerSendCancel(cid,"Não pode usar símbolos em seu nome.")

return TRUE

end

end

 

if tostring(param) == "" then -- checkar se não é nome vazio

doPlayerSendCancel(cid, "Você deve informar um nome.")

return TRUE

end

 

if string.len(tostring(param)) > maxLen then

doPlayerSendCancel(cid, "Você pode usar no máximo " .. maxLen .. " letras.")

return TRUE

end

 

if not getTilePzInfo(getCreaturePosition(cid)) then

doPlayerSendCancel(cid,"So pode ser usado em pz.")

return TRUE

end

 

if isPlayer(cid) and not isPremium(cid) then

doPlayerSendCancel(cid,"Apenas premium acc pode usar esse comando.")

return TRUE

end

 

if getPlayerItemCount(cid, itemid) >= 1 then

doPlayerRemoveItem(cid, itemid, 1)

db.executeQuery("UPDATE `players` SET `name` = '"..param.."' WHERE `id` = "..getPlayerGUID(cid)..";")

doPlayerSendTextMessage(cid,25,"Você será kickado em 5 segundos.")

addEvent(doRemoveCreature, 5*1000, cid, true)

else

doPlayerSendCancel(cid,"Você não possui o item " .. getItemNameById(itemid) .. ".")

end

return TRUE

end

 

 

Rep + ae! :weight_lift:

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...