×

Langue

Fermer
Atelier 801
  • Forums
  • Dev Tracker
  • Connexion
    • English Français
      Português do Brasil Español
      Türkçe Polski
      Magyar Română
      العربية Skandinavisk
      Nederlands Deutsch
      Bahasa Indonesia Русский
      中文 Filipino
      Lietuvių kalba 日本語
      Suomi עברית
      Italiano Česky
      Hrvatski Slovensky
      Български Latviešu
      Estonian
  • Langue
  • Forums
  • /
  • Transformice
  • /
  • Archives
  • /
  • Seção Editor de Mapas e Modules
  • /
  • [Lua] Peça scripts aqui!
« ‹ 3 / 133 › »
[Lua] Peça scripts aqui!
Hydroper
« Citoyen »
1487509620000
    • Hydroper#0528
    • Profil
    • Derniers messages
    • Tribu
#41
  0
Lucasrslv a dit :
eu queria um script que faz um despawn depois de 60s o item que está no campo t={}

Isso é o que entendi

Code Lua

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
local items,    lastUnspawn =
{}, 0;

local function unspawn()
local i = #items;
local item = items[i];
if (item) then
tfm.exec.removeObject(item);
items[i] = nil;
end
end

function eventLoop(curTime)
if (curTime >= (lastUnspawn + 6e+4)) then
unspawn();
lastUnspawn = curTime;
end
end

for i = 1, 4 do
items[#items + 1] = tfm.exec.addShamanObject(3, 300, 3);
end

Dernière modification le 1487509680000
Hydroper
« Citoyen »
1487511720000
    • Hydroper#0528
    • Profil
    • Derniers messages
    • Tribu
#43
  0
Lucasrslv a dit :
nao tipo
eu tenho t={0,2,4}
ai eu tenho esses objetos no mapa
ai eu quero que eles sumam ao ficarem 60s spawnados

É uma coleção de tipos de objetos de shaman ou id´s? Pois no meu exemplo eu criei uma coleção vazia de ids e preenchi ela com novos objetos que irão sumindo à cada 60s. No exemplo, à cada 60s cada último objeto da coleção é removido.

Isso foi mais ou menos o que você especificou no seu pedido.

Dernière modification le 1487511780000
Ninguem
« Consul »
1487512080000
    • Ninguem#0095
    • Profil
    • Derniers messages
    • Tribu
#44
  0
@Lucasrslv

Code Lua

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
OBJETOS = {}

function setObjectRespawn(obj, timer)
-- Adiciona um objeto e um tempo de remoção na tabela objetos
-- O id do objeto se torna o índice na tabela
-- O valor adicionado é a hora atual + o tempo do timer
-- -- Int obj = identificação do objeto na tabela tfm.get.room.objectList
-- -- Int timer = tempo de duração do objeto
OBJETOS[obj] = os.time() + timer
end

function addObjetoRespawn(id, x, y, vx, vy, ghost, timer)
-- Invoca um objeto já preparado para dar respawn
-- -- Int id = tipo de objeto
-- -- Int x = posição x
-- -- Int y = posição y
-- -- Int vx = velocidade x
-- -- Int vy = velocidade y
-- -- Boolean ghost = objeto fantasma
-- -- Int timer = tempo de duração do objeto
local obj = tfm.exec.addShamanObject(id, x, y, vx, vy, ghost)
setObjectRespawn(obj, timer)
return obj
end

function removeObjetoRespawn()
-- Varre a tabela OBJETOS a procura de objetos para remover
-- Deve ser adicionado ao eventLoop
local aux = {}
for i, v in pairs(OBJETOS) do
if v > os.time() then
table.insert(aux, i)
end
end
for i, v in pairs(aux) do
tfm.exec.removeObject(i)
objetos[i] = nil
end
end

exemplo: addObjetoRespawn(6, 400, 200, 0, 0, false, 60000)
Isso adiciona uma bola de praia em x=400, y=200, sólida e que desaparece em 60 segundos

Caso queira invocar a bola do jeito normal e então adicionar o id dela para ser removido, pode usar a outra função:
local bola = tfm.exec.addShamanObject(6, 400, 200, 0, 0, false)
setObjectRespawn(bola, 60000)


Como dito, você precisa chamar a função removeObjetoRespawn() no eventLoop para que isso aconteça.

Dernière modification le 1487512680000
Fly
« Citoyen »
1487513880000
    • Fly#8215
    • Profil
    • Derniers messages
    • Tribu
#45
  0
Lucasrslv a dit :
nao tipo
eu tenho t={0,2,4}
ai eu tenho esses objetos no mapa
ai eu quero que eles sumam ao ficarem 60s spawnados

Todos os scripts que passaram pra você dá para fazer isso, mas toma aí mais um:

Code Lua

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
t = {2,4}
despawn = {}

function addObj()
for k,v in ipairs(t) do
local id = tfm.exec.addShamanObject(v, 200, 200, 0, 0, 0, false)
table.insert(despawn,{os.time(),id})
end
end
addObj()

function eventLoop(t,r)
for i,obj in ipairs(despawn) do
if obj[1] <= os.time()-60000 then
tfm.exec.removeObject(obj[2])
table.remove(despawn,i)
end
end
end
Judapz
« Citoyen »
1487517720000
    • Judapz#0000
    • Profil
    • Derniers messages
    • Tribu
#47
  0
Gostaria de saber como junta 2 script em 1 só entende ?
Covinhas
« Citoyen »
1487520960000
    • Covinhas#9536
    • Profil
    • Derniers messages
#48
  0
Alguém cria um Módule para mim? Eu tenho algumas ideias de alguns Minigames bem divertidos e que talvez façam sucesso para o publico.



Ps: eu sei que aqui é para pedir scripts, mas, eu não sei como montar, e não sei inglês =(
Brenower
« Censeur »
1487523420000
    • Brenower#0000
    • Profil
    • Derniers messages
    • Tribu
#49
  0
Formigotudo a dit :
Alguém cria um Módule para mim? Eu tenho algumas ideias de alguns Minigames bem divertidos e que talvez façam sucesso para o publico.



Ps: eu sei que aqui é para pedir scripts, mas, eu não sei como montar, e não sei inglês =(

fale a sua ideia
Judapz
« Citoyen »
1487524260000
    • Judapz#0000
    • Profil
    • Derniers messages
    • Tribu
#50
  0
Pode ser demais, mais gostaria de 2 scripts, desculpem se for demais e-e


1° clicar e sair um objeto de shaman

2° clicar e sair uma particula
Fly
« Citoyen »
1487525100000
    • Fly#8215
    • Profil
    • Derniers messages
    • Tribu
#51
  0
Judapz a dit :
Pode ser demais, mais gostaria de 2 scripts, desculpem se for demais e-e


1° clicar e sair um objeto de shaman

2° clicar e sair uma particula

1 -

Code Lua

1
2
3
4
5
6
7
8
9
10
11
local admin = {Judapz = true}

function eventMouse(name, x, y)
if admin[name] then
tfm.exec.addShamanObject(1, x, y, 0, 0, 0, false) -- 1 é o ID da caixa pequena
end
end

for name in pairs(tfm.get.room.playerList) do
system.bindMouse(name, true)
end

2 -

Code Lua

1
2
3
4
5
6
7
8
9
10
11
local admin = {Judapz = true}

function eventMouse(name, x, y)
if admin[name] then
tfm.exec.displayParticle(13, x, y, 0, 0, 0.3, 0.3, nil) -- 13 é o ID da partícula de luz vermelha
end
end

for name in pairs(tfm.get.room.playerList) do
system.bindMouse(name, true)
end
Judapz
« Citoyen »
1487525580000
    • Judapz#0000
    • Profil
    • Derniers messages
    • Tribu
#52
  0
Flyingwr a dit :
Judapz a dit :
Pode ser demais, mais gostaria de 2 scripts, desculpem se for demais e-e


1° clicar e sair um objeto de shaman

2° clicar e sair uma particula

1 -

Code Lua

1
2
3
4
5
6
7
8
9
10
11
local admin = {Judapz = true}

function eventMouse(name, x, y)
if admin[name] then
tfm.exec.addShamanObject(1, x, y, 0, 0, 0, false) -- 1 é o ID da caixa pequena
end
end

for name in pairs(tfm.get.room.playerList) do
system.bindMouse(name, true)
end

2 -

Code Lua

1
2
3
4
5
6
7
8
9
10
11
local admin = {Judapz = true}

function eventMouse(name, x, y)
if admin[name] then
tfm.exec.displayParticle(13, x, y, 0, 0, 0.3, 0.3, nil) -- 13 é o ID da partícula de luz vermelha
end
end

for name in pairs(tfm.get.room.playerList) do
system.bindMouse(name, true)
end

Obrigado ^^
Brenower
« Censeur »
1487530860000
    • Brenower#0000
    • Profil
    • Derniers messages
    • Tribu
#54
  0
Lucasrslv a dit :
um script qe se a gente anda uma caixa grande anda também pro mesmo lado

Code Lua

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
local pids = {};

function eventLoop(ct, rt)
for i,v in pairs(tfm.get.room.playerList) do
if not v.isDead then
tfm.exec.moveObject(pids[i].id, v.x, v.y-15)
end
end
end

function eventNewGame()
for i,v in pairs(tfm.get.room.playerList) do
pids[i] = {["id"]=-1}
pids[i].id = tfm.exec.addShamanObject(2, v.x, v.y, 0, 0, 0, true)
for _,k in pairs{0, 1, 2, 3} do
system.bindKeyboard(i, k, true, true)
end
end
end

eventNewGame()

as posições demoram para atualizar sem a função tfm.exec.lowerSyncDelay
L_near
« Citoyen »
1487535360000
    • L_near#0000
    • Profil
    • Derniers messages
#55
  0
Um script pro rato correr mais rapido
Mathkwos
« Citoyen »
1487541300000
    • Mathkwos#0129
    • Profil
    • Derniers messages
#56
  0
L_near a dit :
Um script pro rato correr mais rapido

Code Lua

1
2
3
4
5
6
7
8
9
10
11
function eventKeyboard(name,key,down,x,y)
if key == 32 and tfm.get.room.playerList[name].movingLeft then
tfm.exec.movePlayer(name,0,0,false,-30,0,true)
else
tfm.exec.movePlayer(name,0,0,false,30,0,true)
end
end

for all in pairs(tfm.get.room.playerList) do
tfm.exec.bindKeyboard(all, 32, true, true)
end

ir rapido quando aperta espaço

Dernière modification le 1487541420000
Andreymarmo
« Citoyen »
1487561940000
    • Andreymarmo#0000
    • Profil
    • Derniers messages
#57
  0
colocar todos os ratos para serem shaman
Brenower
« Censeur »
1487563080000
    • Brenower#0000
    • Profil
    • Derniers messages
    • Tribu
#58
  0
Andreymarmo a dit :
colocar todos os ratos para serem shaman

Code Lua

1
2
3
for p in pairs(tfm.get.room.playerList) do
tfm.exec.setShaman(p)
end
L_near
« Citoyen »
1487569500000
    • L_near#0000
    • Profil
    • Derniers messages
#59
  0
Rianmojang a dit :
L_near a dit :
Um script pro rato correr mais rapido

Code Lua

1
2
3
4
5
6
7
8
9
10
11
function eventKeyboard(name,key,down,x,y)
if key == 32 and tfm.get.room.playerList[name].movingLeft then
tfm.exec.movePlayer(name,0,0,false,-30,0,true)
else
tfm.exec.movePlayer(name,0,0,false,30,0,true)
end
end

for all in pairs(tfm.get.room.playerList) do
tfm.exec.bindKeyboard(all, 32, true, true)
end

ir rapido quando aperta espaço

Vlw \0/
Andreymarmo
« Citoyen »
1487908140000
    • Andreymarmo#0000
    • Profil
    • Derniers messages
#60
  0
eu queria pedir um lua que possibilita desenhar(tipo aqls itens de pincel) e apagar os desenhos no fundo do mapa.
  • Forums
  • /
  • Transformice
  • /
  • Archives
  • /
  • Seção Editor de Mapas e Modules
  • /
  • [Lua] Peça scripts aqui!
« ‹ 3 / 133 › »
© Atelier801 2018

Equipe Conditions Générales d'Utilisation Politique de Confidentialité Contact

Version 1.27