Sollen ihm nur die angezeigt werden von Spielern, die gerade online sind?
Nochmal zu dieser Frage, soll das so sein?
Denn dein aktuelles System funktioniert nur so.
Sollen ihm nur die angezeigt werden von Spielern, die gerade online sind?
Nochmal zu dieser Frage, soll das so sein?
Denn dein aktuelles System funktioniert nur so.
ich hab mir das so gedacht das wenn Spieler 1 einen Report schreibt das eine 1.txt erstellt wird und das selbe bei Spieler 2 und 3 diese werden dann ingame angezeigt. Wenn Spieler 2 z.B. einen zweiten Report schreibt soll der erste von ihm „überschrieben“ werden.
Dann wäre es logischer, die Datei nach dem Spieler zu benennen, so weißt du direkt, von wem sie ist, und ob bereits ein Report von dem Spieler existiert.
Das Dumme ist nur, dass nativ in SAMP keine Schleife durch das Dateisystem möglich ist. Dafür bräuchtest du ein Plugin, wie https://github.com/JaTochNietDan/SA-MP-FileManager
Aber grundsätzlich ist eher davon abzuraten, da das sehr ineffizient ist.
ocmd:showreport(playerid,params[])
{
if(PlayerInfo[playerid][pEingeloggt] < 1 ) return SendClientMessage(playerid,Rot,"Du kannst diesen Befehl nicht nutzen, weil du nicht eingeloggt bist.");
if(PlayerInfo[playerid][pAdminlevel] < 1)return SendClientMessage(playerid,Grau,"Du bist nicht befugt, diesen Befehl zu nutzen!");
const MAX_REPORTS = 15;
new string[MAX_REPORTS * MAX_PLAYER_NAME], dir:dHandle = dir_open("./"), item[40], type, i;
while(dir_list(dHandle, item, type))
{
if(type != FM_FILE) continue;
strcat(string, item), strcat(string, "\n");
if(++i >= MAX_REPORTS) break;
}
dir_close(dHandle);
ShowPlayerDialog(playerid,DIALOG_SHOWREPORT,DIALOG_STYLE_LIST,"Reportsystem",string,"Schließen","");
return 1;
}
Alles anzeigen
Das zeigt dir z.B. die ersten 15 reports. Ein Seitensystem ist hier auch bissl kniffliger. Am Besten wäre es wohl das in eine Funktion auszulagern und n Start Parameter festzulegen.
Wenn jetzt eine Datei ausgewählt wird, dann steht im "inputtext" der Dateiname. Dann kannst du einfach mit fread diese auslesen und anzeigen
Ist nicht so leicht, da du das versuchst über das Dateisystem zu machen, anstatt über ein Datenbanksystem, wie MySQL.
Aber trotzdem habe ich noch Fragen, wie du dir das vorstellst.
PS: Denk ggfs über ein Anti-Spam System nach (sowas wie man kann nur jede Stunde einen Report machen o.ä.). Denn mit einem Keybinder, könnte man deinen Server binnen Stunden so zuspammen, dass da gar nichts mehr geht xD Und ja, so Trolle gibts leider wirklich 🤡
Und zwar werden Umlaute wie ä, ö, ü als Fragezeichen oder andere komische Zeichen anerkannt.
Ja, das ist doof.
Arbeitest du mit einem Versionierungssystem wie git o.ä.?
Das ist definitiv zu empfehlen, denn das passiert bei den Editoren öfters, dass das Encoding kaputt geht (rede hier von Sublime, qawno, VS-Code...), das liegt daran, dass die das alle in UTF-8 wollen, aber good old pawn das in ANSI will
Also mit Notepad++ kannst du das am Einfachsten beheben, da klickst du oben auf Encoding und dann Convert To Ansi...
Wenn es das nicht wiederherstellt, RIP
strotzen vor Hass, Hetze und Beleidigungen
Welch Ironie deinem Beitrag inne wohnt.
Wenn du sehen magst, was richtige Hetze ist, empfehle ich mal hier ein paar Zitate zu lesen: Afd-Verbot.de
Du kannst eigene Objekte importieren.
Aber ich bin kein Fan von. Theoretisch kann so auch Schadcode übermittelt werden (gab da bereits einige Fälle).
Ein Mehrfamilienhaus aus 1970, Sanier- und Renovierbedürftig mit 8 Wohnungen 3 Balkonen einem Garten und einer Garage? Sie möchte 450 tausend dafür haben?
Das n richtig gutes Angebot. 8 Wohnungen für 450k, das sind gerade mal 56k für eine Wohnung, das ist insane.
Besonders, wenn man bedenkt, dass die ja vermietet sind, musst halt die Mietverträge checken, aber da hast du auf jeden Fall schonmal Cashflow.
Wichtig ist auch erstmal nochmal wen beauftragen für ein Gutachten, falls doch irgendwo Schimmel ist oder radioaktives Gas (Radon) im Keller o.ä.
um selbst erstmal nen Webspace zu finanzieren
Okay, der hat mich bekommen
Ja wunderbar, dann war es ja einfacher als Gedacht
Dann kannst das print Statement wieder entfernen xD
Ja, das ist der Alte Code, schau mal was ich geschrieben hatte und vergiss nicht das print-Statement
Wie sieht denn der Code jetzt aus...
Lösch den oberen Abschnitt und pass den unteren so an, wie ich es geschrieben hatte...
und pawn
Wie sieht denn jetzt der Code aus?!
Kannst du davon einen Screenshot machen? Am Besten so, dass man auch wirklich die Column-Names sieht.
format(weaponstring,sizeof(weaponstring),"Waffe%i",i);
cache_get_value_name_int(0, weaponstring, PlayerInfo[playerid][pGun][i]);
format(weaponstring,sizeof(weaponstring),"Munition%i",i);
cache_get_value_name_int(0, weaponstring, PlayerInfo[playerid][pAmmo][i]);
Schreib das mal so, das anderes macht keinen Sinn. und darunter nochmal das printf
Wie steht es denn in der Datenbank, gibt es da die Felder Waffe1,Waffe2 etc mit den Ammo Feldern und da steht wirklich was drinnen?!
for(new i=1;i<10;i++)//waffenslots
{
format(weaponstring,sizeof(weaponstring),"Waffe%i",i);
cache_get_value_name_int(0, PlayerInfo[playerid][pGun][i], PlayerInfo[playerid][pGun][i]);
format(weaponstring,sizeof(weaponstring),"Munition%i",i);
cache_get_value_name_int(0, weaponstring, PlayerInfo[playerid][pAmmo][i]);
}
So, da hast du die Waffen Sachen, dann mach doch mal ein printf("%d|%d",PlayerInfo[playerid][pGun][i], PlayerInfo[playerid][pAmmo][i]); darunter und zeig mal, was da so drinnen steht
Musst natürlich noch uns mitteilen, was für Werte bei den prints rauskamen für die Waffen und wo setzt n dann GivePlayerWeapon?
</MRX> ohne Code kann ich schlecht helfen.
Postet hier ggfs die Lade Funktion.
Gerne auch mit Lade Query und prints, was da so ankommt
Kann dir generell nur empfehlen nicht mehr den alten Compiler zu nutzen, also den hier zu nutzen: https://github.com/pawn-lang/compiler/releases
Dass die Input-Line too long ist, war generell ein Bug vom alten Compiler, oft ist er ja auch einfach gecrasht 😅
Alternativ einfach mit strcat arbeiten, verstehe nicht, wieso das nicht gehen sollte?
new query[512];
strcat(query, "CREATE TABLE IF NOT EXISTS `"#SERVERTAG"_gangwar` (`GangZoneID` int(3) NOT NULL,`GangWarZoneOwner` int(5) NOT NULL, `GangWarZoneAttacker` int(5) NOT NULL DEFAULT '0',`War_OwnerPoints` int(4) NOT NULL,`War_AttackerPoints` int(4) NOT NULL,");
strcat(query, "`War_Started` int(2) NOT NULL,`War_Time` int(12) NOT NULL,`War_Sperre` int(20) NOT NULL,PRIMARY KEY (`GangZoneID`))");
mysql_tquery(MySqlConnection,query,"","");
Ist auf jeden Fall kein triviales Projekt, was man unterschätzen sollte.
Die Vorschläge von DialogHD sind schon nicht schlecht.
Was ich noch in den Raum werfen kann wäre: https://github.com/LeonLok/Multi-Camera-Live-Object-Tracking
Aber da ist natürlich noch eine große Eigenleistung von Nöten, um verschiedene Technologien hier zu kombinieren und das zusammenzuführen.
Demo Systeme kannst du einfach über Google-Colab kostenfrei aufsetzen und mal etwas mit rumspielen
Ich glaube man kann dich besser unterstützen, wenn wir wirklich mal paar Beispiel-Input Daten und ein erwünschtes Output Ergebnis hätten