Skocz do zawartości

MassangeBox w queście


Sheila^^

Rekomendowane odpowiedzi

1382523490-U1.png

 

Questlib.lua

 

 

messagebox = function(text)
   local str, cnt = string.gsub(text, " ", "|")
   cmdchat("MessageBox ", str)
end -- zakonczenie_funkcji

 

Quest_functions

 

 

messagebox

 

Gamy.py -- Odnajdź "CloseSafebox" : self.CommandCloseSafebox, i dodaj pod tym

 

 

[TAB][TAB][TAB]"MessageBox"[TAB][TAB][TAB]: self.__MessageBox,

 

Game.py -- Sam dół

 

 

[TAB]def __MessageBox(self, text):
[TAB][TAB]self.PopupMessage(text.replace("|", " "))

 

Przykładowy quest

 

 

quest login_test begin
[TAB]state start begin
[TAB][TAB]when login begin
[TAB][TAB][TAB]messagebox("www.neiva.ct8.pl")
[TAB][TAB]end
[TAB]end
end
Odnośnik do komentarza

 

Nie dość, że coś dla zielonego, to jeszcze nie wytłumaczyłeś.

 

Wiesz chociaż do czego to służy?

text.replace("|", " ")

 

Text.replace zamienia ciąg znaków lub pojedynczy znak na inny. W tym przypadku zamienia | na spację. Funkcja powinna być znana chociażby z JavaScript. Skoro sam stwierdzasz, że jest to coś banalnego dla zielonych, to po co autor miał tłumaczyć? Myślę, że dłużej autor pisał ten temat niż ja wprowadzałem to do siebie z ciekawości. Nie ukrywam, że mam do tego idealne zastosowanie. :)

Odnośnik do komentarza

Text.replace zamienia ciąg znaków lub pojedynczy znak na inny. W tym przypadku zamienia | na spację. Funkcja powinna być znana chociażby z JavaScript. Skoro sam stwierdzasz, że jest to coś banalnego dla zielonych, to po co autor miał tłumaczyć? Myślę, że dłużej autor pisał ten temat niż ja wprowadzałem to do siebie z ciekawości. Nie ukrywam, że mam do tego idealne zastosowanie. :)

Pytanie było skierowane do autora.

Byłem ciekaw, czy robiąc to zwyczajnie skopiował to z jakiegoś innego poradnika, bo ta funkcja nie jest tutaj użyta, więc nie jest potrzebna w kodzie, no ale zawsze musi się znaleźć geniusz.

1384449750-U247153.png

Odnośnik do komentarza

Pytanie było skierowane do autora.

Byłem ciekaw, czy robiąc to zwyczajnie skopiował to z jakiegoś innego poradnika, bo ta funkcja nie jest tutaj użyta, więc nie jest potrzebna w kodzie, no ale zawsze musi się znaleźć geniusz.

 

Ależ oczywiście, że jest użyta.

 

def __Message(self, text):

self.PopupMessage(text.replace("|", " "))

 

.replace odnosi się bezpośrednio do zmiennej text. Jeśli zmienna text będzie miała następującą treść: a|A|a|A|a to zostanie ona zamieniona na : a A a A a

 

A to że nie jest ona tu potrzebna to inna sprawa... Skoro używamy tą nową funkcje w queście tzn. że kontrolujemy jej treść, więc w game.py mozemy wpisać spokojnie:

 

	def __Message(self, text):
		self.PopupMessage(text)

Jest to w pewnym sensie zabezpieczenie, lecz w tym przypadku chyba nie potrzebne.

 

 

//Edit.

Ty udajesz, tak?

 

Przeczytaj kilka razy mojego poprzedniego posta, może uda Ci się zrozumieć.

Wiem co miałeś na myśli lecz tłumacze ci, że jesteś w błędzie pisząc, że ta funkcja nie została tu wykorzystana. Została wykorzystana i działa, a to że mogłoby się obejść bez niej to inna sprawa. Jeśli nie widzisz tu wywołania funkcji i dla ciebie ona nie została użyta, to może powinieneś sam się zastanowić jak ona działa?

Odnośnik do komentarza

 

Ależ oczywiście, że jest użyta.

 

 

.replace odnosi się bezpośrednio do zmiennej text. Jeśli zmienna text będzie miała następującą treść: a|A|a|A|a to zostanie ona zamieniona na : a A a A a

 

A to że nie jest ona tu potrzebna to inna sprawa... Skoro używamy tą nową funkcje w queście tzn. że kontrolujemy jej treść, więc w game.py mozemy wpisać spokojnie:

 

	def __Message(self, text):
		self.PopupMessage(text)

Ty udajesz, tak?

 

Przeczytaj kilka razy mojego poprzedniego posta, może uda Ci się zrozumieć.

1384449750-U247153.png

Odnośnik do komentarza

.replace odnosi się bezpośrednio do zmiennej text. Jeśli zmienna text będzie miała następującą treść: a|A|a|A|a to zostanie ona zamieniona na : a A a A a

 

A to że nie jest ona tu potrzebna to inna sprawa... Skoro używamy tą nową funkcje w queście tzn. że kontrolujemy jej treść, więc w game.py mozemy wpisać spokojnie:

Moim zdaniem jest inaczej. Jeżeli cmdchat wygląda następująco:

 

cmdchat("nazwa tekst drugi trzeci")

to:

 

tekst
drugi
trzeci

będą potraktowane jako "zmienne", dlatego tekst "trzeba" zapisać oddzielając | i potem podmienić już w pythonie na spacje.

 

umarł

Odnośnik do komentarza

 

Moim zdaniem jest inaczej. Jeżeli cmdchat wygląda następująco:

cmdchat("nazwa tekst drugi trzeci")
to:
tekst
drugi
trzeci
będą potraktowane jako "zmienne", dlatego tekst "trzeba" zapisać oddzielając | i potem podmienić już w pythonie na spacje.

Jednak wychodzi na to, że masz rację. Po wpisaniu w queście:

message("text    |    text text2")

efekt wygląda tak:

wR43WiO.jpg

 

Czyli automatem zmieniło spacje na znak |, to dlatego w pythonie trzeba to odkręcić. Ja nie zauważyłem, że spacje zostaną zmienione na "|" w questlib. Spacje na "|" zamienia ten fragment:

   local str, cnt = string.gsub(text, " ", "|")

Tak więc cmdchat w twoim przypadku wygląda tak:

cmdchat("nazwa tekst|drugi|trzeci")

by treść była traktowana jako 1 zmienna.

 

 

Tak więc wychodzi na to, że:

text.replace("|", " ")

jest w 100% uzasadnione. :)

Odnośnik do komentarza

 


Jednak wychodzi na to, że obaj się mylimy. Po wpisaniu w queście:

message("text | text text2")

efekt wygląda tak:

wR43WiO.jpg

 

Czyli automatem zmieniło spacje na znak |, to dlatego w pythonie trzeba to odkręcić. Ja nie wiedziałem że spacje zostaną zmienione na "|", natomiast ty się myliłeś tylko z tym, że zostaną potraktowane jako kolejne zmienne.
Tak więc wychodzi na to, że:

text.replace("|", " ")

jest w 100% uzasadnione, a my mamy lekcje za sobą :D.

A tak wgl to nie rozumiem p oco tak, to co wpisales w message mozna zrobic tak

 

cmdchat("message Witaj|na|serwerze|")
 

 

a pozniej w pythonie tak

 

 

 

        archivement = archivement.replace('|', ' ')
        self.PopupMessage(str(archivement))
 

 

przykald wziety z systemu osiagniec

 

 

a z

aFMA3pg.png

Odnośnik do komentarza

@Inkscape

widzę, że edytowałeś post. Kierowałem się tym, że przykładowo przy tworzeniu

 

 

4ho3py.jpg

 

Było to pisane mniej więcej tak:

 

cmdchat("dun ", d.getf("dt"), " ", d.getf("klucz"), " ", d.getf("wszyscy"), " ", pc.getqf("yang"), " ", d.getf("pieczecie"))

I jak widać, są używane tutaj wymuszone spacje, które oddzielały "zmienne", które odczytywał python w ten sposób:

 

 def __rajd_litera(self, pietro, klucz, wszyscy, yang, pieczecie):
    import xx

 

@edit

a cóż to, dlaczego jest:

 

local str, cnt = string.gsub(text, " ", "|")

skoro cnt nigdzie nie jest używane?

 

umarł

Odnośnik do komentarza

 

A tak wgl to nie rozumiem p oco tak, to co wpisales w message mozna zrobic tak

 

cmdchat("message Witaj|na|serwerze|")
 

 

a pozniej w pythonie tak

 

 

 

        archivement = archivement.replace('|', ' ')
        self.PopupMessage(str(archivement))
 

 

przykald wziety z systemu osiagniec

 

Ta funkcja pozwala na spokojne używanie spacji w queście zamiast |, ponieważ później automatem zostanie każda spacja zmieniona na |, by uzyskać taki efekt jak podałeś.

 

 

 

@edit

a cóż to, dlaczego jest:

local str, cnt = string.gsub(text, " ", "|")

skoro cnt nigdzie nie jest używane?

 

cnt zbędne, niczym w funkcji z query:

	sql = string.gsub(sql,'"',"'")
Odnośnik do komentarza

Od pierwszego postu pytam AUTORA tematu o niepotrzebne części kodu.

Zwyczajnie pokopiował nie wiedząc co robi.

Nie wspominając o nazwie tematu i "Massange".

 

@top @aw

 

[TAB][TAB][TAB]"MessageBox"[TAB][TAB][TAB]: self.__MessageBox,

gdzie to dodać? poza tym, że w game.py

 

@down

a dlaczego dałem @aw?

 

umarł

Odnośnik do komentarza

Tak was czytam i się śmieję. Serio myśleliście, że on to sam zrobił? xD

 

Tak się składa, że to akurat mnie najmniej interesuje :P. Mnie interesuje tylko to, ze właśnie takiego okienka potrzebowałem do systemu powiadamiania gracza o wykryciu u niego oprogramowania typu BS. Wcześniej stosowałem zwykłe okienka questowe, to jednak lepiej pasuje. Jak dla mnie mógł to napisać nawet Bill Gates.

Odnośnik do komentarza

Tak się składa, że to akurat mnie najmniej interesuje :P. Mnie interesuje tylko to, ze właśnie takiego okienka potrzebowałem do systemu powiadamiania gracza o wykryciu u niego oprogramowania typu BS. Wcześniej stosowałem zwykłe okienka questowe, to jednak lepiej pasuje. Jak dla mnie mógł to napisać nawet Bill Gates.

I właśnie przez takich ludzi dział ten schodzi na psy.

 

"Chuj mnie to, kto się nad tym napracował, ważne, że mam."

 

Ludzie, ogarnijcie dupy i zacznijcie szanować czyjąś pracę, niedługo sami zaczniecie płakać, że ktoś Wam coś podpierdolił.

1384449750-U247153.png

Odnośnik do komentarza

Nie wspominając o nazwie tematu i "Massange".

 

@top @aw

 

[TAB][TAB][TAB]"MessageBox"[TAB][TAB][TAB]: self.__MessageBox,

gdzie to dodać? poza tym, że w game.py

 

@down

a dlaczego dałem @aw?

 

Gamy.py -- Odnajdź "CloseSafebox" : self.CommandCloseSafebox, i dodaj pod tym

 

 

[TAB][TAB][TAB]"MessageBox"[TAB][TAB][TAB]: self.__MessageBox,
Odnośnik do komentarza

I właśnie przez takich ludzi dział ten schodzi na psy.

 

"Chuj mnie to, kto się nad tym napracował, ważne, że mam."

 

Ludzie, ogarnijcie dupy i zacznijcie szanować czyjąś pracę, niedługo sami zaczniecie płakać, że ktoś Wam coś podpierdolił.

Znając życie pojawi się komentarz, że mógł sam to zrobić (nawet lepiej!) ale mu się nie chciało.

gwo9.jpg


Odnośnik do komentarza

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający forum MassangeBox w queście   0 użytkowników
    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...