Ich würde mir mal hier https://www.sa-mp.com/download.php die neusten Files runterladen und das ganze nochmal versuchen, mit dem Verzeichnis
Beiträge von Whice
-
-
Das p in Zeile 338 ist klein, dein Callbackname hat aber ein großes p. Das wird vermutlich der Fehler sein
entschuldige aber habe nicht so verstanden.
mysql_function_query(Handle,query,true,"OnplayerRegister","i",playerid);
Die Funktion heißt OnPlayerRegister mit einem großen P, also musst du dies hier auch mit einem großem P aufrufen.
mysql_function_query(Handle,query,true,"OnPlayerRegister","i",playerid);
-
Ob wohl erst ging es wie es sollte und dann hat der den Multiplayer gestartet wie es scheint ist da Problem doch noch nicht gelöst und behoben
Ok, pass auf, erkläre uns doch mal was du genau machst.
Du öffnest nur pawno.exe und dann startet sich SAMP? Vielleicht wäre nen Video wie von Kaliber vorgeschlagen echt hilfreich.
-
Hätte ich gemacht hab mir aber grad noch mal so gedacht könnte ja mit SAMP exe zusammen hängen und dem war auch so aber danke für die schnelle Rückmeldung
Magst du uns trotzdem noch erklären wo das Problem war, falls vielleicht nochmal jemand das Problem hat?
-
schreibe, dann draufjoine wird nix in der Datenbank gesetzt, warum?
Es scheint so als als würde der Account nicht gespeichert, versuch mal nachdem du das Level gesetzt hast SaveUserStats(playerid); aufzurufen. Es wir bei dir momentan nur gespeichert, wenn du disconnectest.
-
Ich bekomme 500 Money durch den Job
Dann musst du die Variable pLevel um 500 direkt erhöhen, dann klappt das mit dem Speichern auch
-
Wie fülle ich die denn?
Beispielsweise wenn du das Level setzt nicht nur SetPlayerScore(playerid, 5); werdenden, sondern zusätzlich auch PlayerInfo[playerid][pLevel] = 5;
Oder beim Geld das selbe. Für die Zukunft bieten sich solche Funktionen dann immer an, dort ist direkt alles geregelt.
Code
Alles anzeigenSetMoney(playerid, amount) { ResetPlayerMoney(playerid); GivePlayerMoney(playerid, amount); PlayerInfo[playerid][pMoney] = amount; return 1; } GiveMoney(playerid, amount) { ResetPlayerMoney(playerid); PlayerInfo[playerid][pMoney] += amount; GivePlayerMoney(playerid, PlayerInfo[playerid][pMoney]); }
-
Also so wie ich das sehe funktioniert alles perfekt, nur du füllst die Variablen nicht mit Werten
-
cache_get_value_name_int(0, "id", PlayerInfo[playerid][p_id]);
cache_get_value_name_int(0, "level", PlayerInfo[playerid][pLevel]);
cache_get_value_name_int(0, "money", PlayerInfo[playerid][pMoney]);
cache_get_value_name_int(0, "kills", PlayerInfo[playerid][pKills]);
cache_get_value_name_int(0, "deaths", PlayerInfo[playerid][pDeaths]);
PlayerInfo[playerid][pLoggedIn] = true;
GivePlayerMoney(playerid, PlayerInfo[playerid][pMoney]);Die Werte werden doch in die Variable geschrieben oder wo ist das Problem?
Also du willst Werte in die DB Speichern, hast aber keine, dann willst du welche Auslesen, machst es aber verwendest sie nie. Verstehe jetzt dein Problem nicht^^
-
Denke es ändert sich nix ob ich nun den Link davon kopiere oder mein eigenes reinstelle, da es keine Veränderungen bisher gab.
Wenn du es genau so gemacht hast würde es ja funktionieren^^
Also entweder du postest das oder man kann dir halt nicht helfen, ganz einfach Geschichte
-
Das wird in der Datenbank nun abgespeichert, aber Ingame setzt sich davon nix.
Dann zeig uns doch mal die Methode, mit der du das aus der Datenbank lädst. Vielleicht wäre es auch schlau für dich dir mal ein MySQL Tutorial anzuschauen.
-
Pass auf, es wird alles auf 0 gesetzt weil die Variablen ausm Script = 0 sind. Um das zu bestätigen, kannste das ja mal ausprobioeren.
Code
Alles anzeigenstock SaveUserStats(playerid) { if(!PlayerInfo[playerid][pLoggedIn]) return 1; PlayerInfo[playerid][pLevel] = 50; PlayerInfo[playerid][pMoney] = 1337; PlayerInfo[playerid][pDeaths] = 69; PlayerInfo[playerid][pKills] = 1; new query[256]; mysql_format(handle, query, sizeof(query), "UPDATE users SET level = '%d', money = '%d', kills = '%d', deaths = '%d' WHERE id = '%d'", PlayerInfo[playerid][pLevel], PlayerInfo[playerid][pMoney], PlayerInfo[playerid][pKills], PlayerInfo[playerid][pDeaths], PlayerInfo[playerid][p_id]); //Das Query wird abgesendet mysql_pquery(handle, query); return 1; }
-
Speichert immer noch nix ab, scheinbar auch keine Änderungen in den MySQL Logs.
Wird der Wert danach nur nicht geladen oder wird der gar nicht in der DB gesetzt?
Kann es vielleicht sein das deine Variablen alle 0 sind?
In deiner Error Log steht ja das bei der p_id 2 überall 0 eingesetzt wird.
-
Gleich mal ausprobieren
//edit: Hat nicht geklappt
Dort fehlt auch ein Komma am Ende der Zeile 7
-
Zeig uns den neuen Log
Einfach mal in dein Hauptverzeichnis gehen dort in den Ordner logs -> plugins -> mysql.log -> Inhalt hier posten (Je nach Version liegt die auch im Hauptverzeichnis)
-
Kleines Feedback, finde die Streams an sich ganz gut, auch wenn manchmal noch etwas durcheinander.
Der Start jedoch gefällt mir nicht (20 Minuten vorher nen Screen von Streamstart um X Uhr), schalte da persönlich direkt immer wieder ab und mach den Stream dann auch net mehr auf weil es mich immer nen wenig nervt^^
-
Wenn du bock auf Hardcore RP hast gibts auch noch Homestate
-
Ist es vielleicht noch möglich das ganze auch fürs Handy anzupassen? Im Vergleich zum Alten sieht es recht, naja aus^^
-
Nitrado
kann ich auch empfehlen
-
Wäre natürlich toll, wenn du noch eine Quelle dazu packst oder woher du die Infos entnimmst