Ups gar nicht gesehen das du bei AdminDienst playerid und bei FreezePlayer i verwendest, wird wohl daran liegen.
Beiträge von Whice
-
-
Da die Frage bereits jemand 2015 gestellt hat und keine Antwort bekommen hat, würde wohl eher empfehlen welche selbst zu machen/machen zu lassen.
-
Warum werden die Spieler nicht gefreezt wen Sie nicht im Admindienst sind??
Zeig mal dein FreezePlayer
-
GameTextForPlayer noch über den Timer setzen
Das passiert wenn man sowas mal eben auf die schnelle im Editor macht^^
-
würde gerne einen timer mit einfügen das Mann für paar Sekunden gefreezt wird und ein Text erscheint Map wird geladen und nach denn paar Sekunden Mann wieder entfreezt wird
Das könntest du mit einem TimerEx und nem GameText lösen, sieht bsp. so aus:
Code
Alles anzeigenelse if (IsPlayerInRangeOfPoint(playerid,4.0,2807.8452,-1174.0934,1025.5703))// Atzen Exit { if(PlayerInfo[playerid][pLeader] == 17 || PlayerInfo[playerid][pMember] == 17 || IsACop(playerid)) { SetPlayerPos(playerid,1642.9802,2322.6882,10.8203); SetPlayerFacingAngle(playerid,82.9910); SetPlayerInterior(playerid,0); SetPlayerVirtualWorld(playerid,0); TogglePlayerControllable(playerid, false); GameTextForPlayer(playerid, "~w~Map wird geladen..", 3000, 3); SetTimerEx("unFreeze", 3000, false, "i", playerid); } } forward unFreeze(playerid); public unFreeze(playerid) { TogglePlayerControllable(playerid, true); return 1; } -
eentschuldige ich verstehe immer noch nicht
? Was verstehst du denn nicht, die auf dem Bild marktierte SQL abfrage ist Fehlerhaft, das user und FROM sind vertauscht, das musst du ändern
-
ich denke das es mit dem % bei Hostname zu tun haben könnte, würde jenes mal auf localhost bzw 127.0.0.1 umstellen
-
jetzt speichert er net mehr.
Min jung.. hier nochmal die Query die Fehler macht (Siehe deine SQL Log aus dem 1 Beitrag)
Dort musst du es auch ändern, deswegen auch die Zeilenangabe aus dem 1 Beitrag von dir.
Das ganze nochmal Bildlich

-
Zeile 381
ändern zu
mysql_format(Handle,query,sizeof(query),"SELECT * FROM user WHERE Username='%e'AND Passwort=MD5('%e')",Spielername(playerid),inputtext);
-
entschuldige aber verstehe nicht.
ich habe das so wie im der video
Hab das Video nicht geschaut, jedoch ist dies einfaches SQL SELECT [DATEN] FROM [DATABASE] WHERE [DATEN]
-
kann mir nicht einer helfen
- [08:10:05] [DEBUG] mysql_format - connection: 1, len: 256, format: "SELECT * user FROM WHERE Username='%e'AND Passwort=MD5('%e')"
- [08:10:05] [DEBUG] mysql_tquery - connection: 1, query: "SELECT * user FROM WHERE Username='ShadowKev1999'AND Passwort=MD", callback: "OnPassordResponse", format: "i"
- [08:10:05] [DEBUG] CMySQLQuery::Execute[OnPassordResponse] - starting query execution
- [08:10:05] [ERROR] CMySQLQuery::Execute[OnPassordResponse] - (error #1064) You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'user FROM WHERE Username='ShadowKev1999'AND Passwort=MD5('kevin7372')' at line 1
AKA Zeile 381 [tt]mysql_format(Handle,query,sizeof(query),"SELECT * FROM user WHERE Username='%e'AND Passwort=MD5('%e')",Spielername(playerid),inputtext);/tt]
Ich möchte eine Leader Liste Ingame erstellen die auslesen tut wieviele Leader es gibt und wer alles Leader einer Fraktion ist.
Als erstes ist die Frage ob nur, die angezeigt werden sollen, die online sind oder auch die die offline sind.
Wenn nur online:
- Schleife durch alle Spieler die Online sind
- Abfragen ob Rank >= 7 && Fraktion != 0
- Im Dialog o.Ä. ausgeben
Wenn auch offline:
- Bei deiner bestehenden Query ein Callback angeben
- Dort den cache auslesen und wie oben (Wenn nur offline) vorgehen.
-
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
-
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
-
Alles anzeigen
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^^