Beitrag von Xtreme.Gamer ()
Dieser Beitrag wurde vom Autor gelöscht ().
Hallo habe mir einen /admins Befehl gemacht, muss diesen jedoch auf R41-2 updaten und hoffe ihr könnt mir helfen.
Codeif (strcmp(cmd, "/admins", true) == 0){ new query[160]; format(query, sizeof(query), "SELECT `Spieler`, `Level`, `Adminlevel` FROM `spielerdaten` WHERE `adminlevel` > 0 ORDER BY `adminlevel` DESC LIMIT 0,30", PlayerInfo[playerid][Admlevel]); mysql_pquery(query,THREAD_ADMLIST,playerid,gSQL,MySQLThreadOwner); return 1; }
Dies ist das LYD Script, wenn ich richtig sehe, korrekt?
Hast du es denn überhaupt selbst schon probiert? Wenn ja, woran scheitert es?
Wenn nein: [jTuT] MySQL R41-4 (Installation, XAMPP, Verwendung, Bedienung & Registrations-System)
Guten Abend,
ich habe eienn Stats befehl gebaut, wen mir diese ansehe, sehe ich alles aber wenn eine andere Person sich seine Stats anzieht, sieht er sein Geschlecht nicht. Was ist hier falsch? Wenn ich ihm meine Stats zeige wird ihm mein Rang auchnicht angezeigt. Wenn er mir seine Stats zeigt sehe ich sein Geschlecht auch nicht. Ich hab den Entwickler auf Entwickler Sricipter und Entwickler Mapper aufgteteilt.
stock ShowStats(playerid,targetid)
{
new string[1000],geschlecht[50],string1[2000],string2[128],header[200];
if(CharacterInfo[targetid][character_Geschlecht] == 1){geschlecht = "Männlich";}
else if(CharacterInfo[targetid][character_Geschlecht] == 2){geschlecht = "Weiblich";}
switch(AccountInfo[playerid][account_Admin])
{
//case 0: format(string2,sizeof(string2), "Rang: %s", GetAdminRang(AccountInfo[targetid][account_Admin], true));
case 1: format(string2,sizeof(string2), "Rang: %s", GetAdminRang(AccountInfo[targetid][account_Admin], true));
case 2: format(string2,sizeof(string2), "Rang: %s", GetAdminRang(AccountInfo[targetid][account_Admin], true));
case 3: format(string2,sizeof(string2), "Rang: %s", GetAdminRang(AccountInfo[targetid][account_Admin], true));
case 4: format(string2,sizeof(string2), "Rang: %s", GetAdminRang(AccountInfo[targetid][account_Admin], true));
case 5: format(string2,sizeof(string2), "Rang: %s", GetDevRang(targetid, true));
case 6: format(string2,sizeof(string2), "Rang: %s", GetAdminRang(AccountInfo[targetid][account_Admin], true));
}
format(string,sizeof(string),"{FF0000}[Allgemein]{FFFFFF}\n\nID: %d | %s | OOC Name: %s\nGeschlecht: %s | RP Name: %s",
AccountInfo[targetid][account_ID],string2,AccountInfo[targetid][account_Name],
geschlecht, RemoveUnderscore(CharacterInfo[targetid][character_Name]));
strcat(string1,string);
strdel(string,0,sizeof(string));
format(header,sizeof(header),"{FFFFFF}Statistiken von %s",AccountInfo[targetid][account_Name]);
ShowPlayerDialog(playerid, DIALOG_STATS, DIALOG_STYLE_MSGBOX, header, string1, "{FFFFFF}Weiter", "");
return 1;
}
Alles anzeigen
stock GetDevRang(playerid,bool:colored = false)
{
new rang[255];
if(AccountInfo[playerid][account_Scripter]) {
if(!colored) format(rang, sizeof(rang), "%s", AdminInfo[0][admin_Scripter]);
else format(rang, sizeof(rang), "{7401DF}%s{FFFFFF}", AdminInfo[0][admin_Scripter]);
}
if(AccountInfo[playerid][account_Mapper]) {
if(!colored) format(rang, sizeof(rang), "%s", AdminInfo[0][admin_Mapper]);
else format(rang, sizeof(rang), "{7401DF}%s{FFFFFF}", AdminInfo[0][admin_Mapper]);
}
return rang;
}
Alles anzeigen
Danke im Voraus
MfG
Allrounder18
Grad nur am Handy aber bist du denn sicher das der jenige die Variable Geschlecht auf 1 oder 2 hat und nicht eventuell standardmäßig auf 0?
Grad nur am Handy aber bist du denn sicher das der jenige die Variable Geschlecht auf 1 oder 2 hat und nicht eventuell standardmäßig auf 0?
Das Geschlecht war echt nur auf 0 bei dem Spieler, danke für den Tip.
Der Rest geht immer noch nicht.
ist denn die Variable des Mappers/Scriptera account_Admin auf 5? Nur dort fragst du es ja ab
ist denn die Variable des Mappers/Scriptera account_Admin auf 5? Nur dort fragst du es ja ab
In der Datenbank ist diese Variabel auf 5.
Edit: In nem anderen Befehl sieht es so aus.
case 5: format(string,sizeof(string), "Rang: %s", GetDevRang(playerid, true));
Aber das geht bei showstats irgendwie net.
Edit2: In fast allen anderen Befehlen geht das GetDevRang, nur hier nicht.
Edit2: In fast allen anderen Befehlen geht das GetDevRang, nur hier nicht.
Ich würde mal account_Scripter, account_Mapper & account_Admin printen lassen und es nochmal probieren, falls Admin nicht 5 ist oder Mapper oder Scripter nicht 1 dann haste direkt den Fehler.
Beachten solltest du auch das wenn Scripter & Mapper auf 1 sind wird nur Mapper angezeigt, da dort keine else abgefrage ist.
Gibt es bei SA:MP eine Funktion, womit man überprüfen kann, ob der Spieler InGame/Desktop/Menü ist ? Wenn ja, wie heißt diese Funktion?
Ich will zwei Strings vergleichen ob sie gleich sind mit strcmp.
Im Wiki steht das die Länge verglichen wird, dass ist ja richtig doof gemacht oder ist das falsch?
https://wiki.sa-mp.com/wiki/Strcmp da steht:
Return Values:
0 if strings match each other on given length;
...
heißt, wenn ich:
hallo mit hallo vergleiche kommt 0
hallo mit halle vergleiche kommt auch 0, weil es gleich lang ist??
hallo mit halle vergleiche kommt auch 0, weil es gleich lang ist??
Hättest das ja in 2 Sekunden test können, nein, so ist es nicht.
Sobald die Strings gleich sind (oder einer von Beiden null) wird 0 zurückgegeben.
Schau dir das Beispiel von der Englischen Seite an
Nein, das funktioniert in PAWN nicht.
würde es nicht klappen wenn du so machst?
Nein, in SA:MP können so nur zahlen verglichen werden. (Ja, chars sind auch Zahlen und mit Floats ist das so eine Sache...)
Strings musst du mit strcmp vergleichen, da wird im Endeffekt 1x durch den String geloopt und jeder char verglichen...
Ja war ehrlich gesagt zu faul, um es zu testen...
Danke!
i2 wurde in diesen Script nicht definiert hat jemand eine ahnung wie ich das definieren soll?
Vermutlich sowas wie:
new i2 = GetPlayerVirtualWorld(playerid);
Das geht nur bei Integer in pawn