Ändert nichts an dem, was ich geschrieben habe. Gib uns ein Beispiel und nicht 800 Zeilen an Code.
Beiträge von Madd92
-
-
Am besten wäre es, wenn du die Zeilen, die nicht so funktionieren wie du es willst, rauskopierst und erklärst, was du vorhattest und was genau aber nicht funktioniert. Ich glaube niemand hat vor, sich durch fast 800 Zeilen Code zu lesen.
-
Dann hab ich im Moment keine Ideen mehr, wie gesagt bei mir funktioniert's. Könntest sonst nur mal deinen Code durchschauen, ob es irgendwas gibt, was sich damit beißen könnte.
-
Testweise mal den letzten Parameter auf 0 gesetzt?
-
Also bei mir geht's. Du setzt die VW des Spielers auch auf 3 ja?
-
Das mit -1 ist wahrscheinlich bei den Pickups der Fall.
-
Wegen der Virtual World, kannst du mal -1 probieren, dann wird das Label überall angezeigt. Ist das in einem Interior? Wenn ja dann bitte mal die ID davon nennen.
-
Warum nicht einfach die komplette UDF einbinden?
-
Ehm was? Du hast nicht die vollständige UDF eingebunden oder wie? Solltest du aber, es sei denn du weißt wirklich was du tust, sonst wird es nicht funktionieren. MsgBox ist allerdings eine AHK-Funktion.
-
Also passiert nichts? Gehen denn sonst die Funktionen der UDF? Kannst ja auch AddChatMessage mal in MsgBox ändern, um zu sehen ob es wirklich nur daran liegt.
-
Änder es bitte mal testweise in if (!InStr(line, "hat ein Store im GK"))
-
Ok verstehe. Aber dann mach es doch wie folgt erstmal:
CodeGetChatLine(1, line) if (!InStr(line, "erfolgreich überfallen. Beute:") || !InStr(line, "hat ein Store im GK")) return if (!RegExMatch(line, "Beute: (\d+)", params)) return AddChatMessage("Beute: " params1)
Und probier, ob das funktioniert. Danach kannst du immer noch die Datenbank einbinden.
-
An der AddChatMessage Funktion wird es nicht liegen, die geht ja bei allen anderen auch trotzdem verstehe ich nicht, warum du nicht die letzte Nachricht auslesen willst.
-
? Ich meine ein Beispiel für die Zeile, die du auslesen willst. Übrigens meine ich, GetChatLine geht von der letzten Zeile (Index 0) aus. Du willst also wahrscheinlich eher GetChatLine(0, Chat_0) nutzen.
-
Wie lautet denn die Chatzeile bspw.? Den Doppelpunkt z.B. muss man nicht escapen. Wäre dann also RegExMatch(Chat_0, "(.*) hat ein Store im GK (.*) erfolgreich überfallen\. Beute: (.*)\$", params_).
-
Was für Werte werden denn gespeichert und was ist stringMath? Werden die Werte nur in der Datenbank falsch gespeichert oder bei AddChatMessage auch falsch ausgegeben?
-
Wie gesagt, kannst auch format nehmen:
C
Alles anzeigenocmd:members(playerid, params[]) { new str[256]; for (new i = 0; i < MAX_PLAYERS; i++) { if (PlayerInfo[i][frak] != PlayerInfo[playerid][frak]) continue; format(str, sizeof(str), "%s%s\n", str, PlayerInfo[i][pName]); } ShowPlayerDialog(playerid, 0, 2, "Members", str, "Schließen", ""); return 1; }
-
Ich würde eher strcat(str, PlayerInfo[i][pName]); nutzen.
Achso und die Zeilenumbrüche nicht vergessen.
Also vielleicht eher format(str, sizeof(str), "%s%s\n", str, PlayerInfo[i][pName]); -
An sich ja, wobei ich nicht verstehe wofür der zweite String da sein soll.
-
Ganz normal eine Spielerschleife, allerdings statt jedes mal SendClientMessage zu nutzen, fügst du mit format oder strcat den Namen, Rang oder was auch immer an einen vorher definierten String an, den du nach der Schleife in einem Dialog anzeigen lässt.