×

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
  • /
  • •LUA - edytor pokoju•
« ‹ 9 / 20 › »
•LUA - edytor pokoju•
Ouake
« Censeur »
1433675160000
    • Ouake#0000
    • Profil
    • Derniers messages
    • Tribu
#161
  0
Szczaws a dit :
a o co chodzi z tymi komd:sub(0,6) ???????????

Najpierw:
    - chodzi o funkcję string.sub()
    - działa tylko z tekstem

Tak więc, ja zmienną komd używam do przejmowania treści komend, a zapis komendy to tekst. Jeżeli wpiszę:

    [Ouake] !szaman Ouake

wtedy zmienna komd dostanie:

    "szaman Ouake"

Funkcja string.sub() służy do wybierania spośród całego tekstu jeden jego fragment, od znaku A do znaku B. Jak ją użyć?

    string.sub(String tekst, Int A, Int B)

Teraz wyjaśnię problem, dlaczego piszę o jakimś string.sub(), a my tu mamy komd:sub()? Jak wiecie, do zmiennych można wpisać tekst, tak jak wyżej komd dostaje treść komendy. Wtedy zamiast pisać np.

    string.sub("szaman Ouake",0,6)

Możemy zapisać

    string.sub(komd,0,6)

A ponieważ mamy zmienną na pierwszym miejscu i używamy funkcję z biblioteki string, istnieje jeszcze jeden zapis:

    komd:sub(0,6)

Po zadziałaniu tej funkcji, zwraca ona tekst:

    AB
    0123456789101112
    szaman Ouake

    "szaman"

Tekst zaczyna się od pozycji 1, dlatego lepiej byłoby pisać komd:sub(1,6). No i... tada.

Szczaws a dit :
i jak zmienić nazwe mapy? ja nie wiem jak

tfm.exec.setUIMapName(String tekst)

Fpekal a dit :
gdzie błąd? :/

function eventPopupAnswer(1, nick, q)
if q=="tekst" then
print(q)
end
end

dopiszę jeszcze popup

ui.addPopup(1, 2, "Pomoc", name, 2, 20, 190, false)

Przy tworzeniu funkcji (tworzona jest funkcja eventPopupAnswer()) w jej argumentach podaje się tylko zmienne, czyli błędem jest liczba 1 podana jako pierwszy argument, bo to liczba, a nie zmienna. Wpisz np. id zamiast tamtej jedynki i już.

Dernière modification le 1433675280000
Fpekal
« Citoyen »
1433942280000
    • Fpekal#0000
    • Profil
    • Derniers messages
    • Tribu
#162
  0
thx :D
Fpekal
« Citoyen »
1434190140000
    • Fpekal#0000
    • Profil
    • Derniers messages
    • Tribu
#163
  0
zobiłem błąd w skrypcie który widzę i wiem jak naprawić ale z tym blędem skrypt działa D:
wyjaśnijcie mi to:
for nick in pairs(tfm.get.room.playerList) do
ui.addPopup(1, 2, "Kogo zabić?", nick, 500, 300, 100, true)
end

function Hello(kill)
tfm.exec.killPlayer(kill)
print("Zabito !"..kill.."!")
ui.addPopup(1, 2, "Kogo zabić?", nick, 500, 300, 100, true)
end

function eventChatCommand(name,com)
if com=="Zabicie" then

end
end

function eventPopupAnswer(id,nick,odp)
Hello(odp)
end

błąd jest w dodawaniu popupu i odbieraniu informicji z niego
Ouake
« Censeur »
1434191580000
    • Ouake#0000
    • Profil
    • Derniers messages
    • Tribu
#164
  0
Chodzi o nick w ui.addPopup() we funkcji Hello() tak?

Najpierw, skoro moduł nie podaje, że wystąpił błąd to znaczy, że go nie ma (jeżeli jest błąd, nie działa tak jak powinien, a niczego nie pisze, no to trzeba samemu znaleźć problem i tu akurat tak jest skoro o tym piszesz). Dlaczego się nie psuje? Jeśli w miejsce do podania nicku wpiszesz nick, okienko pojawi się tylko temu graczowi o podanym nicku, jeśli podasz tam nil wtedy pojawi się wszystkim z pokoju. W obecnym przypadku działa drugi wariant, nie ma żadnej globalnej zmiennej nick, a w funkcji Hello() nie ma nick ani jako zmienną funkcji, ani jako nową lokalną. W związku z tym, nick zawiera w sobie nil.
Jeszcze, nie patrzcie na to, że Hello() działa wewnątrz eventPopupAnswer() i że dzięki temu Hello() powinno mieć nick. Nie, każda funkcja pracuje oddzielnie, a to czy zostanie coś przekazane do kolejnej funkcji zależy od tego czy twórca kodu doda te "coś" jako argumenty kolejnej funkcji. Obecnie Hello() otrzymuje od eventPopupAnswer() jedynie treść odpowiedzi z otrzymywanego okienka, bo tak zostało ustalone. Skoro tak ładnie wyjaśniłem wszystko (:D) to podejrzewam, że nie sprawi nikomu trudności, jak przenieść nick z eventPopupAnswer() do Hello(), w razie czego podpowiem, że wystarczy dopisać 10 znaczków. No i sorki, że tak dużo tu naspamiłem, ale powinno być zrozumiałe ;-;
Fpekal
« Citoyen »
1434195000000
    • Fpekal#0000
    • Profil
    • Derniers messages
    • Tribu
#165
  0
mi raczej chodziło o to z tym id i 1 no bo to tylko zauważyłem a nie tamto xd
Ouake
« Censeur »
1434361680000
    • Ouake#0000
    • Profil
    • Derniers messages
    • Tribu
#166
  0
[ Temat ]"Propozycja kodu do opisu"
Fpekal
« Citoyen »
1434364560000
    • Fpekal#0000
    • Profil
    • Derniers messages
    • Tribu
#167
  0
sory... zauważyłem dopiero wczoraj że źle powiedziałem a ty się tak zastanawiasz pewnie o co mi chodziło xD

----------

Zrobiłem kod który miał odliczać do 20 sekund i potem miał mi dać szamana :/

czas=0
s=0

function Odliczanie()
czass=os.time()
function Loop()
czas=os.time()-czass
if czas=="20000" then
s=1
return 0
end
end
end

Odliczanie()

if s==1 then
tfm.exec.setShaman("Fpekal")
end

Dernière modification le 1435063200000
Choco_lada
« Citoyen »
1435597440000
    • Choco_lada#7436
    • Profil
    • Derniers messages
#168
  0
Zrobiłam takie coś
Olusmice a dit :
function eventNewPlayer(Nick)
ui.addTextArea(0,"<J>Witaj w chatce plemiennej",nick,100,100,0,0,0x1c3c41,0x1c3c41)
end

I gdy wchodzę do chatki to mi się nic nie pojawia
Ouake
« Censeur »
1435617180000
    • Ouake#0000
    • Profil
    • Derniers messages
    • Tribu
#169
  0
Wielkość liter ma znaczenie:

function eventNewPlayer(Nick)
ui.addTextArea(0,"<J>Witaj w chatce plemiennej",nick,100,100,0,0,0x1c3c41,0x1c3c41)
end


Zamień w pierwszym dużą literę na małą albo w drugim małą na dużą i załatwione.

Dernière modification le 1435617240000
Choco_lada
« Citoyen »
1435644180000
    • Choco_lada#7436
    • Profil
    • Derniers messages
#170
  0
Dzięki
Crazyrafik
« Citoyen »
1435649040000
    • Crazyrafik#0000
    • Profil
    • Derniers messages
    • Tribu
#171
  0
a dit :
tfm.exec.movePlayer(String nick, Int x, Int y, Boolean offset, Int vx, Int vy, Boolean offset)
• Przemieszcza oraz nadaje szybkość danemu graczowi.

chodzi o teleportację?
Wiktorrosik
« Citoyen »
1435999380000
    • Wiktorrosik#0000
    • Profil
    • Derniers messages
    • Tribu
#172
  0
Nie ma eventu który reaguje, gdy gracz będzie miał określoną ilość punktów?
Ouake
« Censeur »
1436001600000
    • Ouake#0000
    • Profil
    • Derniers messages
    • Tribu
#173
  0
Crazyrafik a dit :
a dit :
tfm.exec.movePlayer(String nick, Int x, Int y, Boolean offset, Int vx, Int vy, Boolean offset)
• Przemieszcza oraz nadaje szybkość danemu graczowi.

chodzi o teleportację?

Tej funkcji używa się do wykonania teleportacji.

Wiktorrosik a dit :
Nie ma eventu który reaguje, gdy gracz będzie miał określoną ilość punktów?

Nie.
Szczaws
« Citoyen »
1436214720000
    • Szczaws#0000
    • Profil
    • Derniers messages
    • Tribu
#174
  0
co jest źle? oto kod:
function eventChatCommand(nick,komd)
if komd:sub(1,1)=="c" and nick=="Szczaws" then
ui.addTextArea(0,<J>[<R>~<CH>Szczaws<J>] ..komd:sub(3))
end
end

co chwile pisze:
Init Error : [string "Szczaws.lua"]:3: unexpected symbol
Szczaws
« Citoyen »
1436248140000
    • Szczaws#0000
    • Profil
    • Derniers messages
    • Tribu
#175
  0
eksperymentowałem troche i mi wyszło to:
function eventChatCommand(nick,komd)
if komd:sub(1,1)=="c" and nick=="Szczaws" then
ui.addTextArea(1,"<J><B>[</B><R>~<CH>Szczaws<J><B>]</B><ROSE> ..komd:sub(3)",nick,x,y,true)
end
end

żadnego błedu ale nadal coś źle :(
Lerkia
« Citoyen »
1436518380000
    • Lerkia#0000
    • Profil
    • Derniers messages
#176
  0
Ej! A jak zrobić te skrypty? Bo taka mysz Tengosciu to on się teleportował na takie twoje kody powiedział mi na jakiej stronie i nie mogę tego znaleźć.
I to działa tylko w chatce plemiennej, i mówił że to jest po 50 linijek, i jak znalazłam tą stronę... A to było do #utility i ciągle ich szukam. powiedz mi i on jeszcze mnie tym z łóżka spychał też tak chce umieć! Odpowiedz proszę!!!
Lerkia
« Citoyen »
1436518440000
    • Lerkia#0000
    • Profil
    • Derniers messages
#177
  0
I czy da się pisać na kolorowo? :D
Maikeru
« Citoyen »
1437646140000
    • Maikeru#1000
    • Profil
    • Derniers messages
    • Tribu
#178
  0
Ouake a dit :
Crazyrafik a dit :
a dit :
tfm.exec.movePlayer(String nick, Int x, Int y, Boolean offset, Int vx, Int vy, Boolean offset)
• Przemieszcza oraz nadaje szybkość danemu graczowi.

chodzi o teleportację?

Tej funkcji używa się do wykonania teleportacji.

Wiktorrosik a dit :
Nie ma eventu który reaguje, gdy gracz będzie miał określoną ilość punktów?

Nie.

Reakcja na punkty by się przydała.
Pegazmysz
« Consul »
1437996960000
    • Pegazmysz#0000
    • Profil
    • Derniers messages
    • Tribu
#179
  0
Moim marzeniem było się nauczyć kodu LUA. Dziękuję, poradnik jest zacny.
Kto wie, może kiedyś będę w LUA team. :<

Dernière modification le 1437997200000
Lucianoslawn
« Consul »
1438681860000
    • Lucianoslawn#0000
    • Profil
    • Derniers messages
    • Tribu
#180
  0
Co się stanie jeśli się zrobi ten pokój ale nie jest się w LUA Team?
  • Forums
  • /
  • Transformice
  • /
  • Modules
  • /
  • •LUA - edytor pokoju•
« ‹ 9 / 20 › »
© Atelier801 2018

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

Version 1.27