Print:
Ingame:
Datenbank:
Er zeigt nur den Letzen Eintrag an!
Print:
Ingame:
Datenbank:
Er zeigt nur den Letzen Eintrag an!
Also so klappt es nicht!
while(mysql_fetch_row_format(row_data)){mysql_fetch_field_row(tmp_var[0], "Name"), mysql_fetch_field_row(tmp_var[1], "IP");}
format(string, sizeof(string), "Name: %s | IP: %s\n%s", tmp_var[0], tmp_var[1], string);
Er zeigt nur einen an!
Guten Tag,
Mein Name lautet CIBERKILLER.
Und zwar bräuchte ich mal einen Hinweis/Tipp wie man mit MySQL R5 eine Liste von Rows machen kann, anschließend Daten von diesem Row herausgeben kann.
Aktuell ist meine Whitelist (Whitelist anschauhen für Projektleiter) so aufgebaut:
case 0:
{
mysql_query("SELECT * FROM `Whitelist`");
mysql_store_result();
rows=mysql_num_rows();
if(!rows){ShowPlayerDialog(playerid, DIALOG_WHITELIST_LISTED, DIALOG_STYLE_MSGBOX, "{0055FF}Weise Liste", "{FFFFFF}Aktuell sind keine Spieler auf der Weißen Liste!", "Schließen", "");}
else if(rows>0)
{
new tmp_var[2][24], string[sizeof(rows)*60];
for(new i;i<rows;i++)
{
if(i==INVALID_PLAYER_ID)continue;
if(sStats[i][Eingeloggt]==0)continue;
if(IsPlayerNPC(i))continue;
if(sStats[i][sWhitelist]!=true)continue;
format(tmp_var[0], 24, "%s", mysql_GetString("Whitelist", "Name", "IP", GetIP(i)));
format(tmp_var[1], 24, "%s", mysql_GetString("Whitelist", "IP", "Name", GetName(i)));
format(string, sizeof(string), "Name: %s | IP: %s\n%s", tmp_var[0], tmp_var[1], string);
}
ShowPlayerDialog(playerid, DIALOG_WHITELIST_LISTED, DIALOG_STYLE_LIST, "{0055FF}Weise Liste", string, "Schließen", "");
}
mysql_free_result();
}
Wenn ein Spieler Online ist, wird er angezeigt, es muss einen IP Eintrag machen.
Wenn er Online ist und alle Informationen vorhanden sind, dann wird er einwandfrei angezeigt!
Das ganze ist mit mysql_getint geregelt, dabei wollte ich auchmal fragen, wie ich das auslesen in der for schleife einfach machen kann!
Whitelist:
Er soll alle Rows + Infos anzeigen
Mit freundlichen Grüßen,
CIBERKILLER
Ich bin Persöhnlich Favourit vom Tacho 4
Bist du doof?
Es ist ja auch 0 Uhr
Oh mann bin ich bescheurt hahahahaha
Da kann ich nicht mal auf die Uhr schauen! Danke für den Hinweis xD
Guten Abend,
Mein Name lautet CIBERKILLER.
Und zwar bräuchte ich mal eure Hilfe.
Bei diesem Quellcode:
//Updateclock
@Updateuhr(); @Updateuhr(){
new string[23];
gettime(hour, minute, second); getdate(year, month, day);
format(string, sizeof(string), "%i:%i", hour, minute), TextDrawSetString(Textdraw[11], string);
format(string, sizeof(string), "%i.%i.%i", day, month, year), TextDrawSetString(Textdraw[12], string);
return 1;
}
Sollte der alles angeben, Stunde ,Minuten Tag, Monat,Jahr
Ingame Screen:
Es wird alles auser Hour ausgegeben, habe das auch printen lassen (0 kam raus!)
Mit freundlichen Grüßen,
CIBERKILLER
Nein, die Funktion um die Verbindung zu trennen. Welches Plugin verwendest du denn?
Ich glaube er verwenden >30, musst mal seine Beiträge anschauen!
@Mozilla
Wenn ich aktiv mappe, dann wird das ein riesige Map, dann ist dann wd so eine richtig verplüfende Map
Naja weis nicht ob ich die lust zum mappen habe, da ich mehr ausf Skripten spezialisiert bin
Ideen für die Befehlsnamen (z.B /cuff) und system für das SAPD
Guten Tag,
Mein Name ist CIBERKILLER.
Es ist soweit, ich kümmere mich nun um das FraktionsSystem für mein Selfmade Script.
Und zwar fange ich da gleich mal mit SAPD an.
Ich bräuchte desbezüglich mal ein paar Ideen.
Und zwar was ich dazu mappen könnte, solle ich eine Map aus dem Internet nehmen, was aber nicht so viele haben.
Was für befehlsnamen, systeme für sapd.
Bräuchte umbedingt Ideen!
Mit freundlichen Grüßen,
CIBERKILLER.
Er hatte auch 300 ...(Mein Ping aufm TS) Bitte lass diese Kommentare auch wenn nichts schlimm an ihnen sind.
Bitte kappiere es
@Stewart_Godwin
Bist du dir Sicher das du nochmal einen dummen kommentar abgeben musst
Ich habe eine 32.000 leitung habe meistens ig 23
So leute nun hat sich der Gameserver ganz gut geschlagen, mein Ping (von mir & server) ging dieses mal auf 70 (auch 300 wurde aber nicht gezeigt). Nur das komische ist wieso geht denn mein Internet Ping und der Serverping hoch!
Video:
Ich habe nicht alles gezeigt, das ging dann noch viel höher!
Ach nicht zu vergessen, der ping danach:
Das mache ich aber nicht, der läuft über einen Linux VServer
@Unbekannter Soldat
Ich möchte den gerne so "byte" ziehend lassen.
Kann aber gleich ein kleines Video aufnehmen
Guten Abend,
Mein Name lautet CIBERKILLER.
Da ich das überraschen finde, möchte ich diese Entdeckung mit euch teilen.
Und zwar habe ich einen unsauberen Quellcode in meinem Gamemode.
Dieser führt jede 4,5 Sekunden 5 Querys aus. Und füllt gleichzeitig 5 Variablen sowie 3 RCON - Commands.
Dazu kam es das mein Ping von 20 auf 350 anstieg. (Serverping auch, aber ich hatte in jedem ts, auch welche die garnichts mit dem Server zutunen hatten einen hohen ping)
Ich denke diese entdeckung hat noch niemand gemacht
Wegen einem Gameserver steigt der Ping an sich selber an!
Nach dem ich den samp03svr Prozess killte war wd alles <20
Mit freundlichen Grüßen,
CIBERKILLER
kleiner tipp es wird aufgerufen...
test wird geprintet, und so wie dus hast möchte ich es nicht, da er dann alles ändert aber keine veränderung da ist:
new query[48];
format(query,sizeof(query),"SELECT `Servername` FROM `Einstellungen` WHERE 1"), mysql_query(query),
mysql_store_result(),
mysql_fetch_row(query),
mysql_free_result();
if(strlen(query) != 0 && STimer == 255){
STimer=SetTimer("@UpdateServerSettings", 4500, true);
}
else STimer=255;
Wo genau bleibt dann der Sinn der PlayerTextDraws?
Arbeiten doch dann genau so wie die normalen.
Danke.
Naja, das kann du dann z.B für eine Playerausgabe benutzen was nur der Spieler selbst sehen soll.
Wenn es ein Globales TD wäre und darin daten ausgegeben werden, sagen wir TextDrawSetString. Dann wird das für jeden angezeigt der das Textdraw bereits sieht. Sollte aber nicht so sein,von daher haben die PlayTextDraw schon ihren sinn
Ich habe in der Tabelle Einstellungen nur ein Row(Zeile).
Hör zu das System ist so aufgebaut:
Es wird alles ausgelesen was in der Datenbank steht und einem string zugewiesen.
Enspricht der der Hostname, frisch ausgelesen nicht mit dem String Server[0] überein, soll sich das ganze updaten.
Hier mal der Dialog an sich!
if(dialogid == DIALOG_SEINTELLUNGEN)
{
if(!response)return 1;
//Servername: %s\nServerversion: %s\nServerrelease: %s\nServerkarte: %s\nServermode: %s\nSpieler: %i/%i\nWhitelist: %s
switch(listitem)
{
case 0:ShowPlayerDialog(playerid, DIALOG_SEINSTELLUNGEN_HOST, DIALOG_STYLE_INPUT, ".:Servername ändern:.", "{FFFFFF}Gebe nun den neuen Servernamen ein!", "Einstellen", "");
case 1:ShowPlayerDialog(playerid, DIALOG_SEINSTELLUNGEN_VERS, DIALOG_STYLE_INPUT, ".:Serverversion ändern:.", "{FFFFFF}Gebe nun die neue Serverversion ein!", "Einstellen", "");
case 2:ShowPlayerDialog(playerid, DIALOG_SEINSTELLUNGEN_REAL, DIALOG_STYLE_INPUT, ".:Serverrelease ändern:.", "{FFFFFF}Gebe nun den neuen Serverrelease ein!", "Einstellen", "");
case 3:ShowPlayerDialog(playerid, DIALOG_SEINSTELLUNGEN_MAPS, DIALOG_STYLE_INPUT, ".:Serverkarte ändern:.", "{FFFFFF}Gebe nun die neue Serverkarte an!", "Einstellen", "");
case 4:ShowPlayerDialog(playerid, DIALOG_SEINSTELLUNGEN_MODE, DIALOG_STYLE_INPUT, ".:Servermode ändern:.", "{FFFFFF}Gebe nun den neuen Servermode ein!", "Einstellen", "");
case 6:ShowPlayerDialog(playerid, DIALOG_SEINSTELLUNGEN_WHIT, DIALOG_STYLE_MSGBOX, ".:Serverwhitelist ändern:.", "{FFFFFF}Gebe nun ob die Whitelist vom Server aktiviert sein soll!", "Aktiviert", "Deaktiviert");
}
}
if(dialogid == DIALOG_SEINSTELLUNGEN_HOST)
{
if(!response)return 1;
if(!strlen(inputtext))return 1;
mysql_real_escape_string(inputtext, inputtext);
new string[60], query[65];
format(query,sizeof(query),"UPDATE `Einstellungen` SET `Servername`='%s' WHERE 1", inputtext);
mysql_query(query);
ClearChat(playerid), PlayerPlaySound(playerid, 1139, 0.0, 0.0, 0.0);
format(string,sizeof(string), "Du hast den Servername auf [%s] umgestellt.", inputtext);
SendClientMessage(playerid, Weis, string);
}
if(dialogid == DIALOG_SEINSTELLUNGEN_VERS)
{
if(!response)return 1;
if(!strlen(inputtext))return 1;
mysql_real_escape_string(inputtext, inputtext);
new string[60], query[65];
format(query,sizeof(query),"UPDATE `Einstellungen` SET `Serverversion`='%s' WHERE 1", inputtext);
mysql_query(query);
ClearChat(playerid), PlayerPlaySound(playerid, 1139, 0.0, 0.0, 0.0);
format(string,sizeof(string), "Du hast die Serverversion auf [%s] umgestellt.", inputtext);
SendClientMessage(playerid, Weis, string);
}
if(dialogid == DIALOG_SEINSTELLUNGEN_REAL)
{
if(!response)return 1;
if(!strlen(inputtext))return 1;
mysql_real_escape_string(inputtext, inputtext);
new string[60], query[65];
format(query,sizeof(query),"UPDATE `Einstellungen` SET `Serverrelease`='%s' WHERE 1", inputtext);
mysql_query(query);
ClearChat(playerid), PlayerPlaySound(playerid, 1139, 0.0, 0.0, 0.0);
format(string,sizeof(string), "Du hast den Serverrelease auf [%s] umgestellt.", inputtext);
SendClientMessage(playerid, Weis, string);
}
if(dialogid == DIALOG_SEINSTELLUNGEN_MAPS)
{
if(!response)return 1;
if(!strlen(inputtext))return 1;
mysql_real_escape_string(inputtext, inputtext);
new string[60], query[65];
format(query,sizeof(query),"UPDATE `Einstellungen` SET `Serverkarte`='%s' WHERE 1", inputtext);
mysql_query(query);
ClearChat(playerid), PlayerPlaySound(playerid, 1139, 0.0, 0.0, 0.0);
format(string,sizeof(string), "Du hast die Serverkarte auf [%s] umgestellt.", inputtext);
SendClientMessage(playerid, Weis, string);
}
if(dialogid == DIALOG_SEINSTELLUNGEN_MODE)
{
if(!response)return 1;
if(!strlen(inputtext))return 1;
mysql_real_escape_string(inputtext, inputtext);
new string[60], query[65];
format(query,sizeof(query),"UPDATE `Einstellungen` SET `Servermode`='%s' WHERE 1", inputtext);
mysql_query(query);
ClearChat(playerid), PlayerPlaySound(playerid, 1139, 0.0, 0.0, 0.0);
format(string,sizeof(string), "Du hast die Servermode auf [%s] umgestellt.", inputtext);
SendClientMessage(playerid, Weis, string);
}
if(dialogid == DIALOG_SEINSTELLUNGEN_WHIT)
{
new query[65];
format(query,sizeof(query),"UPDATE `Einstellungen` SET `Whitelist`=%i WHERE 1", response);
mysql_query(query);
ClearChat(playerid), PlayerPlaySound(playerid, 1139, 0.0, 0.0, 0.0);
switch(response)
{
case 0:SendClientMessage(playerid,Weis,"Du hast die Whitelist Deaktiviert.");
case 1:SendClientMessage(playerid,Weis,"Du hast die Whitelist Aktiviert.");
}
}
Guten Tag,
Mein Name lautet CIBERKILLER.
Und zwar brauche ich mal eure Hilfe.
Ich habe ein Dynamisches Konfigurationssystem in meinem Gamemode integriert.
Es wird alles aus der Datenbank ausgelesen, aber es steht nichts im Dialog und der z.B Servername wird auch nicht gesetzt!
Quellcode:
@UpdateServerSettings(); @UpdateServerSettings(){
print("test");
new tmp_var[100][100], str[100];
mysql_query("SELECT * FROM `Einstellungen` WHERE 1");
mysql_store_result();
while(mysql_retrieve_row())
{
mysql_fetch_field_row(tmp_var[0], "Servername");
mysql_fetch_field_row(tmp_var[1], "Serverversion");
mysql_fetch_field_row(tmp_var[2], "Serverrelease");
mysql_fetch_field_row(tmp_var[3], "Serverkarte");
mysql_fetch_field_row(tmp_var[4], "Servermode");
}
if(strcmp(tmp_var[1], Server[1], false)){
format(Server[1], 100, "%s", tmp_var[1]);
}
if(strcmp(tmp_var[2], Server[2], false)){
format(Server[2], 100, "%s", tmp_var[2]);
}
if(strcmp(tmp_var[0], Server[0], false)){
format(Server[0], 100, "%s %s%s ", tmp_var[0], tmp_var[1], tmp_var[2]);
format(str, 100, "hostname %s", Server[0]), SendRconCommand(str);
}
if(strcmp(tmp_var[3], Server[3], false)){
format(Server[3], 100, "%s", tmp_var[3]);
format(str, 100, "mapname %s", Server[3]), SendRconCommand(str);
}
if(strcmp(tmp_var[4], Server[4], false)){
format(Server[4], 100, "%s", tmp_var[4]);
format(str, 100, "gamemodetext %s", Server[4]), SendRconCommand(str);
}
mysql_free_result();
}
command(seinstellungen, playerid, params[])
{
if(sStats[playerid][Eingeloggt]==0)return SendClientMessage(playerid, Rot, "Du bist nicht Eingeloggt!");
if(sStats[playerid][sADuty] == 0)return SendClientMessage(playerid, Rot, "Du bist nicht im Dienst!");
if(sStats[playerid][sAdmin] < 7)return SendClientMessage(playerid, Rot, "Du bist entweder kein Administrator oder dein Rang ist zu niedrig!");
new count[2], str[12], result, string[150]; count[0] = GetPlayers(), count[1] = GetServerVarAsInt("maxplayers");
mysql_query("SELECT `Whitelist` FROM `Einstellungen`");
mysql_store_result();
result=mysql_fetch_int();
mysql_free_result();
if(!result){str="Deaktiviert";} else str="Aktiviert";
format(string, sizeof(string), "Servername: %s\nServerversion: %s\nServerrelease: %s\nServerkarte: %s\nServermode: %s\nSpieler: %i/%i\nWhitelist: %s", Server[0], Server[1], Server[2], Server[3], Server[4], count[0], count[1], str);
ShowPlayerDialog(playerid, DIALOG_SEINTELLUNGEN, DIALOG_STYLE_LIST, ".:Server Einstellungen:.", string, "Auswählen", "Schließen");
return 1;
}
Whitelist Funktioniert einwandfrei!
Ich lass die Variable so erstellen!
new Server[10][100];
Mit freundlichen Grüßen,
CIBERKILLER
Also ich sehe in diesem Quellcode kein Klammerfehler!
Naja für was verwendest du denn meistens sscanf ?
Such mal mit strg + f nach sscanf_...in jedem Include was includiert ist!