Ir para conteúdo

Roller Coaster System


colex

Posts Recomendados

Coloquei as IDS tudo certo ai quando eu clico no carrinho o char vai até o carro e...

[31/10/2008 09:17:27] data/actions/scripts/RollerCoaster.lua:142: attempt to call global 'mayNotMove' (a nil value)

[31/10/2008 09:17:27] stack traceback:

[31/10/2008 09:17:27] data/actions/scripts/RollerCoaster.lua:142: in function <data/actions/scripts/RollerCoaster.lua:138>

Link para o comentário
Compartilhar em outros sites

  • 1 month later...

ihh eu arrumo tudo certo,mas na hora de dar use no carrinho nao acontece nada.

Coloquei action 1001 nos carrinhos. E Meu OT é o Servfull 1.1 para tibia 8.1.

 

Obrigado

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

  • 4 weeks later...
Actionid 1001 no trem faz o trem começar a andar para um lado e o actionid 1002 faz ele começar a andar pro outro lado...

Para o carrinho parar, voce tem de colocar um "fim de trilho" (aquele trilho com uma placa ou algo do genero) no fim...

 

Minha Esperança

Vlw Cara Tbm Queria Falar Que Voce É o Melhor Script Do Mundo.

Nota 1000

Fiquei Tentando Isso 1 Semana.

Mais Consegui Hojeeeeeeeeeeeeeeeeeeee!

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

Ow Colex, parabéns mesmo! Revolucionário seu script! Me ajudou a fazer o tipo de OT que eu quero!

 

Putz! Alguém me ajuda plz?

Eu consegui fazer o trenzinho andar, mas, qd ele sobe uma escada, fica parado e o char volta a ter outfit normal. Se eu testo c/ player normal (em vez de GM) eu fico lá pra sempre! :rip:

 

O que devo fazer pra ele continuar andando?

 

Outra pergunta: Será que pode fazer uma curva atrás da outra? Fazendo um trajeto mais serpenteado? Vai travar e parar de andar?

 

Vlw! Se alguém puder me ajudar eu agradeço muito! Preciso muito dessa Montanha Russa! xD

 

 

Fui! :yipi:

Link para o comentário
Compartilhar em outros sites

Ow Colex, parabéns mesmo! Revolucionário seu script! Me ajudou a fazer o tipo de OT que eu quero!

 

Putz! Alguém me ajuda plz?

Eu consegui fazer o trenzinho andar, mas, qd ele sobe uma escada, fica parado e o char volta a ter outfit normal. Se eu testo c/ player normal (em vez de GM) eu fico lá pra sempre! :rip:

 

O que devo fazer pra ele continuar andando?

 

Outra pergunta: Será que pode fazer uma curva atrás da outra? Fazendo um trajeto mais serpenteado? Vai travar e parar de andar?

 

Vlw! Se alguém puder me ajudar eu agradeço muito! Preciso muito dessa Montanha Russa! xD

 

 

Fui! :yipi:

 

 

A deixa! Já consegui resolver xD

 

Era só colocar chão debaixo dos trilhos e tem q colocar "traphole" para descer as escadas.

 

Vlw, flw! :smile_positivo:

Link para o comentário
Compartilhar em outros sites

Roller Coaster System



Developed by Colex

 

Introdução:

Este script de Montanha-Russa é um sistema facil de utilizar, foi elaborado de forma a que qualquer pessoa pudesse usar sem qualquer alteração no script, mas para aquele que gostam de personalizar o script, eu adicionei um sistema de "eventos" e um par de funções para tornar muito facil a alteração e adaptação do script sem ser necessário entender o script em si.

 

O script foi criado num OTServer 8.1, porém voce pode facilmente actualiza-lo para qualquer outra versão, quando voce faz o download do script, ele vem com um ficheiro README que ajuda-o no processo de actualização e tambem dá algumas informações extras.

 

Features:

  • Um script funciona com todas as montanhas-russas do server
  • A velocidade aumenta quando voce desce uma rampa
  • A velocidade diminui quando voce sobe uma rampa
  • Voce pode adicionar impulsores ao trilho (aumenta a velocidade)*
  • Voce pode adicionar freios ao trilho (diminui a velocidade)*
  • Voce pode facilmente adicionar comportamentos personalizados ao ficheiro de eventos

 

*leia o README para ter mais informações de como fazer isso

 

Roller Coaster's Video:

Este é um filme de exemplo da Roller Coaster que eu fiz para testar o script (não foi filmado com a ultima versão do script)

 

Download:

RollerCoaster___Colex.rar

O download contem 4 arquivos: README.txt, RollerCoaster.lua, RollerCoasterEvents.lua e actions.xml

 

 

Script:

Estou a postar o script no próprio tópico para aqueles que não querem fazer o download do mesmo, mas querem dar uma olhada no script... Para obter todas as informações e ter um funcionamento correcto do sistema, é necessário o download do mesmo.

 

------Roller Coaster System by Colex-------
dofile('data\\actions\\scripts\\RollerCoasterEvents.lua')

local TRAINS = {7131, 7132}
local all = {7121, 7122, 7123, 7124, 7125, 7126, 7133, 7134, 7135, 7136}

local ACTION_TRAIN = {1001, 1002}

local RAILS = {
{id = all[1], dirs = {{dir = SOUTH, out = 2},{dir = NORTH, out = 2}}}, 
{id = all[2], dirs = {{dir = EAST, out = 1},{dir = WEST, out = 1}}},
{id = all[3], dirs = {{dir = EAST, out = 1},{dir = SOUTH, out = 2}}},
{id = all[4], dirs = {{dir = WEST, out = 1},{dir = SOUTH, out = 2}}},
{id = all[5], dirs = {{dir = EAST, out = 1},{dir = NORTH, out = 2}}},
{id = all[6], dirs = {{dir = WEST, out = 1},{dir = NORTH, out = 2}}},
{id = all[7], stop = 1},
{id = all[8], stop = 1},
{id = all[9], stop = 1},
{id = all[10], stop = 1},
}

local SLOW = 500
local FAST = 200
local INCREASE = 50
local DECREASE = 50
local DOWN_INCREASE = 450
local UP_DECREASE = 155

local INFOS = {}

TRUE = 1
FALSE = 0


function getRail(pos)
 local stack = 1 
 local found = 0
 repeat
   pos.stackpos = stack
   rail = getThingfromPos(pos)
   if (rail.itemid == 0) then break end   
   for i, r in ipairs(RAILS) do
     if (rail.itemid == r.id) then
       found = 1
       break
     end   
   end
   stack = stack + 1
 until (found == 1)
 return rail
end

function moveTrain(cid)
 params = INFOS[cid]
 pos = getCreaturePosition(cid)
 rail = getRail(pos)
 dir = -1
 for i,r in ipairs(RAILS) do
   if (rail.itemid == r.id) then
     if (RollerCoaster:onMove(cid, rail, r, pos) == FALSE) then table.remove(INFOS, cid) return 1 end 
     if (r.stop ~= nil) then
       if (r.stop == 1) then
         RollerCoaster:onExitQuery(cid)
         addEvent(exitTrain, 2000, cid)
         return 1
       end
     end 
     change = rail.actionid - 1000 
     power = 0    
     power = change

     doChangeType(cid, r.id, INFOS[cid].beforeid)                 
     info = r.dirs[iNFOS[cid].type]
     dir = info.dir  
     if ((power == 1) or (power == 2)) then
       if (RollerCoaster:onChangeSpeed(cid, power) == TRUE) then
         if (power == 2) then
           INFOS[cid].speed = INFOS[cid].speed - INCREASE
         elseif (power == 1) then
           INFOS[cid].speed = INFOS[cid].speed + DECREASE
         end 
       end
     end
     if (INFOS[cid].currZ ~= pos.z) then
       if (RollerCoaster:onChangeLevel(cid, INFOS[cid].currZ, pos.z) == TRUE) then
         if (INFOS[cid].currZ > pos.z) then
            INFOS[cid].speed = INFOS[cid].speed + UP_DECREASE
         elseif (params.currZ < pos.z) then 
            params.speed = params.speed - DOWN_INCREASE
         end  
       end 
     end
     if (params.speed < 1) then params.speed = 1 end
     params.currZ = pos.z
     newid = TRAINS[info.out]  
     INFOS[cid].beforeid = r.id
     break
   end  
 end      
 if (dir ~= -1) then
   doSetItemOutfit(cid, newid, -1)
   doMoveCreature(cid, dir)
   addEvent(moveTrain,params.speed,cid)
 else
   RollerCoaster:onExitQuery(cid)
   addEvent(exitTrain, 2000, cid)
 end
end

function exitTrain(cid)
 table.remove(INFOS, cid)
 RollerCoaster:onExit(cid)
 doSetItemOutfit(cid, TRAINS[1], 0)
 pos = getCreaturePosition(cid)
 pos.y = pos.y - 1
 doTeleportThing(cid, pos, 1)
 mayNotMove(cid, 0)
end

function enterTrain(params)   
 if (RollerCoaster:onEnter(cid, params[2]) == TRUE) then
   doSetItemOutfit(params[1], params[2], -1)
   pos = getCreaturePosition(params[1])
   table.insert(INFOS, params[1],{type = params.type, speed = SLOW, currZ = pos.z}) 
   addEvent(moveTrain,1000,params[1])
 end
end

function getSpeed(cid)
 if (INFOS[cid].speed ~= nil) then return INFOS[cid].speed end
 return FALSE
end

function setSpeed(cid, speed)
 if (INFOS[cid].speed ~= nil) then INFOS[cid].speed = speed return TRUE end
 return FALSE
end

function onUse(cid, item, fromPosition, itemEx, toPosition)
 if (isInArray(ACTION_TRAIN, item.actionid) == TRUE) then
   if (RollerCoaster:onEnterQuery(cid, item) == TRUE) then
     doTeleportThing(cid, toPosition, 1)
     mayNotMove(cid, 1)
     addEvent(enterTrain,500,{cid, item.itemid, type=(item.actionid-1000)})
   end
 end
 return TRUE
end


----"No Scripting Needed" System-----
local change = {}
change[all[1]] = {all[3], all[4]}
change[all[2]] = {all[4], all[6]}
change[all[3]] = {all[1], all[4], all[6]}
change[all[4]] = {all[1], all[2], all[3], all[5], all[6]}
change[all[5]] = {all[4]}
change[all[6]] = {all[2], all[3], all[4]}
change[all[7]] = {}
change[all[8]] = {}
change[all[9]] = {}
change[all[10]] = {}

function doChangeType(cid, id, beforeID)
 if (table.getn(change[id]) > 0) then
   if (isInArray(change[id],beforeID) == TRUE) then
     if (INFOS[cid].type == 1) then INFOS[cid].type = 2 else INFOS[cid].type = 1 end
   end   
 end
end

 

Espero que gostem e façam bom proveito dele.

 

Atenciosamente,

Colex

 

 

eu n sei se vai responder acho meio dificiu mas ...

n estou conseguindo atualizar o script para 8.40

se houver como alguem me falar agradeço

 

vlw

 

 

:thumbsupsmiley2: eu consegui uhuu em ot 8.4 :thumbsupsmiley2:

--->ROX<---

¬¬ so q o carrin e mais lerdo q 1 em rook ¬¬

como fasso ele fk fast

XD

se alguem puder responder

vlw

Link para o comentário
Compartilhar em outros sites

@Guguzinho

 

Isso e so vc arrumar no RollerCoaster.Lua

 

local SLOW = 500

local FAST = 200

local INCREASE = 50

local DECREASE = 50

local DOWN_INCREASE = 450

local UP_DECREASE = 155

 

Se for para ser Rapido vc colocar 300 ou 350 não sei direito

pq ainda nao testei...

 

 

Sobre Script e ótimo mais tem explicar melhor por meu ingles e basico não intendo algumas coisas

 

 

 

Bye Bye

Link para o comentário
Compartilhar em outros sites

  • 2 months later...

Colex se e foda mesmo tava caçando esse script fais mó tempao e agora achei o seu e funfa direitin. Unica coisa que nao funfo foi aquelas mensagem animada quando o carrinho começa a movimenta e quando ele para. Se alguem pude me ajudar ficarei agradeçido. Te+ :smile_positivo:

Link para o comentário
Compartilhar em outros sites

LOL, eu ja tinha ouvido falar do colex, mas nunca tinha visto um dos seus scripts!!

 

Vc eh um dos poucos feras que ja vi aki no tópico, =D Gratz pelo script =DDD

 

Vey se tu faz uma coisa dessas fais qualquer coisa uashsauhsauhasuhsa

Flws, fuuuii!!

Link para o comentário
Compartilhar em outros sites

  • 8 months later...
×
×
  • Criar Novo...