Und wo ist da DestroyObject?
Beiträge von [PeL]Smiley
-
-
Ok das funktioniert jetzt,aber wenn ich Wanteds gebe,dann kommt der Textdraw nicht,habe auch keine Errors oderso die Zeilen sind hier.
stock UpdateWantedDraw(playerid)
{
if(GetWantedLevel(playerid)>=1)
{
TextDrawHideForPlayer(playerid, Text:WantedTextdraw[playerid]);
new str[30];
format(str,sizeof(str),"%d",GetWantedLevel(playerid));
TextDrawSetString(Text:WantedTextdraw[playerid], str);
TextDrawShowForPlayer(playerid, Text:WantedTextdraw[playerid]);
}
return 1;
}forward WantedTimerPublic(playerid);
public WantedTimerPublic(playerid)
{
if(GetWantedLevel(playerid)>=1)
{
SetWantedLevel(playerid,GetWantedLevel(playerid)-1);
new str[200];
format(str,sizeof(str),"Du hast ein Wantedlevel verloren. Aktuelles Wantedlevel: %i", GetWantedLevel(playerid));
SendClientMessage(playerid, Rot, str);
return 1;
}return 1;
}
ocmd:wanted(playerid,params[])
{
new str[128], pID, wantedlevel;
if(sscanf(params, "ui", pID, wantedlevel))return SendClientMessage(playerid, Rot, "Benutze: /wanted [ID] [Wanteds]");
if(IsPlayerConnected(pID))
{
if(!IsPlayerNPC(pID))
{
format(str,sizeof(str),"Du gibst %s [ID: %i] %i Wanted(s).", GetName(pID), pID, wantedlevel);
SendClientMessage(playerid, Rot, str);
SetWantedLevel(pID,GetWantedLevel(pID)+wantedlevel);
format(str,sizeof(str),"Du erhälst %i Wanted(s) von der Polizei. Aktuelles Wantedlevel: %i", wantedlevel, GetWantedLevel(playerid));
SendClientMessage(pID, Rot, str);
return 1;
}else return SendClientMessage(playerid,Rot,"Du kannst einem NPC keine Wanteds geben.");
}else return SendClientMessage(playerid,Rot,"Spieler ist nicht connected.");
}WantedTextdraw[playerid] = CreatePlayerTextDraw(playerid, 602.399963, 111.253318, "69");
PlayerTextDrawLetterSize(playerid, WantedTextdraw[playerid], 0.449999, 1.600000);
PlayerTextDrawAlignment(playerid, WantedTextdraw[playerid], 1);
PlayerTextDrawColor(playerid, WantedTextdraw[playerid], -2147483393);
PlayerTextDrawSetShadow(playerid, WantedTextdraw[playerid], 0);
PlayerTextDrawSetOutline(playerid, WantedTextdraw[playerid], 1);
PlayerTextDrawBackgroundColor(playerid, WantedTextdraw[playerid], 51);
PlayerTextDrawFont(playerid, WantedTextdraw[playerid], 1);
PlayerTextDrawSetProportional(playerid, WantedTextdraw[playerid], 1); -
Und wie mache ich das hier?
stock GetWantedLevel(playerid)
{
return mysql_GetInt(Tabelle_Spieler, "Wanteds",wantedlevel, "Name",GetName(playerid));
} -
Jetzt kann ich reports schreiben,allerdings nicht annehmen und nicht /creport eingeben zum löschen dann kommt das:
Codes:
ocmd:creport(playerid,params[])
{
if(!IsPlayerConnected(playerid))return 1;
new string[128];
if(SpielerInfo[playerid][pReportAktiv] == 0)return SendClientMessage(playerid, Rot, "** Kein aktiver Report!");
if(SpielerInfo[playerid][pAdminlevel] == 0)
{
for(new i=0;i<MAX_REPORTS;i++)
{
if(gSupport[i][ticketCreated])
{
if(gSupport[i][ticketSender] == playerid)
{
if(gSupport[i][ticketAdmin] == INVALID_PLAYER_ID)
{
SendClientMessage(playerid, Rot, "* Du hast das Report Ticket zurückgezogen.");
gSupport[i][ticketCreated] = false;
gSupport[i][ticketSender] = INVALID_PLAYER_ID;
gSupport[i][ticketAdmin] = INVALID_PLAYER_ID;
switch(gSupport[i][ticketType])
{
case 1: gAllgFragen--;
case 2: gBugmeldung--;
case 3: gRegelverstoss--;
case 4: gEinweisung --;
}
gSupport[i][ticketType] = 0;
strdel(gSupport[i][ticketMessage], 0, 90);
SpielerInfo[playerid][pReportAktiv] = 0;
UpdateReports();
return 1;
}
else
{
SendClientMessage(playerid, Rot, "** Dein Ticket wurde bereits geöffnet und kann nur von einem Admin geschlossen werden!");
return 1;
}
}
}
}
}
else
{
for(new i=0;i<MAX_REPORTS;i++)
{
if(gSupport[i][ticketCreated])
{
if(gSupport[i][ticketAdmin] == playerid)
{
format(string, sizeof(string), "* Du hast das Report Ticket von %s gelöscht.", GetName(gSupport[i][ticketSender]));
SendClientMessage(playerid, Rot, string);
if(IsPlayerConnected(gSupport[i][ticketSender]) && SpielerInfo[gSupport[i][ticketSender]][pReportAktiv] == 1)
{
format(string, sizeof(string), "* %s hat das Ticket gelöscht.", GetName(playerid));
SendClientMessage(gSupport[i][ticketSender], Rot, string);
}
gSupport[i][ticketCreated] = false;
SpielerInfo[playerid][pReportAktiv] = 0;
SpielerInfo[gSupport[i][ticketSender]][pReportAktiv] = 0;
gSupport[i][ticketSender] = INVALID_PLAYER_ID;
gSupport[i][ticketAdmin] = INVALID_PLAYER_ID;
switch(gSupport[i][ticketType])
{
case 1: gAllgFragen--;
case 2: gBugmeldung--;
case 3: gRegelverstoss--;
case 4: gEinweisung --;
}
gSupport[i][ticketType] = 0;
strdel(gSupport[i][ticketMessage], 0, 90);
UpdateReports();
return 1;
}
}
}
}
return 1;
}
ocmd:areport(playerid,params[])
{
if(!IsPlayerConnected(playerid))return 1;
//if(SpielerInfo[playerid][pAdminlevel] == 0)return SendClientMessage(playerid, Rot, ERROR_ADMIN);
strdel(DialogString, 0, sizeof(DialogString));
for(new i=0;i<MAX_REPORTS;i++)
{
if(gSupport[i][ticketCreated])
{
format(DialogString, sizeof(DialogString), "%sSpieler: %s (ID: %d) - Thema: %s\n", DialogString, GetName(gSupport[i][ticketSender]), gSupport[i][ticketSender], GetTicketName(gSupport[i][ticketType]));
}
else
{
strcat(DialogString, " - - - - - - - - - -\n");
}
}
ShowPlayerDialog(playerid, DIALOG_AREPORT, DIALOG_STYLE_LIST, "Report System - Liste", DialogString, "Annehmen", "Abbrechen");
return 1;
}
//Push -
Zurzeit habe ich auch ein neues Problem undzwar:
Ich kann auch keinen Report mehr schreiben Zeilen:
if(dialogid==DIALOG_REPORT)
{
if(response)
{
printf("playerid: %d pReportAktiv: %d", playerid, SpielerInfo[playerid][pReportAktiv]);
if(listitem == 0) // allgemeine Frage
{
if(GetTicketCount() > MAX_REPORTS)return SendClientMessage(playerid, Rot, "** Die Team Mitglieder haben momentan zuviele Tickets. Schreibe in einigen Minuten ein neues Ticket!");
if(SpielerInfo[playerid][pReportAktiv] != 0)return SendClientMessage(playerid, Rot, "** Du bist bereits in einem aktiven Report oder hast ein Ticket erstellt!");
ShowPlayerDialog(playerid, DIALOG_REPORT_ALLGFRAGEN, DIALOG_STYLE_INPUT, "Report System - Allgemeine Fragen", "Bitte gebe eine angemessene Frage in das Textfeld ein.\nWenn du keine Frage hast, aber ein Anliegen, schreibe dies bitte auch in das Textfeld.", "Absenden", "Zurück");
}
if(listitem == 1) // Fehler melden
{
if(GetTicketCount() > MAX_REPORTS)return SendClientMessage(playerid, Rot, "** Die Team Mitglieder haben momentan zuviele Tickets. Schreibe in einigen Minuten ein neues Ticket!");
if(SpielerInfo[playerid][pReportAktiv] != 0)return SendClientMessage(playerid, Rot, "** Du bist bereits in einem aktiven Report oder hast ein Ticket erstellt!");
ShowPlayerDialog(playerid, DIALOG_REPORT_FEHLER, DIALOG_STYLE_INPUT, "Report System - Fehler melden", "Hast du einen Fehler auf unserem Server entdeckt?\nBitte schreibe eine kurze Beschreibung für den Fehler in das Textfeld.\nEin Team-Mitglied wird sich schnellstmöglich mit dir in Verbindung setzen.", "Absenden", "Zurück");
}
if(listitem == 2) // Regelverstoß
{
if(GetTicketCount() > MAX_REPORTS)return SendClientMessage(playerid, Rot, "** Die Team Mitglieder haben momentan zuviele Tickets. Schreibe in einigen Minuten ein neues Ticket!");
if(SpielerInfo[playerid][pReportAktiv] != 0)return SendClientMessage(playerid, Rot, "** Du bist bereits in einem aktiven Report oder hast ein Ticket erstellt!");
ShowPlayerDialog(playerid, DIALOG_REPORT_REGEL, DIALOG_STYLE_INPUT, "Report System - Regelverstoß", "Hast du einen Spieler gesichtet der eine Regel verstoßt, und möchtest uns dies direkt im Spiel mitteilen?\nGebe unten die notwendigen Informationen wie z.B. ID, Name und Grund an!", "Absenden", "Zurück");
}
if(listitem == 3) // einweisung
{
if(GetTicketCount() > MAX_REPORTS)return SendClientMessage(playerid, Rot, "** Die Team Mitglieder haben momentan zuviele Tickets. Schreibe in einigen Minuten ein neues Ticket!");
if(SpielerInfo[playerid][pReportAktiv] != 0)return SendClientMessage(playerid, Rot, "** Du bist bereits in einem aktiven Report oder hast ein Ticket erstellt!");
if(SpielerInfo[playerid][pLevel] > 1)return SendClientMessage(playerid, Rot, "** Nur für Neulinge gedacht.");
SendClientMessage(playerid, Rot, "* Einweisungs Anfrage abgesendet. Es wird sich schnellstmöglich ein Team-Mitglied um dich kümmern.");
gEinweisung++;
SpielerInfo[playerid][pReportAktiv] = 1;
new ticket = GetFreeTicket();
gSupport[ticket][ticketCreated] = true;
format(gSupport[ticket][ticketMessage], 90, "Hallo, ich hätte gerne eine Einweisung!");
gSupport[ticket][ticketSender] = playerid;
gSupport[ticket][ticketAdmin] = INVALID_PLAYER_ID;
gSupport[ticket][ticketType] = 4;
UpdateReports();
}
}
}ocmd:report(playerid,params[])
{
if(!IsPlayerConnected(playerid))return 1;
//if(SpielerInfo[playerid][pAdminlevel] > 0)return SendClientMessage(playerid, Rot, "** Der Befehl ist nicht für Team Mitglieder gedacht.");
new bool:isOnline;
for(new i=0;i<GetMaxPlayers();i++)
{
if(IsPlayerConnected(i))
{
if(SpielerInfo[i][pAdminlevel] > 0)
{
isOnline = true;
}
}
}
if(!isOnline)
{
SendClientMessage(playerid, Rot, "** Derzeit ist kein Team Mitglied online.");
return 1;
}
if(SpielerInfo[playerid][pLevel] == 1)
{
ShowPlayerDialog(playerid, DIALOG_REPORT, DIALOG_STYLE_LIST, "Report System", "Allgemeine Frage\nFehler melden\nRegelverstoß\nEinweisung", "Auswählen", "Abbrechen");
}
else if(SpielerInfo[playerid][pLevel] > 1)
{
ShowPlayerDialog(playerid, DIALOG_REPORT, DIALOG_STYLE_LIST, "Report System", "Allgemeine Frage\nFehler melden\nRegelverstoß", "Auswählen", "Abbrechen");
}
return 1;
} -
Das stand zu 100% in der Server_Log
-
Fehler:
C:\Users\kevin\Desktop\server\gamemodes\self2.pwn(5743) : error 035: argument type mismatch (argument 3)
C:\Users\kevin\Desktop\server\gamemodes\self2.pwn(5741) : warning 203: symbol is never used: "wantedlevel"
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase1 Error.
stock SetWantedLevel(playerid,wantedlevel)
{
mysql_SetInt(Tabelle_Spieler, "Wanteds","%d",wantedlevel, "Name",GetName(pID));
UpdateWantedDraw(playerid);
return 1;
}
Alles vom Wantedsystem:
forward WantedTimerPublic(playerid);
public WantedTimerPublic(playerid)
{
if(GetWantedLevel(playerid)>=1)
{
SetWantedLevel(playerid,GetWantedLevel(playerid)-1);
new str[200];
format(str,sizeof(str),"Du hast ein Wantedlevel verloren. Aktuelles Wantedlevel: %i", GetWantedLevel(playerid));
SendClientMessage(playerid, Rot, str);
return 1;
}return 1;
}
stock GetWantedLevel(playerid)
{
return GetPVarInt(playerid,"Wantedlevel");
}
stock SetWantedLevel(playerid,wantedlevel)
{
mysql_SetInt(Tabelle_Spieler, "Wanteds","%d",wantedlevel, "Name",GetName(pID));
UpdateWantedDraw(playerid);
return 1;
}
stock UpdateWantedDraw(playerid)
{
if(GetWantedLevel(playerid)>=1)
{
TextDrawHideForPlayer(playerid, Text:WantedTextdraw[playerid]);
new str[30];
format(str,sizeof(str),"%d",GetWantedLevel(playerid));
TextDrawSetString(Text:WantedTextdraw[playerid], str);
TextDrawShowForPlayer(playerid, Text:WantedTextdraw[playerid]);
}
return 1;
}ocmd:wanted(playerid,params[])
{
new str[128], pID, wantedlevel;
if(sscanf(params, "ui", pID, wantedlevel))return SendClientMessage(playerid, Rot, "Benutze: /wanted [ID] [Wanteds]");
if(IsPlayerConnected(pID))
{
if(!IsPlayerNPC(pID))
{
format(str,sizeof(str),"Du gibst %s [ID: %i] %i Wanted(s).", GetName(pID), pID, wantedlevel);
SendClientMessage(playerid, Rot, str);
SetWantedLevel(pID,GetWantedLevel(pID)+wantedlevel);
format(str,sizeof(str),"Du erhälst %i Wanted(s) von der Polizei. Aktuelles Wantedlevel: %i", wantedlevel, GetWantedLevel(playerid));
SendClientMessage(pID, Rot, str);
return 1;
}else return SendClientMessage(playerid,Rot,"Du kannst einem NPC keine Wanteds geben.");
}else return SendClientMessage(playerid,Rot,"Spieler ist nicht connected.");
}ocmd:wantedlist(playerid,params[])
{
new string[64];
SendClientMessage(playerid, Rot,"-----Wanted - Liste-----");
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(!IsPlayerNPC(i))
{
if(GetWantedLevel(i) >=1)
{
format(string, sizeof(string), "%s - Wanteds: %d", GetName(i), GetWantedLevel(i));
SendClientMessage(playerid, Rot,string);
}
}
}
}
return 1;
}ocmd:clearwanted(playerid,params[])
{
new str[128], pID;
if(sscanf(params, "u", pID))return SendClientMessage(playerid, Rot, "Benutze: /clearwanted [ID]");
if(IsPlayerConnected(pID))
{
if(!IsPlayerNPC(pID))
{
format(str,sizeof(str),"Du clearst die Wanteds von %s [ID: %i].", GetName(pID), pID);
SendClientMessage(playerid, Rot, str);
SendClientMessage(pID, Rot, "Deine Wanteds wurden von der Polizei gecleart.");
SetWantedLevel(pID,0);
return 1;
}else return SendClientMessage(playerid,Rot,"Du kannst einem NPC keine Wanteds geben.");
}else return SendClientMessage(playerid,Rot,"Spieler ist nicht connected.");
} -
[17:46:27] playerid: 0 pReportAktiv: -1
[17:46:31] playerid: 0 pReportAktiv: -1
[17:46:34] playerid: 0 pReportAktiv: -1
[17:46:37] playerid: 0 pReportAktiv: -1 -
Ich Habe pReportAktiv auf 0 gesetzt funktioniert trotzdem nicht..
-
Jetzt funktioniert es danke,allerdings wenn ich jetzt das Ticket annehmen will,steht das "Du bist bereits in einem Akiven Support"
Liegt das daran weil ich das selber an mir getestet habe?
Befehl zum annehmen:
ocmd:areport(playerid,params[])
{
if(!IsPlayerConnected(playerid))return 1;
//if(SpielerInfo[playerid][pAdminlevel] == 0)return SendClientMessage(playerid, Rot, ERROR_ADMIN);
strdel(DialogString, 0, sizeof(DialogString));
for(new i=0;i<MAX_REPORTS;i++)
{
if(gSupport[i][ticketCreated])
{
format(DialogString, sizeof(DialogString), "%sSpieler: %s (ID: %d) - Thema: %s\n", DialogString, GetName(gSupport[i][ticketSender]), gSupport[i][ticketSender], GetTicketName(gSupport[i][ticketType]));
}
else
{
strcat(DialogString, " - - - - - - - - - -\n");
}
}
ShowPlayerDialog(playerid, DIALOG_AREPORT, DIALOG_STYLE_LIST, "Report System - Liste", DialogString, "Annehmen", "Abbrechen");
return 1;
}if(dialogid==DIALOG_AREPORT)
{
if(response)
{
new i = listitem, string[128];
if(!gSupport[i][ticketCreated])return SendClientMessage(playerid, Rot, "** Das Ticket ist leer, wähle ein anderes aus!");
if(gSupport[i][ticketAdmin] != INVALID_PLAYER_ID)return SendClientMessage(playerid, Rot, "** Das Ticket wird bereits bearbeitet.");
if(SpielerInfo[playerid][pReportAktiv] == 1)return SendClientMessage(playerid, Rot, "** Du hast bereits einen aktiven Support!");
if(gSupport[i][ticketType] == 4)
{
format(string, sizeof(string), "* Deine Anfrage zur Einweisung wurde von %s angenommen.", GetName(playerid));
SendClientMessage(gSupport[i][ticketSender], Rot, string);
SendClientMessage(gSupport[i][ticketSender], Rot, "* Er wird sich schnellstmöglich um dich kümmern.");
format(string, sizeof(string), "* Du hast die Einweisungsanfrage von %s (ID: %d) angenommen. Teleportiere dich zu ihm und helfe ihm!", GetName(gSupport[i][ticketSender]), gSupport[i][ticketSender]);
SendClientMessage(playerid, Rot, string);
SpielerInfo[playerid][pReportAktiv] = 0;
SpielerInfo[gSupport[i][ticketSender]][pReportAktiv] = 0;
gSupport[i][ticketSender] = INVALID_PLAYER_ID;
gSupport[i][ticketAdmin] = INVALID_PLAYER_ID;
strdel(gSupport[i][ticketMessage], 0, 90);
gSupport[i][ticketType] = 0;
gSupport[i][ticketCreated] = false;
gEinweisung--;
UpdateReports();
return 1;
}
else if(gSupport[i][ticketType] == 1)
{
format(string, sizeof(string), "* Dein Ticket (%s) wurde von %s angenommen.", GetTicketName(gSupport[i][ticketType]), GetName(playerid));
SendClientMessage(gSupport[i][ticketSender], Rot, string);
format(string, sizeof(string), "* Wenn du ein "COLW"!"COLG" vor deinen Text schreibst, kannst du mit %s schreiben.", GetName(playerid));
SendClientMessage(gSupport[i][ticketSender], Rot, string);
SpielerInfo[playerid][pReportAktiv] = 1;
gSupport[i][ticketAdmin] = playerid;
format(string, sizeof(string), "* Ticket von %s (ID: %d): %s", GetName(gSupport[i][ticketSender]), gSupport[i][ticketSender], gSupport[i][ticketMessage]);
SendClientMessage(playerid, Rot, string);
SendClientMessage(playerid, Rot, "* Schreibe nun mit ihm, indem du ein "COLW"!"COLG" vor den Text setzt.");
return 1;
}
else if(gSupport[i][ticketType] == 3)
{
format(string, sizeof(string), "* Dein Ticket (%s) wurde von %s angenommen.", GetTicketName(gSupport[i][ticketType]), GetName(playerid));
SendClientMessage(gSupport[i][ticketSender], Rot, string);
format(string, sizeof(string), "* Wenn du ein "COLW"!"COLG" vor deinen Text schreibst, kannst du mit %s schreiben.", GetName(playerid));
SendClientMessage(gSupport[i][ticketSender], Rot, string);
SpielerInfo[playerid][pReportAktiv] = 1;
gSupport[i][ticketAdmin] = playerid;
format(string, sizeof(string), "* Ticket von %s (ID: %d): %s", GetName(gSupport[i][ticketSender]), gSupport[i][ticketSender], gSupport[i][ticketMessage]);
SendClientMessage(playerid, Rot, string);
SendClientMessage(playerid, Rot, "* Schreibe nun mit ihm, indem du ein "COLW"!"COLG" vor den Text setzt.");
return 1;
}
}
} -
Das steht im Log:
14:56:32] report: 0
[14:56:32] Spieler 0 ist Admin
[14:56:32] isOnline: 1
[14:56:32] Level: 0
[14:56:32] Ende. -
Hallo Liebe Leute ich habe ein Problem mit meinem /report Befehl.
Im Pawno zeigt er mir keine Fehler an und InGame kommt garnichts,es wird auch kein Dialog angezeigt.
Der Befehl:
ocmd:report(playerid,params[])
{
if(!IsPlayerConnected(playerid))return 1;
//if(SpielerInfo[playerid][pAdminlevel] > 0)return SendClientMessage(playerid, Rot, "** Der Befehl ist nicht für Team Mitglieder gedacht.");
new bool:isOnline;
for(new i=0;i<GetMaxPlayers();i++)
{
if(IsPlayerConnected(i))
{
if(SpielerInfo[i][pAdminlevel] > 0)
{
isOnline = true;
}
}
}
if(!isOnline)
{
SendClientMessage(playerid, Rot, "** Derzeit ist kein Team Mitglied online.");
return 1;
}
if(SpielerInfo[playerid][pLevel] == 1)
{
ShowPlayerDialog(playerid, DIALOG_REPORT, DIALOG_STYLE_LIST, "Report System", "Allgemeine Frage\nFehler melden\nRegelverstoß\nEinweisung", "Auswählen", "Abbrechen");
}
else if(SpielerInfo[playerid][pLevel] > 1)
{
ShowPlayerDialog(playerid, DIALOG_REPORT, DIALOG_STYLE_LIST, "Report System", "Allgemeine Frage\nFehler melden\nRegelverstoß", "Auswählen", "Abbrechen");
}
return 1;
}Die Dialoge:
if(dialogid==DIALOG_REPORT)
{
if(response)
{
if(listitem == 0) // allgemeine Frage
{
if(GetTicketCount() > MAX_REPORTS)return SendClientMessage(playerid, Rot, "** Die Team Mitglieder haben momentan zuviele Tickets. Schreibe in einigen Minuten ein neues Ticket!");
if(SpielerInfo[playerid][pReportAktiv] != 0)return SendClientMessage(playerid, Rot, "** Du bist bereits in einem aktiven Report oder hast ein Ticket erstellt!");
ShowPlayerDialog(playerid, DIALOG_REPORT_ALLGFRAGEN, DIALOG_STYLE_INPUT, "Report System - Allgemeine Fragen", "Bitte gebe eine angemessene Frage in das Textfeld ein.\nWenn du keine Frage hast, aber ein Anliegen, schreibe dies bitte auch in das Textfeld.", "Absenden", "Zurück");
}
if(listitem == 1) // Fehler melden
{
if(GetTicketCount() > MAX_REPORTS)return SendClientMessage(playerid, Rot, "** Die Team Mitglieder haben momentan zuviele Tickets. Schreibe in einigen Minuten ein neues Ticket!");
if(SpielerInfo[playerid][pReportAktiv] != 0)return SendClientMessage(playerid, Rot, "** Du bist bereits in einem aktiven Report oder hast ein Ticket erstellt!");
ShowPlayerDialog(playerid, DIALOG_REPORT_FEHLER, DIALOG_STYLE_INPUT, "Report System - Fehler melden", "Hast du einen Fehler auf unserem Server entdeckt?\nBitte schreibe eine kurze Beschreibung für den Fehler in das Textfeld.\nEin Team-Mitglied wird sich schnellstmöglich mit dir in Verbindung setzen.", "Absenden", "Zurück");
}
if(listitem == 2) // Regelverstoß
{
if(GetTicketCount() > MAX_REPORTS)return SendClientMessage(playerid, Rot, "** Die Team Mitglieder haben momentan zuviele Tickets. Schreibe in einigen Minuten ein neues Ticket!");
if(SpielerInfo[playerid][pReportAktiv] != 0)return SendClientMessage(playerid, Rot, "** Du bist bereits in einem aktiven Report oder hast ein Ticket erstellt!");
ShowPlayerDialog(playerid, DIALOG_REPORT_REGEL, DIALOG_STYLE_INPUT, "Report System - Regelverstoß", "Hast du einen Spieler gesichtet der eine Regel verstoßt, und möchtest uns dies direkt im Spiel mitteilen?\nGebe unten die notwendigen Informationen wie z.B. ID, Name und Grund an!", "Absenden", "Zurück");
}
if(listitem == 3) // einweisung
{
if(GetTicketCount() > MAX_REPORTS)return SendClientMessage(playerid, Rot, "** Die Team Mitglieder haben momentan zuviele Tickets. Schreibe in einigen Minuten ein neues Ticket!");
if(SpielerInfo[playerid][pReportAktiv] != 0)return SendClientMessage(playerid, Rot, "** Du bist bereits in einem aktiven Report oder hast ein Ticket erstellt!");
if(SpielerInfo[playerid][pLevel] > 1)return SendClientMessage(playerid, Rot, "** Nur für Neulinge gedacht.");
SendClientMessage(playerid, Rot, "* Einweisungs Anfrage abgesendet. Es wird sich schnellstmöglich ein Team-Mitglied um dich kümmern.");
gEinweisung++;
SpielerInfo[playerid][pReportAktiv] = 1;
new ticket = GetFreeTicket();
gSupport[ticket][ticketCreated] = true;
format(gSupport[ticket][ticketMessage], 90, "Hallo, ich hätte gerne eine Einweisung!");
gSupport[ticket][ticketSender] = playerid;
gSupport[ticket][ticketAdmin] = INVALID_PLAYER_ID;
gSupport[ticket][ticketType] = 4;
UpdateReports();
}
}
}Danke im voraus und frohe weihnachten
Jeffry -
ocmd:unban(playerid,params[])
{
new name[50],string[128],pID;
if(SpielerInfo[playerid][pAdminlevel] < 3) return SendClientMessage(playerid,Rot,"M�glich ab: "COLO" Adminrank 3");
if(!IsPlayerConnected(pID)) return SendClientMessage(playerid,Rot,"Keiner ist Verbunden mit dieser ID!");
if(sscanf(params,"s[50]",name))return SendClientMessage(playerid,Rot,""COLO"Verwendung: "COLR"/unban [Name]");
mysql_SetInt(Tabelle_Spieler,"Ban",0,"Name",GetName(pID));
format(string,sizeof(string),"Du hast den Spieler %s ungebannt!",GetName(pID));
SendClientMessage(playerid,Rot,string);
return 1;
}
Ist das so richtig? -
Ich habe das zurzeit so:
if(dialogid==DIALOG_ARANG)
{
if(response==0)
{
SendClientMessage(playerid,Rot,"Abgebrochen");
}
if(response==1)
{
}
if(listitem == 0)
{
}
}
ocmd:arang(playerid,params[])
{
if(SpielerInfo[playerid][pAdminlevel] < 6) return SendClientMessage(playerid,Rot,"M�glich ab: "COLO" Adminrank 6");
ShowPlayerDialog(playerid,DIALOG_ARANG,DIALOG_STYLE_LIST,"Adminrangsystem","Rank 1\nRank 2\nRank 3\nRank 4\nRank 5\nRank 6\n","Wählen","Abbrechen");
return 1;
}
new aRangName[6][32];Tabellen so erstellt:
rang1 in einer spalte mit dem Typ text
rang2
rang3
rang4
rang5
rang6Wie komme ich nun weiter?
-
Da wo du abfragst ob der Spieler in der richtigen Fraktion ist fuers auto und da machst du dann die abfrage hin
-
Ok dann eine andere frage wie kann ich ein dynamisches adminrangsystem machen das ich die adminnamen ingame aendern kann?
Speichersystem ist mysql r5Danke schonmal fuer deine schnelle antwort
-
Wieso würdest du davon abraten?
-
Ich wollte euch fragen wie man so eine Auswahl macht wie im Anhang
Danke im voraus -
Jetzt kann ich die Textdraw's an der Seite nicht anklicken:
ocmd:reports(playerid,params[])
{
TextDrawShowForPlayer(playerid,Text:Sup12);
TextDrawShowForPlayer(playerid,Text:Sup13);
TextDrawShowForPlayer(playerid,Text:Sup14);
TextDrawShowForPlayer(playerid,Text:Sup15);
TextDrawShowForPlayer(playerid,Text:Sup16);
TextDrawShowForPlayer(playerid,Text:Sup17);
SelectTextDraw(playerid,0x00FF00FF);
return 1;//Die Textdraws:
if(clickedid == Sup16)
{
new string[128];
if(SpielerInfo[playerid][pAdminlevel] < 3) return SendClientMessage(playerid,Rot,"Möglich ab: "COLO" Adminrank 3");
SendClientMessage(playerid,Rot,"Es sind folgende Tickets offen:");
for(new i=0; i<MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i) && !IsPlayerNPC(i))
{
if(SupInfo[i][offenTicket] ==1)
{
format(string, sizeof string, "Spieler: %s [ID: %s] Nachricht: %s", GetName(i),i,SupInfo[i][snachricht]);
SendClientMessage(playerid, Rot, string);
}
}
}
}
if(clickedid == Sup14)
{
new string[128];
if(SpielerInfo[playerid][pAdminlevel] < 3) return SendClientMessage(playerid,Rot,"Möglich ab: "COLO" Adminrank 3");
SendClientMessage(playerid,Rot,"Es sind folgende Tickets offen:");
for(new i=0; i<MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i) && !IsPlayerNPC(i))
{
if(SupInfo[i][offenTicket] ==1)
{
format(string, sizeof string, "Spieler: %s [ID: %s] Nachricht: %s", GetName(i),i,SupInfo[i][snachricht]);
SendClientMessage(playerid, Rot, string);
}
}
}
}
if(clickedid == Sup13)
{
new string[128];
if(SpielerInfo[playerid][pAdminlevel] < 2) return SendClientMessage(playerid,Rot,"Möglich ab: "COLO" Adminrank 2");
SendClientMessage(playerid,Rot,"Es sind folgende Tickets offen:");
for(new i=0; i<MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i) && !IsPlayerNPC(i))
{
if(SupInfo[i][offenTicket] ==1)
{
format(string, sizeof string, "Spieler: %s [ID: %s] Nachricht: %s", GetName(i),i,SupInfo[i][snachricht]);
SendClientMessage(playerid, Rot, string);
}
}
}
}
if(clickedid == Sup12)
{
new string[128];
if(SpielerInfo[playerid][pAdminlevel] < 1) return SendClientMessage(playerid,Rot,"Möglich ab: "COLO" Adminrank 1");
SendClientMessage(playerid,Rot,"Es sind folgende Tickets offen:");
for(new i=0; i<MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i) && !IsPlayerNPC(i))
{
if(SupInfo[i][offenTicket] ==1)
{
format(string, sizeof string, "Spieler: %s [ID: %s] Nachricht: %s", GetName(i),i,SupInfo[i][snachricht]);
SendClientMessage(playerid, Rot, string);
}
}
}
}
TextDrawHideForPlayer(playerid,Sup1);
TextDrawHideForPlayer(playerid,Sup2);
TextDrawHideForPlayer(playerid,Sup3);
TextDrawHideForPlayer(playerid,Sup4);
TextDrawHideForPlayer(playerid,Sup5);
TextDrawHideForPlayer(playerid,Sup6);
TextDrawHideForPlayer(playerid,Sup7);
TextDrawHideForPlayer(playerid,Sup8);
TextDrawHideForPlayer(playerid,Sup9);
TextDrawHideForPlayer(playerid,Sup10);
TextDrawHideForPlayer(playerid,Sup11);
CancelSelectTextDraw(playerid);
TogglePlayerControllable(playerid,1);
}Und das wird nicht angezeigt wenn jemand einen Report geschrieben hat:
format(string,sizeof(string2),"Du schriebst folgendes: %s",supnachricht);
SendClientMessage(playerid,Rot,string2);Und wenn jemand das Ticket angenommen wie lösch ich das wieder aus dem Textdraw an der Seite?
Danke dir
-
Ja die sind erstellt und auch im Ordner drin.