×

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
  • /
  • Modules
  • /
  • [Poradnik]Lua
« ‹ 6 / 10 › »
[Poradnik]Lua
Bloomciaxd
« Citoyen »
1404041580000
    • Bloomciaxd#0000
    • Profil
    • Derniers messages
#101
  0
jak byc lua i wg z niego korzystac? XD
Ouake
« Censeur »
1404046200000
    • Ouake#0000
    • Profil
    • Derniers messages
    • Tribu
#102
  1
Patolary a dit :
A wytłumaczysz może jeszcze to jak zrobić np. teleportacje na jakieś miejsce ?
Albo np. że po kliknięciu Tab pokazuje się okno pomocy...
Wtedy po prostu byłbym ci tak wdzięczny... ;P

To jest prostszy sposób i że na forum piszę to też taki aby dobrze działało gdyby ktoś chciał wykorzystać ten kod.
Skoro robimy teleportację to przyda nam się aktywować klikanie myszką, oczywiście wszystkim obecnym i tym którzy dojdą:
function eventNewPlayer(nick)
system.bindMouse(nick,true)
end

for nick in pairs(tfm.get.room.playerList) do
eventNewPlayer(nick)
end

Żeby nie działało za każdym kliknięciem przyda się jakaś opcja pozwalająca na przenoszenie się np. komenda '!tp' i zmienna zapamiętująca skorzystanie z tej opcji, a do tego każdy gracz musi mieć swoją własną zmienną i w tym bardzo łatwo pomoże nam tabela:
Ekw={}

function eventNewPlayer(nick)
system.bindMouse(nick,true)

Ekw[nick]={}
end

function eventChatCommand(nick,komd)
if komd=="tp" then
Ekw[nick].tp=1
end
end

Ogólnie to wewnętrzna tabela Ekw[nick]={} nie jest konieczna bo tu chodzi o jedną zmienną czyli można by to usunąć i zamiast każdego Ekw[nick].tp wpisać zwyczajnie Ekw[nick].
Teraz mamy aktywację klikania, opcję na teleport, czego brakuje? Samej teleportacji co ma bardzo prostą budowę i nadal pamiętamy o zmiennej:
function eventMouse(nick,x,y)
if Ekw[nick].tp then
tfm.exec.movePlayer(nick,x,y,n,0,-1)
Ekw[nick].tp=n
end
end

Ja w swoich kodach używam n jako skrót od nil, to znaczy zawsze n=nil, ale tego nie trzeba zapisywać bo każda zmienna tak zaczyna (z pewnymi wyjątkami).
Wpis if Ekw[nick].tp then znaczy czy zmienna Ekw[nick].tp istnieje, a istnieje jeżeli posiada jakąkolwiek inną wartość niż nil lub false.
Tak więc mamy już wszystko co potrzebne i teraz łączymy to w całość:
Ekw={}

function eventNewPlayer(nick)
system.bindMouse(nick,true)
Ekw[nick]={}
end

for nick in pairs(tfm.get.room.playerList) do
eventNewPlayer(nick)
end

function eventChatCommand(nick,komd)
if komd=="tp" then
Ekw[nick].tp=1
end
end

function eventMouse(nick,x,y)
if Ekw[nick].tp then
tfm.exec.movePlayer(nick,x,y,n,0,-1)
Ekw[nick].tp=n
end
end

Tada.


To jest krótsza wersja, ale lepiej jednak użyć tamtą, no chyba że ktoś potrafi wykorzystać tą:

function eventChatCommand(nick,komd)
if komd=="tp" then
system.bindMouse(nick,true)
end
end

function eventMouse(nick,x,y)
tfm.exec.movePlayer(nick,x,y,n,0,-1)
system.bindMouse(nick,false)
end

Okienko wyświetlane po wduszeniu "Tab"
Początek jest podobny do poprzedniego kodu, ale nie potrzeba zmiennej, inny event to odbiera i jeszcze coś dodamy.
function eventNewPlayer(nick)
tfm.exec.bindKeyboard(nick,9,true)
end

for nick in pairs(tfm.get.room.playerList) do
eventNewPlayer(nick)
end

Teraz dodajemy reakcję na klawisz:
function eventKeyboard(nick,klaw)
if klaw==9 then
ui.addTextArea(1,"Proszę bardzo, jestem Twoją pomocą, ale dzisiaj mam urlop to znajdź sobie kogoś innego i nara.",nick,200,100,400,200,n,n,n,true)
end
end

A teraz aby dało się je zamknąć:
function eventKeyboard(nick,klaw)
if klaw==9 then
ui.addTextArea(1,"Proszę bardzo, jestem Twoją pomocą, ale dzisiaj mam urlop to znajdź sobie kogoś innego i nara.",nick,200,100,400,200,n,n,n,true)

ui.addTextArea(2,"<R><a href='event:ZAM'>X</a>",nick,580,100,n,n,n,n,0,true)
end
end


function eventTextAreaCallback(id,nick,odp)
if odp=="ZAM" then
ui.removeTextArea(1,nick)
ui.removeTextArea(2,nick)
end
end

To już wszystko, nie pozostaje nic innego jak połączyć całość.
function eventNewPlayer(nick)
tfm.exec.bindKeyboard(nick,9,true)
end

for nick in pairs(tfm.get.room.playerList) do
eventNewPlayer(nick)
end

function eventKeyboard(nick,klaw)
if klaw==9 then
ui.addTextArea(1,"Proszę bardzo, jestem Twoją pomocą, ale dzisiaj mam urlop to znajdź sobie kogoś innego i nara.",nick,200,100,400,200,n,n,n,true)
ui.addTextArea(2,"<R><a href='event:ZAM'>X</a>",nick,580,100,n,n,n,n,0,true)
end
end

function eventTextAreaCallback(id,nick,odp)
if odp=="ZAM" then
ui.removeTextArea(1,nick)
ui.removeTextArea(2,nick)
end
end


Bloomciaxd a dit :
jak byc lua i wg z niego korzystac? XD

Lua team to stanowisko osób zajmujących sie tworzeniem minigier i dlatego podstawą jest umiejętność tworzenia ciekawych kodów lua, do tego mieć już jakieś ciekawe pomysły (głównie po to są aplikacje) oraz wymogiem jest znajomość języka angielskiego dla porozumiewania się z innymi i dojrzałość

Dernière modification le 1404048240000
Snacxxx
« Censeur »
1404117360000
    • Snacxxx#0000
    • Profil
    • Derniers messages
    • Tribu
#103
  0
Poradnik cudowny, ale i tak nigdy się tego nie nauczę ;-;
Deliyerii
« Consul »
1404741900000
    • Deliyerii#7671
    • Profil
    • Derniers messages
    • Tribu
#104
  0
Snacxxx a dit :
Poradnik cudowny, ale i tak nigdy się tego nie nauczę ;-;

To tak jak ja.
Talka
« Citoyen »
1406045460000
    • Talka#8673
    • Profil
    • Derniers messages
    • Tribu
#105
  0
Miałam raz bana za hacki na bootcampie,te z chmurkami,że ktoś je robił.No i nie mogę robić :<
Mandziofun
« Citoyen »
1406808180000
    • Mandziofun#0000
    • Profil
    • Derniers messages
#106
  0
dziękuje jak bęnde robiłskorzystam
Theqxd
« Citoyen »
1407418980000
    • Theqxd#0000
    • Profil
    • Derniers messages
#107
  0
a dit :
function eventChatCommand(playerName,com)
if com=='czat' then
system.exit()
ui.addPopup(1,0,"chatMessage",playerName,100,100,400)
end
end
end

Omg nie ogarniam :c
Wgl co ja tu zrobiłam XD ?
Lament
« Consul »
1407420000000
    • Lament#0095
    • Profil
    • Derniers messages
    • Tribu
#108
  0
function eventChatCommand(playerName,com)
if com=='czat' then
system.exit()

ui.addPopup(1,0,"chatMessage",playerName,100,100,400)
end
end
end


Ten kolor wprowadza ciąg wydarzeń - jeśli obojętnie jaki gracz wpisze komendę 'czat' czyli !czat uruchamia się system.exit() co wyłącza skrypt z działania
Ten kolor odpowiedzialny jest za okienko z ID 1 i typem simple. Tutaj masz błąd, ponieważ jak dane okienko ma wyskoczyć, skoro przed chwilą zamknęłaś skrypt.
Tutaj masz endy, które kończą funkcje. Trzeci end jest niepotrzebny, więc możesz go usunąć

Nie wiem czy dobrze wszystko opisałem, mam przynajmniej taką nadzieję. :p
Ouake
« Censeur »
1407425760000
    • Ouake#0000
    • Profil
    • Derniers messages
    • Tribu
#109
  0
Oprócz tego, że ostatni end trzeba usunąć bo wywołuje błąd - zamyka stopień którego nie ma. Pierwszy zamyka if, drugi function, a trzeci?

No i jak to działa:

[Ouake] !czat
function eventChatCommand("Ouake","czat")
if "czat"=='czat' then
system.exit()
ui.addPopup(1,0,"chatMessage","Ouake",100,100,400)
end
end
end
Krsikpiotrow
« Citoyen »
1407783540000
    • Krsikpiotrow#0000
    • Profil
    • Derniers messages
    • Tribu
#110
  0
A jak Zrobić w chatce plemiennej mapę Atelier 801
Lament
« Consul »
1407783900000
    • Lament#0095
    • Profil
    • Derniers messages
    • Tribu
#111
  0
krsikpiotrow a dit :
A jak Zrobić w chatce plemiennej mapę Atelier 801

Nicknamepll miał wątek na temat [Lua] Chatka Plemienna 801! - http://atelier801.com/topic?f=6&t=744568
Możesz też sprawdzić [Moduł] Menadżer Chatki Plemiennej (Module Event House) - http://atelier801.com/topic?f=6&t=767379
Krsikpiotrow
« Citoyen »
1407784380000
    • Krsikpiotrow#0000
    • Profil
    • Derniers messages
    • Tribu
#112
  0
A jaki jest kod /lua żeby zrobić mapę atelier 801 w plemiu POMUŻ PROSZE
Lament
« Consul »
1407784620000
    • Lament#0095
    • Profil
    • Derniers messages
    • Tribu
#113
  0
krsikpiotrow a dit :
A jaki jest kod /lua żeby zrobić mapę atelier 801 w plemiu POMUŻ PROSZE

Skrypty lua są podane w w/w tematach, musisz tylko wejść na stronę tam podaną i skopiować odpowiednie linijki.
Ruloniczek
« Censeur »
1407870900000
    • Ruloniczek#0000
    • Profil
    • Derniers messages
    • Tribu
#114
  0
ja tu nic nie rozumiem
Cleosandy
« Citoyen »
1408530000000
    • Cleosandy#0000
    • Profil
    • Derniers messages
    • Tribu
#115
  0
za bardzo nie rozumiem...
Bloomciaxd
« Citoyen »
1409416260000
    • Bloomciaxd#0000
    • Profil
    • Derniers messages
#116
  0
Mogłabym wiedzieć, jaki jest kod na normalne teleportowanie podobne do utility?
Aniolkaa
« Citoyen »
1409481780000
    • Aniolkaa#0000
    • Profil
    • Derniers messages
    • Tribu
#117
  0
chcesz z efektami szamana czy samo teleportowanie ? to zrobie.
Rutuw
« Citoyen »
1409485080000
    • Rutuw#0000
    • Profil
    • Derniers messages
#118
  0
Musiał by mi ktoś to pokazać abym zrozumiała bo z czytania nic nie łapie :c ale fajny poradnik
Czarnyas
« Citoyen »
1409600100000
    • Czarnyas#0000
    • Profil
    • Derniers messages
#119
  0
Pomocy,wszystkie moje znaj umią zrobić mapke z eventu,np. Halloween,a nwm jaki kod lua wpisać:/ Pomoże ktoś?
Mysiiaasiia
« Citoyen »
1410889740000
    • Mysiiaasiia#0000
    • Profil
    • Derniers messages
    • Tribu
#120
  0
pomóżcie nie rozumiem :(
  • Forums
  • /
  • Transformice
  • /
  • Modules
  • /
  • [Poradnik]Lua
« ‹ 6 / 10 › »
© Atelier801 2018

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

Version 1.27