Änder es zu:
cache_get_value_name_int(0, "ID", id);
Beiträge von LeonMrBonnie
-
-
Du musst es unter pCar[id][Variable] speichern, und nicht unter pCarEnum[id][Variable].
-
Bitte sag auch wie du das Problem gelöst hast, damit andere mit dem gleichen Problem vielleicht eine Lösung haben.
-
Dann hast du das Mysql Include nicht inkludiert, oder die falsche Version davon.
Wenn du den Server startest sollte da stehen welche Version das Plugin hat, die Include muss die gleiche Version haben. -
Der Fehler liegt irgendwo in der .amx Datei, entweder hast du den Server gestartet während das Script noch compilet oder die .amx Datei ist beschädigt. Versuch mal das Script neu zu compilen.
-
Auch interessantes Servermotto: "Wir machen 2018 zur legende"
Schonmal nen Rechtsschreibfehler im Banner und ich glaub nicht dass ihr mit einem 0815 Script überhaupt was reißt. Das Forum ist auch fast komplett leer und es sieht aus als wurde hier wirklich sehr wenig Zeit reininvestiert.EDIT:
Ich war jetzt auch mal auf dem Server drauf und es ist schlimmer als erwartet; es ist einfach nur das pRP Edit mit schlechten Textdraws, schlechter Benutzerfreundlichkeit und ner Menge Langweile. Warum sollte ich 15 Minuten auf meinen Perso warten, wenn ich ohne diesen Perso NICHTS machen kann außer in der Stadt rumfahren?
Also kurzgefasst; Der Server ist schlecht, lohnt sich nicht überhaupt drauf zu gehen. -
Versuche es so:
Hat geklappt, danke.
-
Wenn ich mit dem gleichen Namen wie er schon in der Datenbank steht connecte, wird er trotzdem eingetragen, warum?
Eigentlich werden ja mit strexplode alle Namen die mit einem , getrennt sind einzelnt ausgeschrieben, also loop ich durch ob der Name dort schon irgendwo vorhanden ist, und wenn nicht soll der Name hinzugefügt werden.
Der Name wird aber immer hinzugefügt..Kann mir jemand mit meinem Code oben helfen? Es hat sogar mal funktioniert aber hab eigentlich nichts daran geändert.

-
Alles anzeigen
/*
SA-MP MySQL plugin R5
Copyright (c) 2008-2010, G-sTyLeZzZ
*/#if defined mysql_included
#endinput
#endif
#define mysql_includedDu benutzt die falsche Include Version.
Lad dir hier: Klick
Das win32 Paket runter, da ist auch eine Include dabei, die ziehst du dann in deinen Pawno Include Ordner, und compilest das Script einmal neu. -
Das ist nicht die richtige MySQL Version.
Du brauchst glaube ich R7. -
if(dialogid == DIALOG_MDC){if(response == 1){switch(listitem){case 0:{ShowPlayerDialog(playerid,DIALOG_MDCCHECK,DIALOG_STYLE_INPUT,"Spieler abfragen","Gebe nun den exakten Spielernamen ein!!","Eingabe","Verlassen");}case 1:{ShowPlayerDialog(playerid,DIALOG_MDCFAHNDUNG,DIALOG_STYLE_INPUT,"Spieler Fahnden","Gebe nun den exakten Spielernamen ein!","Eingabe","Verlasen");// Hier Eventuell der RPName bzw Hitmen / FBIname ka}}}return 1;}if(dialogid == DIALOG_MDCFAHNDUNG){ShowPlayerDialog(playerid,DIALOG_MDCREASON,DIALOG_STYLE_INPUT,"Spieler fahnden","Gebe einen Grund zur Fahndung\ndes Spielers an:","Starten","Verlassen");}if(dialogid == DIALOG_MDCREASON){if(!response) return 1;for(new i = 0; i < MAX_PLAYERS; i++){if(IsPlayerConnected(i)){if(IsACop(i)){// if(sscanf(theMDCChecked[playerid],"u", pid))// GetPlayerName(theMDCChecked[playerid],giveplayers,sizeof(giveplayers));new pid = GetPVarInt(playerid,"FahndetName");// if(sscanf(pid,"u", giveplayeryo))new string62[128];format(string62, sizeof(string62), "HQ: Alle Einheiten: Reporter: %s",GetName(playerid));SendClientMessage(i, TEAM_BLUE_COLOR, string62);format(string62, sizeof(string62), "HQ: %s wird Gesucht, Verbrechen: %s",GetName(pid),inputtext);SendClientMessage(i, TEAM_BLUE_COLOR, string62);SendClientMessage(pid,-1,"du wirdst gesucht!"); // [b]Problem hierbei Message wird an PLAYERID und nicht an PID gesendet(der gesuchte)[/b]return 1;}}}return 1;}
Problembeschreibung ist im Text markiert zu finden
/edit 17:20 zeile 43
Formatier das bitte mal ordentlich, sonst kann man dir schlecht helfen.
-
hallo kannst du mal kurz ts kommen weil dein Name war da auch bei ....
Was meinst du? Und welchen Teamspeak Server meinst du?
-
Welches Include/Plugin benutzt du dafür denn? Welche Version?
Sonst können wir dir schlecht helfen.EDIT:
Wofür möchtest du es denn überhaupt entschlüsseln?
Um es für Login/Register abzufragen hasht du einfach die Eingabe vom Spieler auch mit MD5 und fragst sie dann halt aus der Datenbank ab, MD5 ist übrigens ziemlich unsicher. Nutze lieber SHA oder Whirlpool. -
OnPlayerConnect:
mysql_format(handle,Query, sizeof(Query), "SELECT * FROM `multiaccounts` WHERE `IP` = '%s'", PlayerIP(playerid));
mysql_pquery(handle,Query,"OnCheckMulti","d",playerid);OnCheckMulti:
forward OnCheckMulti(playerid);
public OnCheckMulti(playerid)
{
new rows,multistring[256],query[300];
cache_get_row_count(rows);
if(rows == 0)
{
mysql_format(handle,query, sizeof(query), "INSERT INTO `multiaccounts` (`IP`, `Accounts`) VALUES ('%s', '%e')", PlayerIP(playerid), GetName(playerid));
mysql_tquery(handle,query);
}
else
{
new multis,multi[16][32],bool:found;
cache_get_value_name(0,"Accounts",multistring);
multis = strexplode(multi, multistring, ",");
for(new i = 0; i < multis; i++)
{
if(strfind(multi[i],GetName(playerid),true) == -1) found = true;
if(strfind(multi[i],GetName(playerid),true) != -1) found = false;
}
if(!found)
{
new name[32];
format(name,sizeof(name),", %s",GetName(playerid));
strcat(multistring, name);
mysql_format(handle,query,sizeof(query),"UPDATE `multiaccounts` SET Accounts = '%s' WHERE IP = '%s'",multistring,PlayerIP(playerid));
mysql_tquery(handle,query);
}
Ist noch länger, aber der Rest des Codes ist unwichtig.Wenn ich mit dem gleichen Namen wie er schon in der Datenbank steht connecte, wird er trotzdem eingetragen, warum?
Eigentlich werden ja mit strexplode alle Namen die mit einem , getrennt sind einzelnt ausgeschrieben, also loop ich durch ob der Name dort schon irgendwo vorhanden ist, und wenn nicht soll der Name hinzugefügt werden.
Der Name wird aber immer hinzugefügt.. -
Eigentlich eine recht schöne Vorstellung, aber was für ein Script benutzt ihr? Selfmade?
Den alle Funktionen und Fraktionen die man sieht, sind alle so wie man sie kennt, also nichts wirklich besonderes. -
Einfach die Schleife von "for(new i = 0; i < 5; i++)" zu "for(new i = 1; i < rows+1; i++); " dann sollte es klappen
-
@Mogly1 Es geht um IsStealing, das wird auch nur im else Teil inkrementiert.
Es wird immer IsStealing erhöht, da wird aber StealingCar geprintet. Wo setzt du denn StealingCar?
-
1. Von"cache_get_value_name(0, "name", name);" die 0 zu i ändern, sonst wird immer nur die erste Row ausgelesen.
2. Wie hast du die Nummerierung von 1-5 denn mit den Textdraws gemacht? Du musst halt abfragen was i gerade ist, und dann eben den Namen an die Zeile i setzen.
Also versuch mal das "TextDrawSetString(Top5_TextDraw[1], string);" in die Schleife zu machen, und das 1 zu i zu ändern. (Wenn du den Textdraw so gemacht hast das 1, Platz 1 ist und 2 Platz 2 etc.)Sonst musst du mir sagen wie du das gemacht hast.
-
Du machst eine for Schleife die 5 mal durchloopt, also durch alle 5 Rows, während diesem Loop liest du den Namen des Spielers aus der Datenbank mit cache_get_value_name(i, "Name", name) und speicherst es.
Dann fügst du nach der Schleife die Namen einfach in den Textdraw ein. -
Ich werd es Mal in Betracht ziehen und morgen gucke wie oder ob überhaupt ich es umsetze. Danke für die Idee.
Da ich an dem Gamemode nichtmehr weiterarbeite, veröffentliche ich hier den Source Code: Pastebin
Stolz kann ich darauf zwar nicht wirklich sein, aber da es das erste war, was ich mit Pawn gemacht habe, veröffentliche ich es trotzdem mal.
Ihr könnt damit machen was ihr wollt, Credits rausnehmen etc, ist mir egal.