Warum verwendest du eig so eine alte MySQL Version?
Es konnte keine Verbindung zur Datenbank hergestellt werden!
Also irgendwas stimmt da nicht.
Steht was im MySQL Log?
Die Daten sind vermutlich falsch.
Check mal die Ip, den benutzer..etc pp
Warum verwendest du eig so eine alte MySQL Version?
Es konnte keine Verbindung zur Datenbank hergestellt werden!
Also irgendwas stimmt da nicht.
Steht was im MySQL Log?
Die Daten sind vermutlich falsch.
Check mal die Ip, den benutzer..etc pp
Dieses Objekt ist auf beiden Seiten eingekerbt.
Das müsste 2960 sein ![]()
Hat da jemand eine Lösung?
Nutze überall (außer für Fußböden) CreateDynamicObject.
mysql_connect(SQL_HOST, SQL_USER, SQL_DATA, SQL_PASS)
Kannst du mal zeigen, wie die defines dafür aussehen?
Joa, so könnte man es machen, aber ich möcht auch Personen mehr als 2 Verwalterränge geben, und dies wären wohl zu viele Spalten.
Erkläre doch etwas genauer, was du vor hast.
Du kannst auch einfach, wenn du eine Haus-Tabelle hast, dort eine Spalter Hausverwalter machen und dann dort den Namen (oder besser die ID) des Nutzers eintragen, der der Verwalter ist.
Das nennt man einen JOIN.
Weil wenn ich makeadmin xy 7 mach udn er aber schon 6 ist wird doch pberschrieben oder?
Deshalb sage ich doch mach 2 Spalten.
In die eine kommt die 7 und in die Andere in diesem Fall die 6 und fertig ![]()
Was spricht dagegen einfach eine neue Spalte zu machen?
hast du da n Lösung für ich bitte?
Naja, was genau speicherst du denn da?
Nur, dass er das ist oder auch dann die ID von dem Haus und dem Biz?
Am Einfachsten ist es natürlich, einfach noch eine Spalte einzufügen...
Theoretisch könntest du auch eine Zahl vergeben, wie z.B.
0 = Er ist nichts
1 = Er ist Hausverwalter
2 = Er ist Bizverwalter
3 = Er ist beides
Pawno is just a simple editor for SA-MP pawn scripts. There is no reason it would need to be updated with a new pawn version in the server.
Ist das mt Crashdetect?
Jap ![]()
Ein kurzer Blick in den Thread genügt ja, um das zu sehen: https://forum.sa-mp.com/showthread.php?t=262796
Hast du dazu ne Lösung?
Nun, also Syntax Fehler werden dir beim Compilen angezeigt.
Du redest denke ich mal von runtime errors, also Fehler die zur Laufzeit auftreten, wie z.B. dass man versucht einen ungültigen Array Index zu erreichen.
Dafür wurde das Plugin crashdetect entwickelt ![]()
Du solltest Pawno nicht seperat downloaden.
Nimm die Version, die von SAMP aus mitgeliefert wird.
Und dann poste mal den server_log ![]()
Na einfach unter cache_get_row_count das abfragen:
if(rows == 0) return SendClientMessage(playerid,-1,"Fehler: Aktuell gibt es keine Helfer!");
Du hast doch jetzt genug Beispiele und weißt wie das funktioniert.
Was genau willst du denn wissen, du musst schon präzise fragen und am Besten deinen Code zeigen, den du schon hast.
Soll ich das in das AdminList Public machen oder ein einges
Natürlich ein eigenes...
Wie kann ich es machen, dass wen kein Helfer exisitert ne Fehlermeldung kommt im chat?
Wenn keiner in der Datenbank steht?
Dann einfach rows prüfen, ob der Wert 0 ist, dann kannst du eine Fehlermeldung ausgeben.
Könnte man das auch verkürzen mit folgendem irgendwie?
Nein, da du dort ja auch Farb-Codes angibst und die Funktion auf pAdmin zurückgreift.
Klar du könntest das alles umorganisieren, dass du das alles in eine Funktion quetschst...aber ist das notwendig?
Dann müsstest du die Farb-Codes ja seperat haben etc.
Also das jetzt an 2 Stellen zu haben, ist jetzt nicht schlimm, zumal sich da vermutlich ja eh nichts ändern wird, mit der Bezeichnung der Namen.
und zwar so lange bis sie voll ist
Ja du hast zu schnell kopiert, hatte noch was editiert... xD
Ah ja, hab den Fehler gefunden, schreibs so:
forward AdminList(playerid);
public AdminList(playerid)
{
static const rang_namen[][] = {"Spieler", "Helfer", "Probe Supporter", "Supporter", "Administration", "Developer", "{00a4b3}Managment", "{FF0000}Projektleitung"};
new rows;
cache_get_row_count(rows);
const MAX_ADMINS = 15;
new table[MAX_ADMINS][2], admins[MAX_ADMINS][MAX_PLAYER_NAME];
for(new i; i<rows; i++)
{
cache_get_value_name_int(i, "Admin", table[i][0]);
cache_get_value_name(i, "Name", admins[i]);
table[i][1] = i;
}
SortDeepArray(table, 0);
new string[(MAX_PLAYER_NAME+25)*MAX_ADMINS] = "Rang\tName\tOnlinestatus";
for(new i=MAX_ADMINS-1,idx,r,status[32]; i!=-1; i--)
{
r = table[i][0], idx = table[i][1];
if(r == 0) continue;
GetPlayerStatus(admins[idx], status);
format(string,sizeof(string),"%s\n%s\t%s\t%s",string,rang_namen[r],admins[idx],status);
}
ShowPlayerDialog(playerid, 8, DIALOG_STYLE_TABLIST_HEADERS, "ARP Team",string,"Okay","");
return 1;
}
Alles anzeigen
...sehr komisch.
Mach mal n Debug:
forward AdminList(playerid);
public AdminList(playerid)
{
static const rang_namen[][] = {"Spieler", "Helfer", "Probe Supporter", "Supporter", "Administration", "Developer", "{00a4b3}Managment", "{FF0000}Projektleitung"};
new rows;
cache_get_row_count(rows);
const MAX_ADMINS = 15;
new table[MAX_ADMINS][2], admins[MAX_ADMINS][MAX_PLAYER_NAME];
for(new i; i<rows; i++)
{
cache_get_value_name_int(i, "Admin", table[i][0]);
cache_get_value_name(i, "Name", admins[i]);
table[i][1] = i;
}
//Debug
print("DEBUG: BEFORE");
for(new i; i<rows; i++)
{
printf("%d - %d|%d - %s",i,table[i][0],table[i][1],admins[i]);
}
SortDeepArray(table, 0);
//Debug
print("DEBUG: AFTER");
for(new i; i<rows; i++)
{
printf("%d - %d|%d - %s",i,table[i][0],table[i][1],admins[i]);
}
new string[(MAX_PLAYER_NAME+25)*MAX_ADMINS] = "Rang\tName\tOnlinestatus";
for(new i=rows-1,idx,r,status[32]; i!=-1; i--)
{
r = table[i][0], idx = table[i][1];
GetPlayerStatus(admins[idx], status);
format(string,sizeof(string),"%s\n%s\t%s\t%s",string,rang_namen[r],admins[idx],status);
}
ShowPlayerDialog(playerid, 8, DIALOG_STYLE_TABLIST_HEADERS, "ARP Team",string,"Okay","");
return 1;
}
Alles anzeigen
und dann poste mal, was im Log steht.
Okay...interessant.
Hmm schreibs so:
forward AdminList(playerid);
public AdminList(playerid)
{
static const rang_namen[][] = {"Spieler", "Helfer", "Probe Supporter", "Supporter", "Administration", "Developer", "{00a4b3}Managment", "{FF0000}Projektleitung"};
new rows;
cache_get_row_count(rows);
const MAX_ADMINS = 15;
new table[MAX_ADMINS][2], admins[MAX_ADMINS][MAX_PLAYER_NAME];
for(new i; i<rows; i++)
{
cache_get_value_name_int(i, "Admin", table[i][0]);
cache_get_value_name(i, "Name", admins[i]);
table[i][1] = i;
}
SortDeepArray(table, 0);
new string[(MAX_PLAYER_NAME+25)*MAX_ADMINS] = "Rang\tName\tOnlinestatus";
for(new i=rows-1,idx,r,status[32]; i!=-1; i--)
{
r = table[i][0], idx = table[i][1];
GetPlayerStatus(admins[idx], status);
format(string,sizeof(string),"%s\n%s\t%s\t%s",string,rang_namen[r],admins[idx],status);
}
ShowPlayerDialog(playerid, 8, DIALOG_STYLE_TABLIST_HEADERS, "ARP Team",string,"Okay","");
return 1;
}
Alles anzeigen