

Skymagnum
-
Posts
1025 -
Joined
-
Last visited
-
Days Won
2
Reputation Activity
-
Skymagnum got a reaction from marvadon in Script para salvar e reiniciar server
Se você usa global 10.96 ele já vem instalado no seu servidor, se encontra em globalevents/scripts/serversave.lua, caso não tenha estarei deixando ele aqui.
local shutdownAtServerSave = truelocal cleanMapAtServerSave = truelocal function serverSave() if shutdownAtServerSave then Game.setGameState(GAME_STATE_SHUTDOWN) else Game.setGameState(GAME_STATE_NORMAL) end if cleanMapAtServerSave then cleanMap() end saveServer()endlocal function secondServerSaveWarning() Game.broadcastMessage('Server is saving game in one minute. Please go to a safe place.', MESSAGE_STATUS_WARNING) addEvent(serverSave, 60000)endlocal function firstServerSaveWarning() Game.broadcastMessage('Server is saving game in 3 minutes. Please go to a safe place.', MESSAGE_STATUS_WARNING) addEvent(secondServerSaveWarning, 120000)endfunction onTime(interval) Game.broadcastMessage('Server is saving game in 5 minutes. Please go to a safe place.', MESSAGE_STATUS_WARNING) Game.setGameState(GAME_STATE_STARTUP) addEvent(firstServerSaveWarning, 120000) return not shutdownAtServerSaveend
tag
<globalevent name="ServerSave" time="04:55:00" script="serversave.lua" />
PS: Sempre coloque 5 minutos antes do horário que você quer que o server caia, se quer que caia as 14:00, coloque 13:55.
-
Skymagnum reacted to Deadpool in Reward System
Manda o xml do Boss. Provavelmente, é só configurar nele.
-
-
Skymagnum reacted to miupinho in Mudar logo e letras
A logo não ficou muito boa, mas tentei fazer algo parecido, espero que goste!
v1
v2
-
Skymagnum reacted to miupinho in Mudar logo e letras
E aí jovem, essa foi difícil, pois não consegui achar a tipografia do canal History, mas fiz duas versões, se gostar use, se não, desuse
v1
v2
v3
v4
Abraços, precisando estamos aí!
Se gostou, use!
-
-
Skymagnum reacted to Slicer in Alguma função
/\ eh fiquei nessa duvida tb, tem hora q ele fla 'os items' e tem hora q ele fla 'o item'... tava esperando ele flar algu ;p
-
Skymagnum reacted to Slicer in Alguma função
/\ algu assim?
local function getItemInPos(pos) local info = getTileInfo(pos) local p = {x=pos.x, y=pos.y, z=pos.z} for i = info.things, 1, -1 do p.stackpos = i local item = getTileThingByPos(p) if item.itemid > 0 and not isCreature(item.uid) then return item end end return {itemid = 0, uid = 0}endlocal positions = { {x = 1052, y = 1056, z = 7}, {x = 1052, y = 1057, z = 7}, {x = 1052, y = 1058, z = 7}, {x = 1052, y = 1059, z = 7}, {x = 1052, y = 1060, z = 7}, {x = 1052, y = 1051, z = 7}}local lastPos = nilfor i = 0, math.random(0, 19) do lastPos = positions[(i%#positions)+1] addEvent(doSendMagicEffect, i*150, lastPos, 6) endlocal item = getItemInPos(lastPos)--agora podes usar item.itemid e item.uid
-
Skymagnum reacted to dalvorsn in Alguma função
Yep, mas podem haver mais items, nesse caso tem que ver o que ele precisa, como ele vai identificar qual item certo. O que tu fez retornaria sempre apenas um item, o primeiro mais acima.
@Skymagnum Qual o metodo de identificação do item correto? Ou basta ser o topitem?
-
Skymagnum reacted to Marco Oliveira in TFS 1.X Rainbow Outfit
Em talkactions/talkactions.xml:
<talkaction words="!rainbow" separator=" " script="rainbowoutfit.lua"/> Em talkactions/scripts crie um arquivo chamado rainbowoutfit.lua dentro dele coloque:
function onSay(player, words, param) if param == 'on' or param == 'ON' then player:setStorageValue(8178237, 1) player:sendCancelMessage("rainbow outfit is actived.") elseif param == 'off' or param == 'OFF' then player:setStorageValue(8178237, 0) player:sendCancelMessage("rainbow outfit is disabled.") else player:sendCancelMessage("wrong parameter, use on or off.") end return false end Em globalevents/globalevents.xml:
<globalevent name="Rainbow" interval="500" script="others/rainbow_outfit.lua"/> Em globalevents/scripts/others crie um arquivo chamado rainbow_outfit.lua:
function onThink(interval) for _, player in ipairs(Game.getPlayers()) do if player:getStorageValue(8178237) == 1 then -- here is the storage to check if is "on" or "off" local outfit = player:getOutfit() outfit.lookHead = math.random(0, 132) outfit.lookBody = math.random(0, 132) outfit.lookLegs = math.random(0, 132) outfit.lookFeet = math.random(0, 132) player:setOutfit(outfit) player:getPosition():sendMagicEffect(CONST_ME_MAGIC_GREEN) end end return true end -
Skymagnum got a reaction from Luga03 in Town System(Pedido)
Tipo: CreatureScripts and Movements.
Versão: 8.6.
Testado: Não.
@Explicando.
Bom é um sistema de mudar de cidade por um tile pedido por um membro do fórum também aparecera no look a cidade que ele vive.
@Instalando.
Primeiramente vá em Pasta do seu servidor / data / movements /
nome_do_script.lua:
function onStepIn(cid, position, fromPosition) local newTown = 1 -- id da nova cidade if getPlayerTown(cid) ~= newTown then return doPlayerSetTown(cid, newTown) and doPlayerSendTextMessage(cid, 27, "Você agora é morador da cidade(" .. getTownName(newTown) .. ").") end return doPlayerSendCancel(cid, "Você já mora nessa cidade") and doTeleportThing(cid, fromPosition) end
movements.xml
<movevent type="StepIn" actionid="12345" event="script" value="nome_do_script.lua"/>
aí você coloca a actionid "12345" no piso que você quer que muda a cidade.
Agora vá em Pasta do seu servidor / data / creaturescripts /
nome_do_script.lua
function onLook(cid, thing, position, lookDistance) local s = getPlayerSex(thing.uid) local text = s == 1 and "He's" or "She's" local text2 = text.." resident of " .. getTownName(getPlayerTown(thing.uid)) .. "." if isPlayer(thing.uid) then doPlayerSetSpecialDescription(cid, "/n"..text2) end return true end
login.lua
registerCreatureEvent(cid, "lookTown")
creaturescripts.xml
<event type="look" name="lookTown" event="script" value="nome_do_script.lua"/>
-
Skymagnum got a reaction from Administrador in Novo DEATH
function onStatsChange(cid, attacker, type, combat, value) local percent = 10 local expCalc = getPlayerExperience(cid)*(percent/100) if isPlayer(cid) and type == STATSCHANGE_HEALTHLOSS and value >= getCreatureHealth(cid) then if getPlayerLevel(cid) >= 15 then doPlayerAddExp(cid, - expCalc) end doCreatureAddHealth(cid, getCreatureMaxHealth(cid) - getCreatureHealth(cid)) doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) return false end return true end <event type="statschange" name="NewDeath" script="newdeath.lua"/> registerCreatureEvent(cid, "NewDeath") Não creio que ira funcionar, mas teste.
-
Skymagnum got a reaction from akira021 in player->getStorage
Use a função atoi.
Exemplo:
string a = "25"; int b = atoi(a.c_str()); -
Skymagnum reacted to Antharaz in Ajuda com query(players vip)
Mil perdões, achei que eu já havia postado o script para você, segue abaixo o script que exclui todos players que tem os mesmos nomes dos vips, independente se estiver online ou não. Eu usei em talkaction pois com a modificação no site, você só precisa retirar os que já tem.
Eu supus que o player vip tem o storage 13540 maior ou igual a 1.
Versão mysql:
function onSay(cid, words, param, channel) local nomes,res = {},db.getResult("SELECT `player_id` FROM `player_storage` WHERE `value` >= 1 AND `key` = 13540;") if(res:getID() ~= -1) then repeat local id = res:getDataInt("player_id") local res2 = db.getResult("SELECT `name` FROM `players` WHERE `id` = "..id..";") if(res2:getID() ~= -1) then table.insert(nomes,res2:getDataString("name")) end until not(res:next()) for a,b in ipairs(nomes) do b = string.sub(b, 7) db.query("DELETE FROM `players` WHERE `name` = `"..b.."`;") end end return true end Versão SQLite:
function onSay(cid, words, param, channel) local nomes,res = {},db.getResult("SELECT `player_storage`.`player_id` FROM `player_storage` WHERE `player_storage`.`value` >= 1 AND `player_storage`.`key` = 13540;") if(res:getID() ~= -1) then repeat local id = res:getDataInt("player_id") local res2 = db.getResult("SELECT `players`.`name` FROM `players` WHERE `players`.`id` = "..id..";") if(res2:getID() ~= -1) then table.insert(nomes,res2:getDataString("name")) end until not(res:next()) for a,b in ipairs(nomes) do b = string.sub(b, 7) db.query("DELETE FROM `players` WHERE `players`.`name` = `"..b.."`;") end end return true end -
Skymagnum reacted to Antharaz in Ajuda com query(players vip)
O problema deste é que só funciona se o vip estiver online né... provavelmente você tem uma table somente com os vips ou então uma coluna na table players que indica se é vip ou não, a partir daí, vc manda filtrar todos que estão marcados como vip na tabela, depois manipula a string do nome retirando o [VIP] e deleta quando achar alguém com esse nome.
Para evitar futuros problemas como este, você poderia criar uma regra no gesior que quando procura se já existe alguém com este nome, verifica também se existe alguém com "[VIP] " + o nome, eu não posso fazer isto agora, mas te dei um caminho, lá para as 22h entro denovo aqui e boto a mão na massa se ainda estiver aberto o tópico. Qualquer coisa me manda PM.
-
Skymagnum reacted to Antharaz in Ajuda com query(players vip)
Estou fazendo as modificações no site para não conseguirem criar chars com mesmo nome de quem já tem "[VIP]", mas gostaria de saber qual sistema do seu site, gesior, modernacc, ou qual?
-
Skymagnum reacted to Antharaz in Ajuda com query(players vip)
Vamos por parte, primeiro iremos fazer com que fique escrito "Player with this name already exist." quando usado o mesmo nome que um vip embaixo da box de onde se digita o nome. Para isto você irá abrir o arquivo check_name.php localizado na pasta htdocs\ajax do seu site e substituir esta parte:
if($server_config['sqlType'] == "mysql") $ots->connect(POT::DB_MYSQL, array('host' => $mysqlhost, 'user' => $mysqluser, 'password' => $mysqlpass, 'database' => $mysqldatabase) ); elseif($server_config['sqlType'] == "sqlite") $ots->connect(POT::DB_SQLITE, array('database' => $config_ini['server_path'].$sqlitefile)); $name_db = new OTS_Player(); $name_db->find($name); if($name_db->isLoaded()) echo '<font color="red"><b>Player with this name already exist.</b></font>'; else echo '<font color="green">Good. Your name will be:<br />"<b>'.ucwords($name).'</b>"</font>'; ?> Por esta:
if($server_config['sqlType'] == "mysql") $ots->connect(POT::DB_MYSQL, array('host' => $mysqlhost, 'user' => $mysqluser, 'password' => $mysqlpass, 'database' => $mysqldatabase) ); elseif($server_config['sqlType'] == "sqlite") $ots->connect(POT::DB_SQLITE, array('database' => $config_ini['server_path'].$sqlitefile)); $name_db = new OTS_Player(); $name_db->find($name); $name_db2 = new OTS_Player(); $name_db2->find('[VIP] '.$name); if(($name_db->isLoaded()) or ($name_db2->isLoaded())) echo '<font color="red"><b>Player with this name already exist.</b></font>'; else echo '<font color="green">Good. Your name will be:<br />"<b>'.ucwords($name).'</b>"</font>'; ?> Só isto não basta, pois esta é uma menssagem temporária que o site passa para o visitante, se ele clicar em "submit" ele conseguirá criar o char. Para evitarmos isto, vá na pasta htdocs e abra o arquivo accountmanagement.php, lá você substituirá esta parte:
if(empty($newchar_errors)) { $check_name_in_database = $ots->createObject('Player'); $check_name_in_database->find($newchar_name); if($check_name_in_database->isLoaded()) $newchar_errors[] .= 'This name is already used. Please choose another name!'; $number_of_players_on_account = $account_logged->getPlayersList()->count(); if($number_of_players_on_account >= $config['site']['max_players_per_account']) $newchar_errors[] .= 'You have too many characters on your account <b>('.$number_of_players_on_account.'/'.$config['site']['max_players_per_account'].')</b>!'; } Por esta:
if(empty($newchar_errors)) { $check_name_in_database = $ots->createObject('Player'); $check_name_in_database->find($newchar_name); if($check_name_in_database->isLoaded()) $newchar_errors[] .= 'This name is already used. Please choose another name!'; $check_name_in_database->find('[VIP] '.$newchar_name); if($check_name_in_database->isLoaded()) $newchar_errors[] .= 'This name is already used. Please choose another name!'; $number_of_players_on_account = $account_logged->getPlayersList()->count(); if($number_of_players_on_account >= $config['site']['max_players_per_account']) $newchar_errors[] .= 'You have too many characters on your account <b>('.$number_of_players_on_account.'/'.$config['site']['max_players_per_account'].')</b>!'; } Assim o player ficará impossibilitado de criar um char com o nome de algum vip e evitará todos seus problemas. Para finalizar, basta remover todos os players que já tem nome de vips da sua database, para isto fiz uma query que você irá executar apenas uma vez, visto que após modificar o site não terá como eles abusarem disto novamente, porém eu necessitaria saber qual seu sistema de vip para fazer isto, se é por database, por storage e quais as tabelas com colunas ou storages que se usa.
Aguardo retorno.
-
Skymagnum got a reaction from Ghostzinhow in Ao usar X item ganhar 6 items diferentes
function onUse(cid, item) local _items = {{2160, 10}, {2159, 10}} if getPlayerLevel(cid) >= 150 then for i, q in pairs(_items) do doPlayerAddItem(cid, q[1], q[2]) end doRemoveItem(item.uid, 1) else doPlayerSendCancel(cid, "You can not use this") end return true end -
Skymagnum reacted to RigBy in Ao usar X item ganhar 6 items diferentes
Em action
.lua
local items = {2650, 2674, 7752, 4343, 5345, 4345} -- items que vai ganha function onUse(cid, item, fromPosition, itemEx, toPosition) for i,_ in pairs(items) do doPlayerGiveItem(cid, items[i], 1) doRemoveItem(item.uid, 1) end return true end .xml - tag <action itemid="ITEM QUE VAI CLICAR" event="script" value="Nomedoscript.lua"/> -
Skymagnum reacted to zani123 in HeroesOT.com - Mapa unico
CaptureTheFlag Event em nosso servidor. Lotaaaaaado!
- Estamos atualmente com 4 eventos automáticos diários, incluindo o Capture The Flag.
-
Skymagnum reacted to zani123 in HeroesOT.com - Mapa unico
-> [iP]: HeroesOT.com (ou entre pelo client próprio que pode ser baixado pelo site)
-> [Versão]: 8.6
-> [site]: http://HeroesOT.com
-> [Facebook]: https://www.facebook.com/TheHeroesOfTimeOT/
-> Para magias novas, diga: !spells
-> Para comandos novos, diga: !commands
Temos muitos monstros, magias, items, quests, sistemas, eventos (todos os dias), comandos unicos, novos, editados, e um mapa unico, inovador, editado e totalmente diferente. Caso queira entrar pelo CLIENT PROPRIO ao inves de entrar pelo Tibia, baixe no site no botao DOWNLOAD -
Skymagnum got a reaction from FlamesAdmin in [Resolvido] Morph
local _TAB = { ["Shiny Abra"] = {eff = lightEff, name = "Light Abra", outfit = lightOut}, ["Light Abra"] = {eff = darkEff, name = "Shiny Abra", outfit = darkOut}, ["Ghost Rotom"] = {eff = waterEff, name = "Water Rotom", outfit = waterOut}, ["Water Rotom"] = {eff = fireEff, name = "Fire Rotom", outfit = fireOut}, ["Fire Rotom"] = {eff = grassEff, name = "Grass Rotom", outfit = grassOut}, ["Grass Rotom"] = {eff = flyEff, name = "Flying Rotom", outfit = flyOut}, ["Flying Rotom"] = {eff = iceEff, name = "Ice Rotom", outfit = iceOut}, ["Ice Rotom"] = {eff = ghostEff, name = "Ghost Rotom", outfit = ghostOut} } local infos = _TAB[getCreatureName(cid)] if infos then eff, name, outfit = infos.eff, infos.name, infos.outfit end -
Skymagnum reacted to zipter98 in Mc não passa em tile
Então basta fazer uma verificação dos IPs dos jogadores na área do evento e um onLogin.
lol...
local area = {{x = x, y = y, z = z}, {x = x, y = y, z = z}} function onStepIn(cid, item, position, fromPosition) if not isPlayer(cid) then return true end for x = area[1].x, area[2].x do for y = area[1].y, area[2].y do local pos = {x = x, y = y, z = area[1].z} local c = getTopCreature(pos).uid if c > 0 and isPlayer(c) then if getPlayerIp(cid) == getPlayerIp(c) then return doPlayerSendCancel(cid, "There's already someone with your ip in the event...") and doTeleportThing(cid, fromPosition) end end end end return true end
local area = {{x = x, y = y, z = z}, {x = x, y = y, z = z}} function onLogin(cid) if isInArea(getThingPos(cid), area[1], area[2]) then doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) end return true end -
Skymagnum reacted to moskitinho in [Life Thread] Evodral the Cutucador
Fala manolos e manolas Meu nome é Felipe sou de Curitiba e nasci em 92. Talvez a galera me conheça mais por moskitinho meu nick aqui no fórum; ou ainda pelo Life Thread do Belfahar Swot, que graças à vocês foi sucesso enquanto durou. Resumindo muito minha história com o Tibia... O conheci em 2004, mas comecei a jogar quando Elera foi fundada. Passados alguns anos e muitas, muitas... Eu disse muitas! Idas e vindas pelo game, me firmei em Astera, onde desenvolvi toda a história do Belfahar Swot.
Como a maioria sabe o Belfahar foi hackeado o que me fez parar de jogar quando retornei do Haiti no final de 2013, então agora resolvi começar do zero uma nova história com o Evodrael the Cutucador eu espero que vocês acompanhem. Vou usar pra postar fotos de outros 3 chars que criei mas apenas acompanhando o LT pra saber deles! Atualizações do Life Thread todas ás terças e no FL Cast todos os domingos.
{X}
[ ] Level 50
[ ] Level 80
[ ] Muitas tasks
[ ] Ser um MS blocker (luck mode)
[ ] Wizard Outfit Full
[ ] Dragonling Mount
Level 8
Então galera, eu continuo com minha vida militar ativa então não esperam grandiosos posts, mas vou me esforçar pra trazer sempre algo divertido de se acompanhar além de ups e mais ups.
-
Skymagnum reacted to colex in Roller Coaster System
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
-
Recently Browsing 0 members
- No registered users viewing this page.