[Poradnik]Lua |
Bloomciaxd « Citoyen » 1404041580000
| 0 | ||
jak byc lua i wg z niego korzystac? XD |
1 | ||
Patolary a dit : 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 : 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
| 0 | ||
Poradnik cudowny, ale i tak nigdy się tego nie nauczę ;-; |
Deliyerii « Consul » 1404741900000
| 0 | ||
Snacxxx a dit : To tak jak ja. |
0 | ||
Miałam raz bana za hacki na bootcampie,te z chmurkami,że ktoś je robił.No i nie mogę robić :< |
Mandziofun « Citoyen » 1406808180000
| 0 | ||
dziękuje jak bęnde robiłskorzystam |
Theqxd « Citoyen » 1407418980000
| 0 | ||
a dit : Omg nie ogarniam :c Wgl co ja tu zrobiłam XD ? |
Lament « Consul » 1407420000000
| 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 |
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
| 0 | ||
A jak Zrobić w chatce plemiennej mapę Atelier 801 |
Lament « Consul » 1407783900000
| 0 | ||
krsikpiotrow a dit : 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
| 0 | ||
A jaki jest kod /lua żeby zrobić mapę atelier 801 w plemiu POMUŻ PROSZE |
Lament « Consul » 1407784620000
| 0 | ||
krsikpiotrow a dit : Skrypty lua są podane w w/w tematach, musisz tylko wejść na stronę tam podaną i skopiować odpowiednie linijki. |
Ruloniczek « Censeur » 1407870900000
| 0 | ||
ja tu nic nie rozumiem |
Cleosandy « Citoyen » 1408530000000
| 0 | ||
za bardzo nie rozumiem... |
Bloomciaxd « Citoyen » 1409416260000
| 0 | ||
Mogłabym wiedzieć, jaki jest kod na normalne teleportowanie podobne do utility? |
Aniolkaa « Citoyen » 1409481780000
| 0 | ||
chcesz z efektami szamana czy samo teleportowanie ? to zrobie. |
0 | ||
Musiał by mi ktoś to pokazać abym zrozumiała bo z czytania nic nie łapie :c ale fajny poradnik |
Czarnyas « Citoyen » 1409600100000
| 0 | ||
Pomocy,wszystkie moje znaj umią zrobić mapke z eventu,np. Halloween,a nwm jaki kod lua wpisać:/ Pomoże ktoś? |
Mysiiaasiia « Citoyen » 1410889740000
| 0 | ||
pomóżcie nie rozumiem :( |