Macht doch eine Umfrage hier im Forum das ist viel Effektiver habe auch schin eine gehabt weil ich nicht wusste wie ich ein/Ausgänge machen sollte.
Beiträge von reaL.
-
-
@Kaliber:
Ich klicke ja auf den Namen und dann wird ja die Bugmeldung angezeigt und da will ich das dann auch löschen lassen aus der datei. -
C
Alles anzeigennew File:f = fopen("logs/Bugreports.txt",io_read); if(!f) return 1; //Keine Berechtigung const rows = 10; //Wie viele Namen du angezeigt bekommen möchtest new buffer[256],tmp[128],stack[MAX_PLAYER_NAME*rows],x,y,counter,n[16]; while(fread(f, buffer)) { x = strfind(buffer,"]"), y = strfind(buffer,":",false,x); strmid(tmp,buffer,x+1,y,sizeof(tmp)); strcat(tmp,"\n"),strcat(stack, tmp); strmid(tmp,buffer,y+2,strlen(buffer),sizeof(tmp)); format(n,sizeof(n),"bug_%d",counter++); SetPVarString(playerid,n,tmp); } SetPVarInt(playerid,"bug_length",counter); fclose(f); ShowPlayerDialog(playerid,DIALOG_BUSREPORTS,DIALOG_STYLE_LIST,"Log",stack,"Bestätigen",""); //Und dann unter OnDialogResponse if(dialogid == DIALOG_BUSREPORTS) { if(!response) return DeleteBugCache(playerid); new string[128],n[16]; format(n,sizeof(n),"bug_%d",listitem); GetPVarString(playerid,n,string,sizeof(string)); ShowPlayerDialog(playerid,999,DIALOG_STYLE_MSGBOX,"Log",string,"Bestätigen",""); DeleteBugCache(playerid); return 1; } //Und unten ganz wichtig: stock DeleteBugCache(playerid) { new max=GetPVarInt(playerid,"bug_length"); for(new i,n[16]; i<max; i++) { format(n,sizeof(n),"bug_%d",i); DeletePVar(playerid, n); } DeletePVar(playerid,"bug_length"); return 1; }
Ich habe es so Probiert funktioniert wunderbar bis auf das Löschen ich klicke drauf aber es wird nicht gelöscht.
-
Ok mache ich gleich
Aber ich würde die auch gerne nach ein serverrestart behalten -
@Kaliber:
Ich hatte ja gefragt wie das geht dass ich mir die Bugreports anzeigen lasse da hattest du mir Geholfen ( voherige seite ).
Doch da wird die Ganze zeile Ausgegen aber ich will in dem Dialog dann nur die namen stehen habem wie z.b wemn 3 leute ein Bug gemeldet haben dann soll der Dialog so aussehen
Spieler x
Spieler y
Spieler zWenn ich dann auf spieler x drücke soll doe Ganze nachricht ausgegeben werden ist das realisierbar ?
Die bugmeldungen werden dort gespeichert
"logs/Bugreports.txt" -
@Kaliber:
Test und test2 sind die Nachrichten die Gespeichert werden. -
@Kaliber:
Das Funktioniert Super Dankeschön aber wie kann ich das machen das in dem Dialog nur der Name steht und wenn man draufklickt die Nachricht kommt die er gesendet hat und dann der eintrag Gelöscht wird ?So sieht die Datei aus
-
Hey, ich habe mal eine frage wie kann ich meine Datei in der ich meine Bugreports Speichere auslesen und in ein Dialog wiedergeben ?
So sieht sie aus
[04.12.2016 14:31:04]reaL.: Test
[04.12.2016 14:33:56]reaL.: Test2 -
-
Hey wie es die überschrift schon verrät Verkaufe ich meine M4A4 Poseidon Einsatzerprobt.
Preis: Vhb 95€
Zahlungsart: Paypal,Sofortüberweisung
-
Habe es nun so aber es kommt jetze ( wenn ich kein Haus habe )Der Spieler hat bereits ein Haus.
Code
Alles anzeigenocmd:givhouse(playerid,params[]) { if(pInfo[playerid][pLoggin] == false) return 1; if(!GetPlayerAdmin(playerid,5)) return SendAdminError(playerid); new Hausid,pID,string[128]; if(sscanf(params, "ud",pID,Hausid)) return SendClientMessage(playerid,ROT,"Benutze: {D6D6D6}/givhaus [Playerid/Name] [Hausid]"); if(HatEinHaus(pID)) return SendClientMessage(playerid,ROT,"Der Spieler hat schon ein Haus."); for(new i=0; i<MAX_HOUSE; i++) { if(hInfo[i][h_ID] == Hausid) { if(!IsPlayerInRangeOfPoint(playerid,2.5,hInfo[i][h_x],hInfo[i][h_y],hInfo[i][h_z])) return SendClientMessage(playerid,ROT,"Du bist nicht an dem Haus."); format(hInfo[i][h_besitzer],40,"%s",getPlayerName(pID)); hInfo[i][h_besetzt] = 1; UpdateHaus(i); format(string,sizeof(string),"Du hast %s [%d] das Haus mit der Hausid %d gegeben.",getPlayerName(pID),pID,Hausid); SendClientMessage(playerid,ROT,string), format(string,sizeof(string),"%s [%d] hat dir das Haus mit der Hausid %d gegeben.",getPlayerName(playerid),playerid,Hausid); SendClientMessage(pID,ROT,string); return 1; } } return 1; }
Brauche immernoch Hilfe
-
Drehe in der Funktion HatEinHaus das return 1 und return 0 um.
Habe es nun so aber es kommt jetze ( wenn ich kein Haus habe )
Der Spieler hat bereits ein Haus.Code
Alles anzeigenocmd:givhouse(playerid,params[]) { if(pInfo[playerid][pLoggin] == false) return 1; if(!GetPlayerAdmin(playerid,5)) return SendAdminError(playerid); new Hausid,pID,string[128]; if(sscanf(params, "ud",pID,Hausid)) return SendClientMessage(playerid,ROT,"Benutze: {D6D6D6}/givhaus [Playerid/Name] [Hausid]"); if(HatEinHaus(pID)) return SendClientMessage(playerid,ROT,"Der Spieler hat schon ein Haus."); for(new i=0; i<MAX_HOUSE; i++) { if(hInfo[i][h_ID] == Hausid) { if(!IsPlayerInRangeOfPoint(playerid,2.5,hInfo[i][h_x],hInfo[i][h_y],hInfo[i][h_z])) return SendClientMessage(playerid,ROT,"Du bist nicht an dem Haus."); format(hInfo[i][h_besitzer],40,"%s",getPlayerName(pID)); hInfo[i][h_besetzt] = 1; UpdateHaus(i); format(string,sizeof(string),"Du hast %s [%d] das Haus mit der Hausid %d gegeben.",getPlayerName(pID),pID,Hausid); SendClientMessage(playerid,ROT,string), format(string,sizeof(string),"%s [%d] hat dir das Haus mit der Hausid %d gegeben.",getPlayerName(playerid),playerid,Hausid); SendClientMessage(pID,ROT,string); return 1; } } return 1; }
-
Hey ich habe das Problem das er mir immer das Haus gibt obwohl ich ein Haus habe ?
Code
Alles anzeigenocmd:givhouse(playerid,params[]) { if(pInfo[playerid][pLoggin] == false) return 1; if(!GetPlayerAdmin(playerid,5)) return SendAdminError(playerid); new Hausid,pID,string[128]; if(sscanf(params, "ud",pID,Hausid)) return SendClientMessage(playerid,ROT,"Benutze: {D6D6D6}/givhaus [Playerid/Name] [Hausid]"); if(HatEinHaus(pID)) return SendClientMessage(playerid,ROT,"Der Spieler hat schon ein Haus."); for(new i=0; i<MAX_HOUSE; i++) { if(hInfo[i][h_ID] == Hausid) { if(!IsPlayerInRangeOfPoint(playerid,2.5,hInfo[i][h_x],hInfo[i][h_y],hInfo[i][h_z])) return SendClientMessage(playerid,ROT,"Du bist nicht an dem Haus."); format(hInfo[i][h_besitzer],40,"%s",getPlayerName(pID)); hInfo[i][h_besetzt] = 1; UpdateHaus(i); format(string,sizeof(string),"Du hast %s [%d] das Haus mit der Hausid %d gegeben.",getPlayerName(pID),pID,Hausid); SendClientMessage(playerid,ROT,string), format(string,sizeof(string),"%s [%d] hat dir das Haus mit der Hausid %d gegeben.",getPlayerName(playerid),playerid,Hausid); SendClientMessage(pID,ROT,string); return 1; } } return 1; }
-
Code
Alles anzeigenenum PlayerInfo { db_id, bool:pLoggin, pExp, pAlevel, pMute, pMember, pLeader, pRang, pSpawnchange, pSkin, pGeld, pFSperre, pLevel, pPfandflaschen, pRucksack }
Code
Alles anzeigennew pID = invite[playerid],fID = GetPlayerFrakID(pID); printf("1"); pInfo[playerid][pMember] = fID; printf("2"); pInfo[playerid][pRang] = 0; printf("3"); new yea,mon,day,hou,minn,sec,string[128]; printf("4"); pInfo[playerid][pFSperre] = gettime()+(14*24*60*60); printf("5"); TimestampToDate(pInfo[playerid][pFSperre],yea,mon,day,hou,minn,sec,1); printf("6"); invite[playerid] = -1; printf("7"); SpawnPlayer(playerid); format(string,sizeof(string),"Der Spieler %s [%d] wurde in die Fraktion Invitet.",getPlayerName(playerid),playerid); SendClientMessage(pID,BLAU,string); format(string,sizeof(string),"Du wurdest in die Fraktion %s Invitet.",fInfo[fID][f_name]); SendClientMessage(playerid,BLAU,string); format(string,sizeof(string),"Du hast noch bis Zum %d.%d.%d Fraktionssperre!",day,mon,yea); SendClientMessage(playerid,BLAU,string);
Code
Alles anzeigen[29/11/2016 19:15:25] [join] reaL. has joined the server (0:127.0.0.1) [29/11/2016 19:16:55] 1 [29/11/2016 19:16:55] 2 [29/11/2016 19:16:55] 3 [29/11/2016 19:16:55] 4 [29/11/2016 19:16:55] 5 [29/11/2016 19:16:55] [debug] Run time error 4: "Array index out of bounds" [29/11/2016 19:16:55] [debug] Accessing element at index 12 past array upper bound 11 [29/11/2016 19:16:55] [debug] AMX backtrace: [29/11/2016 19:16:55] [debug] #0 00006680 in ?? (1015, 344644, 344640, 344636, 344632, 344628, 344624, 1, 0) from auftrag.amx [29/11/2016 19:16:55] [debug] #1 00008768 in public OnDialogResponse (0, 1, 1, -1, 328308) from auftrag.amx
-
Code
Alles anzeigenenum fraktEnum { f_ID, f_name[20], Float:f_x, Float:f_y, Float:f_z, Float:f_r, f_inter, f_world, f_rang0[21], f_rang1[21], f_rang2[21], f_rang3[21], f_rang4[21], f_rang5[21], f_rang6[21], f_rang7[21], f_rang8[21], f_rang9[21], f_rang10[21], f_rang0skin, f_rang1skin, f_rang2skin, f_rang3skin, f_rang4skin, f_rang5skin, f_rang6skin, f_rang7skin, f_rang8skin, f_rang9skin, f_rang10skin, f_rang0lohn, f_rang1lohn, f_rang2lohn, f_rang3lohn, f_rang4lohn, f_rang5lohn, f_rang6lohn, f_rang7lohn, f_rang8lohn, f_rang9lohn, f_rang10lohn, f_Kasse, f_Level, f_exp } new fInfo[100][fraktEnum];
-
Habe es jetze so
Code
Alles anzeigennew pID = invite[playerid],fID = GetPlayerFrakID(pID); pInfo[playerid][pMember] = fID; pInfo[playerid][pRang] = 0; new yea,mon,day,hou,minn,sec,string[128]; pInfo[playerid][pFSperre] = gettime()+(14*24*60*60); TimestampToDate(pInfo[playerid][pFSperre],yea,mon,day,hou,minn,sec,1); invite[playerid] = -1; SpawnPlayer(playerid); format(string,sizeof(string),"Der Spieler %s [%d] wurde in die Fraktion Invitet.",getPlayerName(playerid),playerid); SendClientMessage(pID,BLAU,string); format(string,sizeof(string),"Du wurdest in die Fraktion %s Invitet.",fInfo[fID][f_name]); SendClientMessage(playerid,BLAU,string); format(string,sizeof(string),"Du hast noch bis Zum %d.%d.%d Fraktionssperre!",day,mon,yea); SendClientMessage(playerid,BLAU,string);
Code[28/11/2016 19:14:28] [debug] Run time error 4: "Array index out of bounds" [28/11/2016 19:14:28] [debug] Accessing element at index 12 past array upper bound 11 [28/11/2016 19:14:28] [debug] AMX backtrace: [28/11/2016 19:14:28] [debug] #0 00006680 in ?? (868, 344588, 344584, 344580, 344576, 344572, 344568, 1, 0) from auftrag.amx [28/11/2016 19:14:28] [debug] #1 000086b4 in public OnDialogResponse (0, 1, 1, -1, 328252) from auftrag.amx
-
Guten Tag,
ich wollte mal fragen wie ich hier 14 Tage als Fraktionssperre draufrechnen kann ?Code
Alles anzeigennew pID = invite[playerid],fID = GetPlayerFrakID(pID); pInfo[playerid][pMember] = fID; pInfo[playerid][pRang] = 0; new yea,mon,day,hou,minn,sec,string[128],datum[11]; getdate(yea,mon,day); format(datum,sizeof(datum),"%d.%d.%d",day,mon,yea); pInfo[playerid][pFSperre] = DateToTimestamp(datum); TimestampToDate(pInfo[playerid][pFSperre],yea,mon,day,hou,minn,sec,1); invite[playerid] = -1; SpawnPlayer(playerid); format(string,sizeof(string),"Der Spieler %s [%d] wurde in die Fraktion Invitet.",getPlayerName(playerid),playerid); SendClientMessage(pID,BLAU,string); format(string,sizeof(string),"Du wurdest in die Fraktion %s Invitet.",fInfo[fID][f_name]); SendClientMessage(playerid,BLAU,string); format(string,sizeof(string),"Du hast noch bis Zum %d.%d.%d Fraktionssperre!",day,mon,yea); SendClientMessage(playerid,BLAU,string);
//edit
Hat jemand eine Lösung ? -
In einen Textlabel ist das Normal
-
Problem gelöst habe den Ganzen User Files Ordner aufm Destop verschoben und danach samp gestartet alles eingestellt und jetze geht es.
KomischTrotzdem Vielen Dank
-
Kommt das gleiche Problem