Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- #include <ocmd>
- #include <sscanf2>
- #define PVAR_NAME "Admin"
- #define COLOR_RED 0xFF0000FF
- #define COLOR_GREEN 0x87FF00FF
- #define COLOR_YELLOW 0xFFFF00FF
- #define COLOR_PURPLE 0xBE00FFFF
- new Text:SupportDraws[2];
- stock GetName(playerid)
- {
- new Name[MAX_PLAYER_NAME];
- GetPlayerName(playerid, Name, sizeof(Name));
- return Name;
- }
- stock SendAdminMessage(Farbe, Message[])
- {
- for(new playerid; playerid < GetMaxPlayers(); playerid++) {
- if(GetPVarInt(playerid, "ticket_admin") >= 1 || IsPlayerAdmin(playerid)) {
- SendClientMessage(playerid, Farbe, Message);
- }
- }
- return 1;
- }
- stock UpdateSupportTextdraws()
- {
- new Ticketzahl,
- str1[100],
- str2[1000];
- for(new playerid; playerid < GetMaxPlayers(); playerid++) {
- if(GetPVarInt(playerid, "ticket_opened")) {
- if(!Ticketzahl)
- format(str2, sizeof(str2), "%d - %s", playerid, GetName(playerid));
- else
- format(str2, sizeof(str2), "%s~n~%d - %s", str2, playerid, GetName(playerid));
- Ticketzahl++;
- }
- }
- format(str1, sizeof(str1), "%d Ticket(s)", Ticketzahl);
- TextDrawSetString(SupportDraws[1], str2);
- TextDrawSetString(SupportDraws[0], str1);
- }
- ocmd:tlogin(playerid, params[])
- {
- #pragma unused params
- new str1[128];
- if(GetPVarInt(playerid, "ticket_admin") != 0)
- return SendClientMessage(playerid, COLOR_RED, "[Ticketsystem] Du bist bereits eingeloggt!");
- if(GetPVarInt(playerid, PVAR_NAME) > 0 || IsPlayerAdmin(playerid)) {
- TextDrawShowForPlayer(playerid, SupportDraws[0]);
- TextDrawShowForPlayer(playerid, SupportDraws[1]);
- SetPVarInt(playerid, "ticket_admin", 1);
- format(str1, sizeof(str1), "[Ticketsystem] %s hat sich in das Ticketsystem eingeloggt!", GetName(playerid));
- }
- else {
- TextDrawHideForPlayer(playerid, SupportDraws[0]);
- TextDrawHideForPlayer(playerid, SupportDraws[1]);
- format(str1, sizeof(str1), "[Ticketsystem] %s hat sich versucht in das Ticketsystem einzuloggen!", GetName(playerid));
- }
- return SendAdminMessage(COLOR_YELLOW, str1);
- }
- ocmd:tsup(playerid, params[])
- {
- if(GetPVarInt(playerid, "ticket_opened") < 1) {
- new Text[100],
- str[128];
- if(sscanf(params, "s[100]", Text))
- return SendClientMessage(playerid, COLOR_RED, "[Ticketsystem] Falsche Benutzung: /sup [Text]");
- if(strlen(Text) > 10) {
- SendClientMessage(playerid, COLOR_GREEN, "[Ticketsystem] Das Ticket wurde erfolgreich gespeichert!");
- format(str, sizeof(str), "[Ticketsystem] %s hat ein Ticket erstellt!", GetName(playerid));
- SendAdminMessage(COLOR_YELLOW, str);
- SetPVarInt(playerid, "ticket_opened", 1);
- SetPVarString(playerid, "ticket_text", Text);
- UpdateSupportTextdraws();
- }
- else {
- SendClientMessage(playerid, COLOR_RED, "[Ticketsystem] Der Text sollte mehr als 10 Zeichen enthalten!");
- }
- }
- else
- SendClientMessage(playerid, COLOR_RED, "[Ticketsystem] Du hast bereits ein Ticket erstellt!");
- return 1;
- }
- ocmd:topen(playerid, params[])
- {
- new tID;
- if(sscanf(params, "d", tID))
- return SendClientMessage(playerid, COLOR_RED, "[Ticketsystem] Falsche Benutzung: /aosup [Ticket-ID]");
- if(!IsPlayerAdmin(playerid) || GetPVarInt(playerid, "ticket_admin") < 1)
- return SendClientMessage(playerid, COLOR_RED, "[Ticketsystem] Du hast nicht genug Rechte!");
- if(GetPVarInt(tID, "ticket_opened") != 0 && !GetPVarInt(playerid, "ticket_player")) {
- new str1[128],
- str2[128],
- str3[128],
- str4[100];
- format(str4, sizeof(str4), "%s", GetPVarString(tID, "ticket_text", str4, 100));
- DeletePVar(tID, "ticket_opened");
- SetPVarInt(tID, "ticket_sup", playerid);
- SetPVarInt(playerid, "ticket_player", tID);
- format(str1, sizeof(str1), "[Ticketsystem] %s hat dein Ticket geöffnet; nutze /tchat [Text]!", GetName(playerid));
- format(str2, sizeof(str2), "[Ticketsystem] %s hat das Ticket von %s geöffnet!", GetName(playerid), GetName(tID));
- format(str3, sizeof(str3), "[Ticketsystem] %s schrieb: %s", GetName(playerid), str4);
- SendClientMessage(tID, COLOR_YELLOW, str1);
- SendAdminMessage(COLOR_YELLOW, str2);
- SendClientMessage(playerid, COLOR_YELLOW, str3);
- UpdateSupportTextdraws();
- }
- return 1;
- }
- ocmd:tclose(playerid, params[])
- {
- #pragma unused params
- if(IsPlayerAdmin(playerid) || GetPVarInt(playerid, "ticket_admin") > 0) {
- if(!GetPVarInt(playerid, "ticket_player")) {
- new PlayerID = GetPVarInt(playerid, "ticket_player"),
- str1[128],
- str2[128];
- format(str1, sizeof(str1), "[Ticketsystem] %s hat das Ticket von Spieler %s gelöscht!", GetName(playerid), GetName(PlayerID));
- format(str2, sizeof(str2), "[Ticketsystem] %s hat dein Ticket welches von ihm bearbeitet wurde, gelöscht!", GetName(playerid));
- SendAdminMessage(COLOR_YELLOW, str2);
- SendClientMessage(PlayerID, COLOR_YELLOW, str1);
- DeletePVar(PlayerID, "ticket_sup");
- DeletePVar(playerid, "ticket_player");
- DeletePVar(PlayerID, "ticket_opened");
- }
- else
- SendClientMessage(playerid, COLOR_RED, "[Ticketsystem] Du hattest kein Ticket offen!");
- }
- return 1;
- }
- ocmd:tchat(playerid, params[])
- {
- new Text[100];
- if(sscanf(params, "s[100]", Text))
- return SendClientMessage(playerid, COLOR_RED, "[Ticketsystem] Falsche Benutzung: /tchat [Text]");
- if(IsPlayerConnected(GetPVarInt(playerid, "ticket_sup"))) {
- new str1[128],
- str2[128],
- varSup = GetPVarInt(playerid, "ticket_sup");
- format(str1, sizeof(str1), "[LIVE: Ticketsystem] %s schreibt: %s", GetName(playerid), Text);
- format(str2, sizeof(str2), "[LIVE: Ticketsystem] Du schriebst: %s", Text);
- SendClientMessage(varSup, COLOR_PURPLE, str1);
- SendClientMessage(playerid, COLOR_PURPLE, str2);
- }
- else
- SendClientMessage(playerid, COLOR_RED, "[Ticketsystem] Dein Gegenüber ist weg!");
- return 1;
- }
- ocmd:tmsg(playerid, params[])
- {
- new Text[100];
- if(sscanf(params, "s[100]", Text))
- return SendClientMessage(playerid, COLOR_RED, "[Ticketsystem] Falsche Benutzung: /tmsg [Text]");
- if(IsPlayerConnected(GetPVarInt(playerid, "ticket_player")) && GetPVarInt(playerid, "ticket_admin") > 0) {
- new str1[128],
- str2[128],
- varPlayer = GetPVarInt(playerid, "ticket_player");
- format(str1, sizeof(str1), "[LIVE: Ticketsystem] %s schreibt: %s", GetName(playerid), Text);
- format(str2, sizeof(str2), "[LIVE: Ticketsystem] Du schriebst: %s", Text);
- SendClientMessage(varPlayer, COLOR_PURPLE, str1);
- SendClientMessage(playerid, COLOR_PURPLE, str2);
- }
- else
- SendClientMessage(playerid, COLOR_RED, "[Ticketsystem] Dein Gegenüber ist weg!");
- return 1;
- }
- public OnFilterScriptInit()
- {
- printf(" Ticketsystem von Vincent Petritz (easy-scripting.net)");
- SupportDraws[0] = TextDrawCreate(495.000000, 114.000000, "0 Ticket(s)");
- TextDrawBackgroundColor(SupportDraws[0], 255);
- TextDrawFont(SupportDraws[0], 2);
- TextDrawLetterSize(SupportDraws[0], 0.200000, 1.000000);
- TextDrawColor(SupportDraws[0], -1);
- TextDrawSetOutline(SupportDraws[0], 1);
- TextDrawSetProportional(SupportDraws[0], 1);
- TextDrawSetShadow(SupportDraws[0], 0);
- TextDrawUseBox(SupportDraws[0], 1);
- TextDrawBoxColor(SupportDraws[0], 0x000000AA);
- TextDrawTextSize(SupportDraws[0], 588.000000, 0.000000);
- SupportDraws[1] = TextDrawCreate(495.000000, 130.000000, " ");
- TextDrawBackgroundColor(SupportDraws[1], 255);
- TextDrawFont(SupportDraws[1], 2);
- TextDrawLetterSize(SupportDraws[1], 0.200000, 1.000000);
- TextDrawColor(SupportDraws[1], -1);
- TextDrawSetOutline(SupportDraws[1], 1);
- TextDrawSetProportional(SupportDraws[1], 1);
- TextDrawUseBox(SupportDraws[1], 1);
- TextDrawBoxColor(SupportDraws[1], 0x000000AA);
- TextDrawTextSize(SupportDraws[1], 602.000000, 121.000000);
- return 1;
- }
- public OnFilterScriptExit()
- {
- for(new playerid; playerid < GetMaxPlayers(); playerid++) {
- TextDrawHideForPlayer(playerid, SupportDraws[0]);
- TextDrawHideForPlayer(playerid, SupportDraws[1]);
- }
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- if(GetPVarInt(playerid, "ticket_player")) {
- new Player = GetPVarInt(playerid, "ticket_player");
- SendClientMessage(Player, COLOR_YELLOW, "[Ticketsystem] Dein Gegenüber hat das Spiel verlassen!");
- DeletePVar(playerid, "ticket_player");
- }
- if(GetPVarInt(playerid, "ticket_sup")) {
- new Sup = GetPVarInt(playerid, "ticket_sup");
- SendClientMessage(Sup, COLOR_YELLOW, "[Ticketsystem] Dein Gegenüber hat das Spiel verlassen!");
- DeletePVar(Sup, "ticket_sup");
- DeletePVar(Sup, "ticket_opened");
- }
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement