Ir para conteúdo
  • 0

Script De Treno


leoe

Pergunta

Queria um script que quando voce subisse no treno(item id 7266)voce contralava ele pela seta,e atras dele aonde ele passava fazia um efeito

Baiak :versao 8.60

quem puder ajuda dou rep+

agradeço desde ja

Link para o comentário
Compartilhar em outros sites

15 respostass a esta questão

Posts Recomendados

  • 0

Rlx nao quero credito e outra o Credito vai ser meu de todo geito pq issu pe 1 carro omeu vo mudar para treino e vo muda o efect :D

 

Va em talkaction/scripts e crie 1 Arquivo chamado Treno.lua

 

--<<Configurable>>--

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

 

local cfg = { min_speed = 300, -- better not increase than that [ A velocidade do treno ]

max_speed = 200, -- better not decrease than this [ Maxima velocidade do treno ]

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

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

}

-->> 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,40)

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),40)

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 Treno 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 treno 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,"Treno 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,"O treno se Moveu.")

end

end

 

return true

 

end

 

Em talkactions.xml add

<talkaction words="!treno" event="script" value="treno.lua"/>

 

Creditos:

DanielZiyak

 

e

TrojanBr

 

e

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

  • 0

Pera ja vejo issu,

Pronto ja editei o script se o distance for o 40 mesmo ta certin agora :D

 

 

Lista de spells

lista1q.pngefeito 1 = círculos

efeito 3 = ataque cruzado

efeito 4 = ataque x com fumaça

 

efeito 5 = explosão

efeito 6 = explosão com bola de fogo

efeito 7 = explosão de pequenos circulos

efeito 8 = explosao de veneno

efeito 9 = ataque fisico (tipo exori)

 

efeitos basicos:

efeito 10 = vis

efeito 11 = choque

efeito 12 = estrela azul

efeito 13 = estrela vermelha

efeito 14 = estrela verde

efeito 15 = flam

efeito 17 = mort

efeito 41 = frigo

Efeito 18 = ataque em x verde

 

Efeitos especiais:

 

efeito 23 = musica azul

efeito 24 = musica branca

efeito 25 = bolhas

efeito 33 = Monstro marinho (rox)

efeito 34 = fumaça

efeito 35 = coração

efeito 52 = gelo

efeito 53 = com agua

efeito 55 = espelho com monstro

efeito 61 = assasin

efeito 62 = sangue

efeito 65 = fantasma

efeito 66 = morcego

 

efeito 300 = chuva de pedraslista2.pnglista3j.png

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

  • 0

nn,voce entendeu errado voce me passo os efeitos Z quero os efeitos de distancia igual exori con,essas so q o numero do efeito eh

/x 40

mas do msm jeito rep+

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

  • 0

Hum cara e q aqui em casa o do exori con o Efect dele ta como NOme e nao numero Veja Se vc acha ele em numero e dps edite aqui

 

doSendMagicEffect(getThingPos(cid),40)

 

40=Numero do efeito

 

 

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

40=numero do efeito :D

 

 

Vlw pelo rep+ espero ter ajudado qualquer coisa manda 1 private q eu respondo

Link para o comentário
Compartilhar em outros sites

  • 0

Hum cara e q aqui em casa o do exori con o Efect dele ta como NOme e nao numero Veja Se vc acha ele em numero e dps edite aqui

 

doSendMagicEffect(getThingPos(cid),40)

 

40=Numero do efeito

 

 

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

40=numero do efeito :D

 

 

Vlw pelo rep+ espero ter ajudado qualquer coisa manda 1 private q eu respondo

Ele quer um efeito em distancia!!!

 

doSendDistanceShoot(posição de onde sai, posição para aonde vai, efeito)

Link para o comentário
Compartilhar em outros sites

  • 0

so que ai cara,eu nao entendo muito disso

se poderia mandar pronto?

o efeito sairia atras da pessoas,o num do efeito eh 40 se conseguir rep+

doSendDistanceShoot(posição de onde sai, posição para aonde vai, efeito)

Link para o comentário
Compartilhar em outros sites

  • 0

olha so eu puis assim,mas deu error

 

 

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

 

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

max_speed = 7000, -- 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(doSendDistanceShoot(getThingPos(cid), effPos, 40)) --AKI EH AONDE EU ADCIONEI A TAG

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,25,"Voce destruiu seu carro,idiota.")

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),"Help Me!",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),"Run,run",TEXTCOLOR_GREEN)

else

setCarSpeed(cid,cfg.max_speed)

doPlayerSendCancel(cid,"Sua velocidade ta no maximo.")

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,20,getThingPos(cid),"Diminuir",TEXTCOLOR_GREEN)

else

setCarSpeed(cid,cfg.min_speed)

doPlayerSendCancel(cid,"Voce diminuiu sua velocidade.")

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,25,"Voce Parou de Andar de Treno.")

end

elseif param == "go" 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,"Carro esta se movendo.")

end

end

 

return true

end

 

vi o erro ake,vlw rep+

Link para o comentário
Compartilhar em outros sites

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

local cfg = { min_speed = 200, -- better not increase than that [ the least speed for a car ]
max_speed = 7000, -- 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)

effPos = getThingPos(cid)
effPos.y = effPos.y+1
AddEvent(doSendDistanceShoot, 300, getThingPos(cid), effPos, 40)
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,25,"Voce destruiu seu carro,idiota.")
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),"Help Me!",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),"Run,run",TEXTCOLOR_GREEN)
else
setCarSpeed(cid,cfg.max_speed)
doPlayerSendCancel(cid,"Sua velocidade ta no maximo.")
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,20,getThingPos(cid),"Diminuir",TEXTCOLOR_GREEN)
else
setCarSpeed(cid,cfg.min_speed)
doPlayerSendCancel(cid,"Voce diminuiu sua velocidade.")
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,25,"Voce Parou de Andar de Treno.")
end
elseif param == "go" 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,"Carro esta se movendo.")
end
end

return true
end

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...