Mein Fehler das self gehört da nicht hin, habe das on the Fly geschrieben.
Du musst den Text aber splitten um mit len(text) zu arbeiten so nimmt er ja die gesamte länge des textes.
würde zwei einträger machen in der localeInfo:
Mein Fehler das self gehört da nicht hin, habe das on the Fly geschrieben.
Du musst den Text aber splitten um mit len(text) zu arbeiten so nimmt er ja die gesamte länge des textes.
würde zwei einträger machen in der localeInfo:
msg ist deine message
EDIT:
um es hardgecoded zu schreiben
self.PopupMessage("Die Veredelung ist fehlgeschlagen. Der Gegenstand wurde zerstört.", len("Die Veredelung ist fehlgeschlagen."))
der erste Parameter ist die Message der zweite ab wie vielen zeichen er einen Umbruch machen soll.
Ahhhh! Ich verstehe! Das teste ich morgen, danke für den Anstoß:)
in networkmodule.py
in class PopupDialog(ui.ScriptWindow):
ändern zu
und dann in der game.py
ändern zu
und dann so verwenden
self.PopupMessage(self, msg, len(localeInfo.DERERSTETEXT) )
Ist nicht die schönste Variante aber die schnellste zum schreiben direkt ins Forum und die kürzeste.
Das Ding ist ja, Popup selbst ist definiert in der game.py
Alles anzeigenCode
- def RefineSuceededMessage(self):
- snd.PlaySound("sound/ui/make_soket.wav")
- #dlgQuestion = uiCommon.QuestionDialog2()
- #dlgQuestion.SetText2("Erfolgreich!")
- #dlgQuestion.SetText1("Der Gegenstand wurde verbessert.")
- #dlgQuestion.SetText2("Die Stufe des Gegenstands ist gestiegen.")
- self.PopupMessage("Der Gegenstand wurde erfolgreich verbessert. Die Stufe ist gestiegen.")
- self.textline = ui.TextLine()
- self.textline.SetText(text)
- self.textline.SetFontName(localeInfo.UI_DEF_FONT)
- self.textline.SetMultiline()
- self.textline.SetLimitWidth(15)
- self.textline.SetPosition(0, 15)
- #self.textline.SetPosition(0, 15)
- # dlgQuestion.Open()
- #self.dlgQuestion = dlgQuestion
Das sieht dann so aus, das teste ich dann morgen, sollte aber, wenn ich das so sehe, klappen, Danke. Muss aber jetzt zur Arbeit.
Nein das funktioniert so nicht du instanzierst eine neue textline die weiß nichts von deiner popupmessage die textline muss in den dialog eingebaut werden den die popupmessage instanziert.
Alles anzeigenIch habs mal zum Spaß probiert.
Das einzige, was man anpassen müsste, ist dass man statt dem Ja / Nein, einen Ok button hinbrettert. xD Oder man probiert eben die Variante von Streetfight, was wohl einfacher wäre.
StreetFight
Hab jetzt mal deine Funktion anpassen können, aber er schiebt es nicht in eine neue Zeile:
Sollte aber ansich so funktionieren, da ja textline definiert werden muss.
das ist ein laufzeit fehler so musst du das schreiben.
In der Popupmessage function gehört außerdem mehr rein nur eine textline bringt nicht viel gehört noch ein board with titlebar.
Wahrscheinlich wird dort uiCommon.xyz aufgerufen dann muss man entweder eine neue Klasse schreiben oder die parameter dort optional machen und durchschleifen.
Alles anzeigenVersuch mit einen der drei Dinge
Bitte melden Sie sich an, um diesen Link zu sehen.
geht nicht, syserr leer, es passiert ig nichts
passiert auch nichts. Syserr:
dachte du wärst so ein python pro.
ich würd mal in deiner PopupMessage funktion folgendes machen:
textline.SetMultiline()
textline.SetLimitWidth(50)
Die 50 wirst du wahrscheinlich anpassen müssen.
Wie man im C++ code sehen kann rendert er dann alles über 50 auf einer neuen Zeile.
Freitag gut gemeint aber das bezieht sich drauf das man den code auf mehreren zeilen aufsplitten kann^^
so ungefähr, hab das grad on the fly geschrieben bin mir also nicht sicher ob alles funktioniert so wies soll.
Würde dir empfehlen den index deiner bonis nicht ales key zu verwenden sondern als ersten tabellen eintrag also so :
Danach brauchst du für die select3 eine Tabelle wo nur die Namen drin stehen diese kannst du statisch machen oder du baust sie zur Laufzeit zussammen so:
dann stehen in selectNames die ganzen Namen und danach brauchst du sie nur noch der select3 funktion übergeben und mit dem return wert in waffen indizieren.
ungefähr so:
Hab das ganze nicht getestet und lange kein Lua mahr gecoded aber sollte gehen.
Du musst die If Abfragen richtig setzen, sonst läuft er durch wenn eine Abfrage geklappt hat.
Meine Quests sehen zwar aus wie Kot aber funktionieren im Endeffekt.. Bsp:
Alles anzeigenCode
- quest m2download begin
- state start begin
- when kill begin
- local mob1 = 101
- local mob2 = 102
- local kill = 10
- local counter1 = pc.getqf("counter1")
- local counter2 = pc.getqf("counter2")
- if npc.get_race() == mob1 and counter1 < kill then
- pc.setqf("counter1", counter1 + 1)
- chat("Du hast bereits: " .. pc.getqf("counter1") .. " Wildhund/e getötet.")
- elseif npc.get_race() == mob2 and counter2 < kill then
- pc.setqf("counter2", counter2 + 1)
- chat("Du hast bereits: " .. pc.getqf("counter2") .. " Wolf/Wölfe getötet.")
- end
- if counter1 >= kill and counter2 >= kill then
- set_state(__complete)
- end
- end
- end
- state __complete begin
- end
- end
Keine Scheu den Danke Btn zu hauen :)=
Du solltest dir wirklich Gedanken über deine Variablennamen machen wobei hier ja garnicht alles Variablen sind sondern auch Konstanten.
Code Kopien sind auch immer schlecht für sowas gibts funktionen oder Tabellen.
Nachdem du aus nicht bekanntlichen Gründen Änderungen am Server auf FreeBSD durchführst würde ich dir empfehlen mit GDB einen breakpoint an die Gewünschte stelle zu setzen, den game99 core im gdb debugger starten und bei der letzten statue einfach durch steppen und dann siehst du schon woran es liegt.
Du kannst den gdb debugger normalerweiße auch an einen Laufenden Prozess anhängen.
Wenn du nicht weißt wie das geht gibt es hier ein Tut dazu :
Bitte melden Sie sich an, um diesen Link zu sehen.
Wenn du merkst das, dass sub optimal ist würde ich dir empfehlen deine Server Entwicklungen auf Visual Studio unter windows durchzuführen dort ist das eine Arbeit von 1 Minute habe selbst in diesem Anfänger Code alle Fehler gefixxt.
Kommt drauf an was du bezahlst.
Because its incorrect
If You use std::find the correct way is this
Because std::find returns an iterator not an boolean.
no need for unnecessary if else
Ich hatte einfach immer app.RunPythonFile auf irgend einen shortcut gelegt und zwei mal drücken hat das file neu geladen und die Instanz neu erstellt.
Visual Studio hat den besten debugger damit ist es meistens einfach solche Sachen zu finden.
Alles anzeigenZur Not geh einfach auf deren Discord und schreib dem [DEV]root, hab auch schon einige male mit dem geschrieben und der hat mir auch das ein oder andere verraten
Dem hab ich jetzt mal geschrieben, Danke.
Mal sehen inwieweit er mir helfen kann, da er das ganze nicht implementiert hat.
Ich definiere meine Frage mal noch etwas genauer.
Wieso ich den Browser wechseln moechte?
Nur wegen dem PayPal Bezahlprozess.
Die haben leider alle alten Browser gesperrt.
Woran scheitert es denn ? Du kannst es ja mal selbst versuchen und dich gegebenfalls bei mir melden.
Wie wärs den damit ? Bitte melden Sie sich an, um diesen Link zu sehen.
Das Problem ist nicht Chromium / Awesomium einzubauen, sondern den Quatsch der drin ist auszubauen
Wo solls den da bitte ein Problem geben ?
Wie wärs den damit ? Bitte melden Sie sich an, um diesen Link zu sehen.
Alles anzeigenist aufjedenfall in der db das mit den punkten wieviele sie gibt, hab bei mir von 500 auf 1500 erhöht und der effekt war ingame auch wirksam. Wichtig: Client item_proto updaten und server rebooten.
Jetzt hat es geklappt, auch wenn ich es damals auch 1 zu 1 so gemacht hatte und es nicht geklappt hat. Clientside war die item_proto natürlich gleich.
Hauptsache es geht jetzt, vielen Dank.
Jetzt würde mich noch interessieren, wie ich die Zen-Bohne wie zum Beispiel Tau's unendlich im Source stellen kann.
Falls du damit meinst das sie nach der verwendung nicht verschwinden, würde ich einfach in char_item.cpp in der ranzigen und langen funktion UseItemEx die vnum heraussuchen und das Item->SetCount(Item->GetCount() - 1) löschen.