Das sind Dynamische Ränge
Meinst du das hier? Wie ich es definiere
new FrakRank5[MAX_FRAKTIONEN][26];
Das sind Dynamische Ränge
Meinst du das hier? Wie ich es definiere
new FrakRank5[MAX_FRAKTIONEN][26];
Nein klappt immer noch nicht
Meinst du deswegen klappt das nicht?
Denke das ist für den String länge.
Der Befehl /r funktioniert nicht , außer wenn ich zwischenRank[playerid] lösche dann funktioniert der Befehl.
// Gloabale Variable
zwischenRank[MAX_PLAYERS][26]
ocmd:r(playerid,params[])
{
new text[125],string[500];
if(Spieler[playerid][Eingeloggt] == 0) return SendClientMessage(playerid,ROT,"Du bist nicht Eingeloggt!");
if(Spieler[playerid][pAFK] == 1)return SendClientMessage(playerid,WRONGCMD,"Du bist AFK. Benutze /back");
if(Spieler[playerid][pGetazert] == 1) return SendClientMessage(playerid,ROT,"Du bist getazert!");
if(Spieler[playerid][pFraktion] == 0) return SendClientMessage(playerid,GRAU,"Du bist in keiner Fraktion!");
if(!IstSpielerInFraktion(playerid,16) && !IstSpielerInFraktion(playerid,2) && !IstSpielerInFraktion(playerid,3) && !IstSpielerInFraktion(playerid,4) && !IstSpielerInFraktion(playerid,14)) return SendClientMessage(playerid,GRAU,"Du bist kein Staatsbediensteter!");
if(Spieler[playerid][Funkgerat] == 0) return SendClientMessage(playerid,GRAU,"Du hast kein Funkgerät dabei!");
if(Spieler[playerid][pFunkAn] == 0) return SendClientMessage(playerid,GRAU,"Dein Funkgerät ist ausgeschaltet!");
if(sscanf(params,"s",text)) return SendClientMessage(playerid,GRAU,"Verwende: /r [Text]");
if(strlen(text) > 125) return SendClientMessage(playerid,GRAU,"Dein Text darf maximal 125 Zeichen enthalten!");
FrakRankName(playerid);
format(string,sizeof(string),""#HTML_RCHAT"** %s %s: "#HTML_WHITE"%s ,over **",zwischenRank[playerid],SpielerName(playerid),text);
FraktionsChat(Spieler[playerid][pFraktion],WEISS,string);
return true;
}
stock FrakRangName(playerid)
{
new fID = Spieler[playerid][pFraktion];
if(fID != 0)
{
if(Spieler[playerid][pFrakRang] == 1) { strmid(zwischenRank[playerid],FrakRank0[fID],0,strlen(FrakRank0[fID]),26); }
if(Spieler[playerid][pFrakRang] == 2) { strmid(zwischenRank[playerid],FrakRank1[fID],0,strlen(FrakRank1[fID]),26); }
if(Spieler[playerid][pFrakRang] == 3) { strmid(zwischenRank[playerid],FrakRank2[fID],0,strlen(FrakRank2[fID]),26); }
if(Spieler[playerid][pFrakRang] == 4) { strmid(zwischenRank[playerid],FrakRank3[fID],0,strlen(FrakRank3[fID]),26); }
if(Spieler[playerid][pFrakRang] == 5) { strmid(zwischenRank[playerid],FrakRank4[fID],0,strlen(FrakRank4[fID]),26); }
if(Spieler[playerid][pFrakRang] == 6) { strmid(zwischenRank[playerid],FrakRank5[fID],0,strlen(FrakRank5[fID]),26); }
}
return true;
}
Wenn ich was im Chat schreibe, bin ich dann gefreezt. Habe auch SuFu benutzt aber bin nicht weiter gekommen.
OnPlayerText
if(sInfo[playerid][Einstellung][2] == 1)
{
if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT)
{
ApplyAnimation(playerid, "ped", "Idle_Chat", 4.1, 0, 0, 0, 0, ((strlen(text) * 100) + 1000), 0);
return 1;
}
}
Einstellung[1],
Ich finde den Fehler nicht
: error 001: expected token: ")", but found "["
: error 029: invalid expression, assumed zero
: warning 215: expression has no effect
: error 001: expected token: ";", but found "]"
: fatal error 107: too many error messages on one line
for(new i=0; i < MAX_PLAYERS; i++)
{
if(sInfo[i][Einstellung][0] == 1) // Error
{
format(string,sizeof(string),""HTML_RED"Info: "HTML_WHITE"%s hat den Server betreten!",sInfo[playerid][pName]);
SendClientMessage(i,-1,string);
return 1;
}
}
Nutzt du auch die richtige Samp Client Version?
Okay.. Und wie kann ich es nun beheben? Tut mir leid bin total neu in Pawn
Hab ein kleines Problem.
[13:39:32] [plugins/mysql] error #1064 while executing query "SELECT * FROM users WHERE name = 'John_Malson', password ='' AND salt=''": 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 ' password ='' AND salt=''' at line 1
[13:39:35] [plugins/mysql] error #1064 while executing query "SELECT * FROM users WHERE name = 'John_Malson', password ='' AND salt=''": 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 ' password ='' AND salt=''' at line 1
Egal was ich für ein Passwort eingebe, es ist richtig.
if(dialogid == DIALOG_LOGIN)
{
if(!response) return Kick(playerid);
new Salted_Key[65];
SHA256_PassHash(inputtext, sInfo[playerid][Salt], Salted_Key, 65);
if(strcmp(Salted_Key, sInfo[playerid][Password]) == 0)
{
new query[256];
mysql_format(handle, query, sizeof(query),"SELECT * FROM users WHERE name = '%e', password ='%e' AND salt='%e'", sInfo[playerid][pName], sInfo[playerid][Password], sInfo[playerid][Salt]);
mysql_pquery(handle, query, "OnUserLogin", "d", playerid);
}
return 1;
}
public OnUserLogin(playerid)
{
new rows;
cache_get_row_count(rows);
if(rows == 0)
{
new String[150];
sInfo[playerid][PasswordFails] += 1;
printf("%s has been failed to login. (%d)", sInfo[playerid][pName], sInfo[playerid][PasswordFails]);
if (sInfo[playerid][PasswordFails] >= 3) // If the fails exceeded the limit we kick the player.
{
format(String, sizeof(String), "%s wurde gekickt. Grund: {FF0000}(%d/3) Login fehlgeschlagen.", sInfo[playerid][pName], sInfo[playerid][PasswordFails]);
SendClientMessageToAll(0x969696FF, String);
Kick(playerid);
}
else
{
format(String, sizeof(String), "Falsches Passwort, du hast %d von 3 versuchen.", sInfo[playerid][PasswordFails]);
SendClientMessage(playerid, 0xFF0000FF, String);
format(String, sizeof(String), "{FFFFFF}Willkommen zurück, %s.\n\n{0099FF}Dein Account wurde gefunden.\n\
{0099FF}Bitte gib nun dein Passwort ein:", sInfo[playerid][pName]);
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Login", String, "Einloggen", "Abbrechen");
}
}
else
{
cache_get_value_name_int(0, "id", sInfo[playerid][p_id]);
cache_get_value_name_int(0, "level", sInfo[playerid][Level]);
cache_get_value_name_int(0, "bargeld", sInfo[playerid][BarGeld]);
cache_get_value_name_int(0, "bankkonto", sInfo[playerid][BankKonto]);
cache_get_value_name_int(0, "konto", sInfo[playerid][Konto]);
cache_get_value_name_int(0, "adminlevel", sInfo[playerid][Admin]);
ResetPlayerMoney(playerid);
GivePlayerMoney(playerid,sInfo[playerid][BarGeld]);
SetPlayerScore(playerid, sInfo[playerid][Level]);
sInfo[playerid][pLoggedIn] = true;
SendClientMessage(playerid, 0x00FF00FF, "[Konto] Du hast dich erfolgreich eingeloggt.");
SetSpawnInfo(playerid, 0, 1, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
SpawnPlayer(playerid);
}
return 1;
}
[list=1][*]ocmd:buydrugs(playerid,params[])
[*]{
[*]if(!IsPlayerInRangeOfPoint(playerid,5.0,-91.8772,-40.3565,6.4844))return SendClientMessage(playerid,ROT,"Du bist nicht am Drogenkauf punkt!");
[*]new Drogen;
[*]if(sscanf(params, "d", Drogen))return SendClientMessage(playerid,GELB,"Verwendung: /buydrugs [Anzahl an Drogen]");
[*]new string[128];
[*]if(Drogen < 0 || Drogen > 25) { SendClientMessage(playerid, ROT, "*Die anzahl an Drogen darf nicht unter 0 und über 25 sein."); return 1; }
[*]if(Drogen +sSpieler[playerid][DDrogen] < 26)
[*]{
[*]new Drogenpreis = Drogen*150;
[*]sSpieler[playerid][DDrogen] += Drogen;
[*]GivePlayerMoney(playerid, -Drogenpreis);
[*]format(string,sizeof(string), "Du hast dir %i Gramm Drogen für %d$ gekauft!", Drogen, Drogenpreis);
[*]SendClientMessage(playerid,GREEN,string);
[*]SendClientMessage(playerid,GELB,"Fahre Schnell zu einer Safebox in LS,SF,LV bevor dich die Cops erwischen!");
[*]}
[*]else if(Drogen + sSpieler[playerid][DDrogen] < 250)
[*]{
[*]SendClientMessage(playerid,ROT,"Du kannst Maximal 25 Gramm Drogen bei dir Tragen!");
[*]}
[*]return 1;
[*]}
[/list]
Zeig mal bitte den stock/public von IstSpielerInFraktion.
Lade dir das Plugin Crashdetect herunter und dann trage es in die server.cfg ein. Dann starte den Server und poste dann den server_log.
Herzlich Willkommen
Versuch es mal so:
#define db_pass "mysqlpasswort"
zu
#define db_pass ""
Danke euch allen!
Es klappt
1. Ja
2. Es läuft alles über Home Server
So habe es hinbekommen meine derzeitige Code sieht jetzt so aus:
stock SaveFNamen(frak)
{
new query[556];
mysql_format(dbhandle, query, sizeof(query),"INSERT INTO frakrkasse (fID, Rang0, Rang1, Rang2, Rang3, Rang4, Rang5, Rang6, Fraktionskasse) VALUES ('%d', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%d')",
frak,fInfo[frak][frank0],fInfo[frak][frank1],fInfo[frak][frank2],fInfo[frak][frank3],fInfo[frak][frank4],fInfo[frak][frank5],fInfo[frak][frank6],fInfo[frak][FraktionsKasse]);
mysql_pquery(dbhandle, query);
return 1;
}
Aber ich kann es nicht editieren