Nochmal auf Deutsch.
Lach ! ich habes es mal auf Mysql (Auf Deutsch angepasst) und ich habe 30 min dafür gebraucht
Nochmal auf Deutsch.
Lach ! ich habes es mal auf Mysql (Auf Deutsch angepasst) und ich habe 30 min dafür gebraucht
Lach ! ich habes es mal auf Mysql (Auf Deutsch angepasst) und ich habe 30 min dafür gebraucht
Achso, naja.
Ich hab für's Script bzw. für das Ticketsystem auch rund 30 Min gebraucht.
habs mal getestet funktioniert nicht also /tlogin mach ich da steht dann ich bin bereits eingeloggt dann mach ich /tsup dann steht da falscher befehl /sup dann mach ich /Sup funtz erst garnicht^^
7/10
Da es nicht Funktioniert
MFG
[GER]Wezzy
Alles anzeigenhabs mal getestet funktioniert nicht also /tlogin mach ich da steht dann ich bin bereits eingeloggt dann mach ich /tsup dann steht da falscher befehl /sup dann mach ich /Sup funtz erst garnicht^^
7/10
Da es nicht Funktioniert
MFG
[GER]Wezzy
Wenn die PVar "ticket_admin" gesetzt ist bist du bereits eingeloggt.
/tsup [Text]
Der Text muss mehr als 10 Zeichen haben.
Ich finds geil Supper arbeit mach weiter so^^
10/10
mfg
Wenn ich scripten könnte...
besser währs gewesen wenn du kein ocmd benutzt hättest und villeicht nen callback fürs haubtscript anbieten würdest, dann würden einige damit viel besser klarkommen
#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;
}
also bei mir funtz. es immernoch nicht sag mir was ich ändern muss dann tuh ichs sehe selbst nicht was^^ eig. ist alles in ordnung oder nicht?!
Schönes System. 10/10
8/10 Hatte Andre schonmal released (Sowas ähnliches) und ist seit daher nix besonderes mehr, trotzdem gute Arbeit, mach weiter so.
Gutes System. Mir gefällt vor allem die Anzeige auf der rechten Seite. Kann die bei vielen Reports nicht ein wenig unübersichtlich werden?
Mit 0.3e vielleicht noch die Dialoge Clickable machen, sodass man sie damit direkt aufmachen kann, dann wäre das klasse.
Mit freundl. Grüßen
Padarom
Gutes System. Mir gefällt vor allem die Anzeige auf der rechten Seite. Kann die bei vielen Reports nicht ein wenig unübersichtlich werden?
Mit 0.3e vielleicht noch die Dialoge Clickable machen, sodass man sie damit direkt aufmachen kann, dann wäre das klasse.
Mit freundl. Grüßen
Padarom
Nein eigentlich nicht bzgl. der Sauberkeit.
Wie folgt schaut's dann aus:
0 - Padarom
1 - InternetInk
2 - Vincent
3 - Kones
als Beispiel, ich finds ordentlich.
Ich finde, es ist sehr gut gemacht. Mach weiter so!
Nice Arbeit
9/10
tclose buggt ?
Eigentlich nicht, Saboh.
Danke @Rest.
sobald ich tclose eingebe passiert nichts & der report ist immer noch offen,
Wieso will es bei mir nicht funktionieren?
Ich habs bei mir auf mein gemieteten Server getestet der funktioniert ja nicht
Bei mir auch nicht..