Rollercoaster System [8.x]

 
Tibia.net.pl

Wróć   Tibia.net.pl > OpenTibia > Skrypty Lua & XML > Inne

Oskary Tibia.net.pl 2008!

#1 konkurs Tibia.net.pl: Koniec konkursu! Sprawdź kto jest zwycięzcą!


  Tibia.net.pl (#?)
Rollercoaster System [8.x]

Dyskusja dotycząca tematu Rollercoaster System [8.x], który znajduje się w kategorii Skrypty Lua & XML (Znajdują się tutaj potwory, NPC, itd. Publikacja tylko GOTOWYCH skryptów!), na forum Inne (). Treść: Witam. Znalazłem na otland.net świetny skrypt w wykonaniu Colex'a. Jak niektórzy pamiętają kiedyś został stworzony skrypt na samochody w tibii, był ...



Odpowiedz
 
09-08-2008, 13:02  
Początkujący
 
Użytkownik Ernie na Tibia.net.pl

Rollercoaster System [8.x]


Witam.
Znalazłem na otland.net świetny skrypt w wykonaniu Colex'a.
Jak niektórzy pamiętają kiedyś został stworzony skrypt na samochody w tibii, był on naprawdę fajny i pomysłowo zrobiony, ten skrypt niby jest podobny, jednak to od twórcy OTSa zależy gdzie zrobi takiego Rollercoastera, a gracze mogą się na nim bawić, można by jeszcze zrobić, że trzeba za niego zapłacić, jednak jak kto chce Smile.

Do data/actions/actions.xml wklejacie tę oto linijkę:

Kod:
<action fromid="7131" toid="7132" script="RollerCoaster.lua"/>
Teraz w data/actions/scripts tworzycie plik o nazwie RollerCoaster.lua i w nim dajecie:

Kod:
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
Teraz w data/actions/scripts tworzycie plik o nazwie RollerCoasterEvents.lua i w nim dajecie:

Kod:
RollerCoaster = {}
function RollerCoaster:onChangeLevel(cid, fromZ, toZ)
return TRUE
end
function RollerCoaster:onMove(cid, rail, railInfo, pos)
return TRUE
end
function RollerCoaster:onChangeSpeed(cid, power)
if (power == 2) then
doSendAnimatedText(getCreaturePosition(cid),"TROC TROC",210)
else
doSendAnimatedText(getCreaturePosition(cid),"TSSSIIIIII",210)
end
return TRUE
end
function RollerCoaster:onTypeChange(cid, fromType, toType)
return TRUE
end
function RollerCoaster:onExitQuery(cid)
return TRUE
end
function RollerCoaster:onExit(cid)
return TRUE
end
function RollerCoaster:onEnterQuery(cid, cart)
return TRUE
end
function RollerCoaster:onEnter(cid, cartID)
return TRUE
end

Readme:

Kod:
Script Developed by Colex
[actions.xml]
<action fromid="7131" toid="7132" script="RollerCoaster.lua"/>
[/actions.xml]
[ActionIDs no Trem]
1001 e 1002 -> Train's Actionid, 1001 starts to one side and 1002 starts to the other
[Train Tracks' ActionIDs]
1001 -> Brakes (Decreases the speed)
1002 -> Impeller (Increases the speed)
[Additional Functions That You Can Use in RollerCoasterEvents.lua]
getSpeed(cid)
setSpeed(cid, newSpeed)
[Extra Information]
The RollerCoaster script was developed in a OTServer 8.1
but it's easy to update the IDs to any version just by editing 2 variables:
local TRAINS = {7131, 7132}
local all = {7121, 7122, 7123, 7124, 7125, 7126, 7133, 7134, 7135, 7136}
"local TRAINS" saves the 2 train's id, I think there's no problem on updating that...
"local all" saves the tracks' id, you just have to update it matching those ids with the ids of the version you are using.
Pozdrawiam Ernie

@down
Nie mam 30 postów

/[quote] zamieniono na [code]
 


09-08-2008, 13:27  
Ekspert

@up
Po:
1. Trzeba było zamieścić link do tego filmiku z roller coasterem.

2. Jak pisałeś posta mogłeś wyłączyć emotikony :|.
3. Mogłeś napisać ,że chodzi o wagonik i tory, no i ,że trzeba wpisać w wagonik action id. i chyba w tą zapore.
4. Mogłeś coś też więcej napisać ,a nie tylko ctrl + c, ctrl v.

Popraw jak możesz bo nie doświadczeni użytkownicy nie będą wiedzieć jak to działa itd...

@topic
Raczej ten roller coaster sys. nie działa na silnikach xml. Testowałem go na Devland-xml ,ale nie działa;/...
No cuż...
Za sam skrypt dla autora daje 10/10 bo musiał się ładnie napracować
przy nim.
 
10-08-2008, 11:10  
Any doubts?
 
Użytkownik Ivellios na Tibia.net.pl

Mateusz7125 ty tylko pisales "Mogles napisac" a moze ty mogles nie napisac tego samego po 2 razy.... :/

BTW dobrze ze chlopak umiescil temat bo moglby ktos to sobie wziac.... a filmik nie jest potrzebny.. wwystarczy ze na skrypt sie popatrzy.... :/Pozatym dal readme.... mozna przeczytac i to sugeruje juz o co chodzi ^^
Jesli chodzi o emotki nie musi wylaczac.... i tak przeciez jak ktos bedzie kopiowal to skopiuje bez emotek wiec problemu nie ma.... :/Gdyby to jeszcze byly rozne emotikonki a sa ciagle te same wiec kazdy moze sie domyslic o co chodzi ;]

#topiczek
Fajny system mialem go troche wczesniej ale jak wczesniej wspomnialem good ze go postnales tutaj ;p Trzeba teraz u mnie odpowiednia mapke zrobic i rollercaster juz jest ^^

#edit
//Down
BTW umieją* :]
 
10-08-2008, 14:03  
Ekspert

ivelios nie każdy by się skapczył o co chodzi ,a filmik jest przydatny.
Angielskiego chyba wszyscy nie umią?? Bo nie którzy nie umią i przez to mogą być nie potrzebne posty, takie jak: "Gdzie trzeba wklejić to, a gdzie to?"
itd...

A jak Ernie zamieścił ten skrypt tu na forum to mógł chociaż napisać więcej szczegółów a nie tylko ctrl + c, ctrl + v.



ps. Na b-fox też nie działa... Czemu? ;(

@edit
//2x Down
Raczej tak.
 
10-08-2008, 14:07  
Wyjadacz
 
Użytkownik Kamil na Tibia.net.pl

jeżeli działa to świetny skrypt! Kiedyś jak był opublikowany tutaj film wiele osób chciało mieć ten skrypt m.in. ja. Zaraz pobiorę i przetestuje. Już mam wiele ciekawych pomysłów z nim związanych extra 10/10
 
10-08-2008, 15:14  
Gaduła

Bardzo fajnie że go tu umieściłeś szukałem tego skryptu.
Mam co do niego pytanko czy będzie działał na TFS-ie????
 
11-08-2008, 06:17  
Bywalec
 
Użytkownik Maciek-ChEsTeR na Tibia.net.pl

Pozwolenie


Super wcześniej go znalazłem ale nie ważne. Mam pytanie czy dostałeś pozwolenie od colexa że możesz go na innym forum wystawiać?? W jego regulaminie pisze że, wystawienie go na innym forum to przestępstwo, i trzeba to zgłosić. Jeśli nie dostałeś pozwolenia nie zostawiasz mi wyboru. :/ Taka jest prawda ja się przynajmniej zapytałem. Jeśli dostałeś to spoko i przepraszam.
 
11-08-2008, 08:37  
Bywalec
 
Użytkownik Phonnix na Tibia.net.pl

Mam pytanie te actionID 1001 i 1002 to gdzie dać? Z tego co czyatałem to chyba 1001 na wagonik a 1002 na tą zaporę na końcu? Proszę o pomoc
 
11-08-2008, 11:15  
Fanatyk
 
Użytkownik Wawus na Tibia.net.pl

Wow :)


W sumie co bardziej pomysłowi wykorzystają ten skrypt m.in do questu np.: Dwarfs Mine (Kopalnia Krasnali), gdzie to trzeba będzie pokonać labirynt w takiej kolejce
 
12-08-2008, 23:39  
Bywalec
 
Użytkownik Smolik na Tibia.net.pl

Skrypt jest świetny i bardzo pomysłowy POLECAM !
 
16-08-2008, 10:47  
Gaduła
 
Użytkownik Banco Rozbujca na Tibia.net.pl

Odp: [8.x] Rollercoaster System


Twórca mógł chociaż dorobić nową grafikę dla tych co by chcieli czyli 2 wersje z nową i normalną..
Chociaż moim staniem skrypt niepotrzebny na żadnym ots! chyba tylko dla tych fantastycznych i noobowskich..
Ocena: 7/10.
 
29-08-2008, 10:30  
Ekspert
 
Użytkownik Boltex na Tibia.net.pl

Odp: [8.x] Rollercoaster System


a ten kod z Readme: to gdze to trzeba wkleic??
 
29-08-2008, 10:39  
Początkujący

Odp: [8.x] Rollercoaster System


Kurde, musze to założyć! Skrypt 10/10, zrobie kolejke dla PACC, którą można podróżować z jednego końca miasta do drugiego lub z miasta do miasta.

@down
Tak,bo na skryptach też się znam od 5 miesięcy.
 
29-08-2008, 10:39  
Ekspert
 
Użytkownik Boltex na Tibia.net.pl

Odp: [8.x] Rollercoaster System


tom dziala ci ten skrypt??
 
02-09-2008, 16:04  
Bywalec
 
Użytkownik plawus na Tibia.net.pl

Odp: [8.x] Rollercoaster System


A pod jaka to tibie ??
 


Odpowiedz

Narzędzia tematu
Wygląd

Podobne wątki

[8.x] Gesior Shop system- konfiguracja. - Postanowiłem założyć temat ponieważ wiele osób ma z tym problem. Po prostu napisze wszystko tak jak napisał to twórca więc mam nadzieję, że nie... Ivellios, 06-01-2009 Tibia 8.31 BioSoft - OpenTibia Project [SQL] - BioSoft - OpenTibia Project Serwer by ElGroncho Poniżej znajdziecie features jest to tylko niewielka część resztę możecie znaleźć w oryginalnym... Sebasnk, 29-10-2008 [C++] Protection System - mam prosbe bo chcialbym zeby ktos mi wkomplikowal to do yourots W game.cpp pod linijką: Kod: Creature *attackedCreature =... stefcio130, 15-10-2008 galana War Editet By Noble X) [8.0] - GALANA WAR 8.0 -) Przede wszystkim : -soft boty -anty pk team -dzialajace runy ( m wall) -dzialajace ringi Jest to przerobiony lunara war... Noble Man, 05-09-2008 [8.0]DirtyOTS - * Guid for xml players. (players.xml) * Full rearranged protocol and game system * Actions (when using a tile or item) * SQL databases (for... Aresik, 17-07-2008


Tibia.net.pl: Inne ()
Temat: Rollercoaster System [8.x] Witam. Znalazłem na otland.net świetny skrypt w wykonaniu Colex'a. Jak [...]


Training Monk.... - NarutoooPL (0) Wczoraj 20:43 Witam Prosil Bym.... - NarutoooPL (0) Wczoraj 13:26 Serwery wasze - Michalieq (1) 04-01-2009 13:04 Pomocy w zrobieniu skrypta - makrom123 (0) 01-01-2009 20:51 Komenda 8.1 - NeOx13 (1) Wczoraj 20:56 Problem z ip zew. - Kaszak (6) Wczoraj 09:40 kto mi pomoże - Kaszak (0) 29-12-2008 14:32 Panowie Help - koza9555 (0) 27-12-2008 15:25 Własny klient - Bubcio (4) 27-12-2008 15:15 Training Monk - korzonek93 (4) 26-12-2008 21:01


Czasy w strefie GMT +1. Teraz jest 01:11.




Powered by vBulletin® Version 3.7.3
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO 3.2.0 © 2008, Crawlability, Inc.