Ir para conteúdo
  • 0

ALGUEM PODE ME AJUDAR SYSTEM TRAIN


MaiconPaulo

Pergunta

COMO FUNCIONA ONDE COLOKO ACTION PORQUE TIPO FIZ TUDO MAIS NAO EXPLICA SE TENHO KE COLOKAR O ACTION ID EM ALGUM ITEM O NA TRILHA ACHEI KE ERA SO FAZER O TRILHO E BOTA O CARRINHO AJUDA AE

 

 

 

--Script by mock the bear
--Config
local SPEED = 200
local PLAYERSPEED = 250
--End
local RAILS = {7121, 7122, 7123, 7124, 7125, 7126, 7127, 7128, 7129, 7130} --Thxy rails itemid by nord :p
local CART = {[0] = 7132, [2] = 7132, [3] =7131, [1] =7131}
local CONFIG = {
[7121] = 0,[7122] = 0,
[7123] = {EAST, SOUTH},
[7124] = {WEST, SOUTH},
[7125] = {EAST, NORTH},
[7126] = {WEST, NORTH},
[7127] = 0,[7128] = 0,
[7129] = 0,[7130] = 0,
--Random
}
local reverse = {[0] = 2, 3, 0, 1} -- All that table was made by nord.
local function moveTrain(cid, frompos, direc)
local tab
if not isPlayer(cid) then
return
end
local pos = getCreaturePosition(cid)
local rar = findRail(pos)
if not rar then
doPlayerSetNoMove(cid, false)
doRemoveCondition(cid, CONDITION_OUTFIT)
doChangeSpeed(cid, -PLAYERSPEED)
doMoveCreature(cid, direc)
else
tab = CONFIG[rar]
if tab and type(tab) == 'table' then
direc = tab[tab[1] == reverse[direc] and 2 or 1] -- by nord here
end
doSetItemOutfit(cid, CART[direc], -1)
doMoveCreature(cid, direc)
addEvent(moveTrain, SPEED, cid, pos,direc)
end
end
function findRail(p)
local p_ = {x=p.x, y=p.y, z=p.z}
for i=0,10 do
p_.stackpos = i
local t = getTileThingByPos(p_)
if isInArray(RAILS, t.itemid) then
return t.itemid,t.uid
end
end
end
function onUse(cid, item, frompos) --Script by mock the bear
if hasCondition(cid, CONDITION_OUTFIT) or (item.actionid < 500 and item.actionid > 503) then
return false
end
doTeleportThing(cid, frompos, false)
doPlayerSetNoMove(cid, true)
doChangeSpeed(cid, PLAYERSPEED)
addEvent(moveTrain, SPEED, cid, frompos, item.actionid-500)
return true
end

Link para o comentário
Compartilhar em outros sites

10 respostass a esta questão

Posts Recomendados

  • 0

área incorreta, reportado para que movam .


ta uma bagunça seu tópico ..

 

pelo que eu conseguir entender , acho que os item ja estão definidos no script..

 

vá em data / actions / script . cria um arquivo.lua coloca o scrip dentro.

 

e em data / actions / action.Xml. e coloca a tag :

<action actionid="2000" script="NomedoArquivo.lua"/>

actionid = coloca um numero de action que não tem no seu ot .

 

abre o RME e coloca esse action no cariinho .

Link para o comentário
Compartilhar em outros sites

  • 0

@billthox A Tag no Actions.xml tem que estar assim:

 

 

<action itemid="7131" event="script" value="arquivo.lua" />
<action itemid="7132" event="script" value="arquivo.lua" />

 

Agora e so colocar o Action 503 no Carrinho pelo RME.

Link para o comentário
Compartilhar em outros sites

  • 0

não man, vou ter dizer como fazer, Primeiro cole esse Script no arquivo.lua do Trem:

 

local SPEED = 250
local PLAYERSPEED = 270
--End
local RAILS = {7121, 7122, 7123, 7124, 7125, 7126, 7127, 7128, 7129, 7130}
local CART = {[0] = 7132, [2] = 7132, [3] =7131, [1] =7131}
local CONFIG = {
        [7121] = 0,[7122] = 0,
        [7123] = {EAST, SOUTH},
        [7124] = {WEST, SOUTH},
        [7125] = {EAST, NORTH},
        [7126] = {WEST, NORTH},
        [7127] = 0,[7128] = 0,
        [7129] = 0,[7130] = 0,
        [152] = {NORTH, SOUTH},
        [153] = {SOUTH, NORTH},        
        [154] = {EAST, WEST},  
        [155] = {WEST, EAST},
        --Random
}
local reverse = {[0] = 2, 3, 0, 1}
local function moveTrain(cid, frompos, direc)
        local tab
        if not isPlayer(cid) then
                return
        end
        local pos = getCreaturePosition(cid)
        local rar = findRail(pos)
        if not rar then
                doPlayerSetNoMove(cid, false)
                doRemoveCondition(cid, CONDITION_OUTFIT)
                doChangeSpeed(cid, -PLAYERSPEED)
                doMoveCreature(cid, direc)
        else
                tab = CONFIG[rar]
                if tab and type(tab) == 'table' then
                        direc =  tab[tab[1] == reverse[direc] and 2 or 1]
                end
                doSetItemOutfit(cid, CART[direc], -1)
                doMoveCreature(cid, direc)
                addEvent(moveTrain, SPEED, cid, pos,direc)
        end
end
function findRail(p)
        local p_ = {x=p.x, y=p.y, z=p.z}
        for i=0,10 do
                p_.stackpos = i
                local t = getTileThingByPos(p_)
                if isInArray(RAILS, t.itemid) then
                        return t.itemid,t.uid
                end
        end
end
function onUse(cid, item, frompos) --Script by mock the bear
        if hasCondition(cid, CONDITION_OUTFIT) or (item.actionid < 500 and item.actionid > 503) then
                return false
        end
        doTeleportThing(cid, frompos, false)
        doPlayerSetNoMove(cid, true)
    doChangeSpeed(cid, PLAYERSPEED)
        addEvent(moveTrain, SPEED, cid, frompos, item.actionid-500)
        return true
end

 

 

Agora coloque essa tag substituindo a que tinha do trem em actions.xml:

 

<action itemid="7131" event="script" value="arquivo.lua" />
<action itemid="7132" event="script" value="arquivo.lua" />

 

 

 

Agora e so ir pelo RME e colocar a Action 503 no Carrinho......

Link para o comentário
Compartilhar em outros sites

  • 0

No proprio script dele tinha essa linha:

 

if hasCondition(cid, CONDITION_OUTFIT) or (item.actionid < 500 and item.actionid > 503) then

 

Ai mandei ele colocar a action 503 no primeiro Post que fiz, ai depois ele veio perguntar se era pra colocar a action 7131 '-'

Link para o comentário
Compartilhar em outros sites

  • 0

OBRIGADO A VCS DOIS DESCULPA PELA COMPRICAÇAO NAO SOU MUITO INTELIGENTE E NEM SEI DA REP

 

Fica de boa, mas cuidado na próxima vez que for criar um tópico, verifique se estar na área correta

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...