SetPlayerScore(playerid,dini_Int(Spieler,"Level"));
Und bei den andern auch dini_Int.
SetPlayerScore(playerid,dini_Int(Spieler,"Level"));
Und bei den andern auch dini_Int.
Du musst bei den cache_get_row_int jeweils 0,0 nehmen, da du immer nur einen Wert aus der Datenbank ausließt.
Allerdings ist das ganz schlecht wenn du das so machst. Besser wäre es, alle Werte in einem Query auszulesen (mit Komma getrennt).
Und dann beim cache_get_row_int: 0,0 beim nächsten 0,1 dann 0,2 und 0,3.
(Zeile, Spalte)
Und noch besser wäre es natürlich mit Variablen zu arbeiten, anstatt jedes mal die Datenbank anzusprechen.
Genau, nur eben die Anführungszeichen nicht vergessen.
Edit:
Zum ALTER Befehl:
http://dev.mysql.com/doc/refman/5.1/en/alter-table.html
"%sAlter = '%d',
zu:
"%s`Alter` = '%d',
ALTER ist ein SQL-Befehl.
format(pfad, sizeof(pfad), "UPDATE `Clans` SET `geld`='%d' WHERE `ID`='%s'",newmoney, GetPVarInt(playerid,"Gang"));
zu:
format(pfad, sizeof(pfad), "UPDATE `Clans` SET `geld`='%d' WHERE `ID`='%d'",newmoney, GetPVarInt(playerid,"Gang"));
%s ist für Strings.
Mach das Array [1] weg von "geld" und nutze anstatt cache_get_row das hier:
http://wiki.sa-mp.com/wiki/MySQL/R33#cache_get_row_int
Wie gesagt, das sind Textdraws. Schaue dir die im Code erstellten Textdraws an.
Genau. Einfach so:
rangName[sInfo[playerid][adminlevel]]
Das gibt dir den Rangname zurück.
Kannst es dir so vorstellen:
new rang = sInfo[playerid][adminlevel];
rangName[rang]
Aber die Variable kannst du dir sparen.
Also so:
format(text,sizeof(text),"**%s %s: %s**",rangName[sInfo[playerid][adminlevel]],name,text);
Allerdings musst du aufpassen, wenn Supporter Level 1 ist, dann so:
format(text,sizeof(text),"**%s %s: %s**",rangName[sInfo[playerid][adminlevel]-1],name,text);
Was für schwarze Balken? So 16:9 Streifen?
Dann musst du nach Textdraws suchen.
Das wird nicht funktionieren, denn du kannst in PAWN nicht einfach einem Array einen String zuweisen, dazu musst du
die Funktion format() verwenden.
Das ist nur bei Arrays aus zum Beispiel einem enum der Fall, nicht bei eindimensionalen Arrays.
Ganz einfach so, nur die runden Klammern weg machen:
switch(sInfo[playerid][adminlevel])
{
case 0: Rangnameadmin = "Supporter";
case 1: Rangnameadmin = "Moderator";
case 2: Rangnameadmin = "Super Moderator";
case 3: Rangnameadmin = "Administrator";
case 4: Rangnameadmin = "Projektleiter";
}
Außerdem kannst du "text" auf 145 setzen, das ist das Maximum für SendClientMessage.
Ja, das wäre gut. Mit der neuen Include.
Lade dir das aktuellste Streamer Plugin herunter und füge es in deinen Server ein:
http://forum.sa-mp.com/showthread.php?t=102865
Lade dir das crashdetect Plugin herunter und füge es in deinen Server ein, dann poste was im Log steht:
http://forum.sa-mp.com/showthread.php?t=262796
Du musst übrigens einen Doppelpunkt (":") nach dem Name setzen, damit das Ansprechen per Name geht.
Also so: Nyu_x3:
Das erklärt doch, warum es nicht geht, du bist gar nicht mit der Datenbank verbunden.
Ändere bei den Verbindungsdaten "127.0.0.1" zu "localhost", bzw. umgekehrt. Poste dann ggf. nochmal den Log, und wenn es nicht geht, die Login Daten (ohne Passwort!!).
Schreibe den Teil bitte so, und poste dann was im Server Log steht, wenn du dich registrieren willst:
if(mysql_num_rows(mysql_load)==1)
{
printf("rows: 1");
mysql_free_result(mysql_load);
format(string,sizeof(string),"{FFFFFF}Dein Account, {33CCFF}%s {FFFFFF}wurde gefunden.\nBitte logge dich mit deinem Passwort ein.",SpielerName(playerid));
ShowPlayerDialog(playerid,Login,DIALOG_STYLE_PASSWORD,"Login",string,"Login","Abbruch");
}
else
{
printf("rows: 0");
if(strfind(SpielerName(playerid),"[uRP]",true) != -1 || strfind(SpielerName(playerid),"[",true) == 0)
{
mysql_free_result(mysql_load);
SendClientMessage(playerid,COLOR_BRIGHTRED,"Du darfst dich nicht mit diesem Tag registrieren.");
laterKick(playerid);
return 1;
}
printf("vor allow");
if(allowregister==0)
{
mysql_free_result(mysql_load);
SendClientMessage(playerid,COLOR_BRIGHTRED,"Die Registrierung auf dem Server ist zur zeit deaktiviert. Eine Nachricht wurde an die Admins gesendet.");
format(string,sizeof(string),"%s hat versucht sich zu registrieren, während dieses deaktiviert war.",SpielerName(playerid));
SendAdminMessage(COLOR_BLUE,string);
laterKick(playerid);
return 1;
}
printf("nach allow");
mysql_free_result(mysql_load);
mysql_queryf("SELECT * FROM badnames WHERE name='%s'",SpielerName(playerid));
mysql_store_result();
printf("bad-rows: %d", mysql_num_rows());
if(mysql_num_rows()>=1){mysql_free_result();SendClientMessage(playerid,Gruen,"Dein Name ist nicht erlaubt. Wähle bitte einen anderen.");laterKick(playerid);return 1;}
mysql_free_result();
mysql_queryf("SELECT * FROM logins WHERE ip='%s'",SpielerIP(playerid));
mysql_store_result();
printf("ip-rows: %d", mysql_num_rows());
if(mysql_num_rows()>=1){mysql_free_result();SendClientMessage(playerid,Gruen,"Deine IP wird bereits von einem Anderen Account benutzt.");
SendClientMessage(playerid,Gruen,"Wenn du einen neuen Account möchtest, kannst du ihn auf www.samprl.de beantragen.");laterKick(playerid);return 1;}
mysql_free_result();
format(string,sizeof(string),"{FFFFFF}Dein Account, {33CCFF}%s {FFFFFF}wurde nicht gefunden.\nBitte registriere dich, und gib das gewünsche Passwort ein.",SpielerName(playerid));
printf("string: %s", string);
ShowPlayerDialog(playerid,Register,DIALOG_STYLE_PASSWORD,"Registrieren",string,"Register","Abbruch");
}
mysql_free_result(mysql_load);
return 1;
}
Was ist "das Login Problem"?
filezilla: Die unterstützen das removeWorldObject nicht.
BenTheBecker: http://snjrp.eu/mapconverter/
Oder alternativ: http://forum.sa-mp.com/showthread.php?t=427160