Hallo
Ich habe heute mal ein Reportsystem gescriptet und habe es ausnahmsweise mal heute nicht abkopiert
Ich habe es mit LiveChat versucht, aber das klappt nicht so ganz.
Ich weiss auch nicht ob ich das richtig gemacht habe mit den Lifechat.
Irgendwie klappts nicht, guckt mal ob es so klappen würde.
ar um den Report anzunehmen
ocmd:ar(playerid,params[])
{
new pID,string[128];
if(GetPVarInt(playerid,"Adminlevel") <= 1)return SendClientMessage(playerid,FARBE_GRAU,"Du bist kein Admin und hast nicht das Recht Reports zu öffnen!");
if(sscanf(params,"u",pID)) return SendClientMessage(playerid,FARBE_WEISS,"/ar [ID]");
format(string,sizeof(string),"** Administrator %s hat deinen Report angenommen und bearbeitet ihn nun!",SpielerName(playerid));
if(InSupport[pID]==1)return ErrorMsg(playerid,"Spieler ist bereits in einen Support");
if(InSupport[playerid]==1)return ErrorMsg(playerid,"Du bist zur zeit noch gerade in einen Report");
if(hatgeschrieben[pID]==1)
{
SendClientMessage(pID,0xFFFF00FF,string);
SendClientMessage(playerid,FARBE_WEISS,"Du hast einen Report angenommen.");
InSupport[playerid]=1;
InSupport[pID]=1;
}
else if(hatgeschrieben[playerid]==0)
{
SendClientMessage(playerid,FARBE_GRAU,"Spieler hat gar keinen Report geschrieben");
}
return 1;
}
/sreport um ihn zu schliessen
ocmd:sreport(playerid,params[])
{
new pID,string[128];
if(GetPVarInt(playerid,"Adminlevel") <= 1)return SendClientMessage(playerid,FARBE_WEISS,"Du bist kein Admin und hast nicht das Recht Reports zu schließen!");
if(sscanf(params,"u",pID))return SendClientMessage(playerid,FARBE_WEISS,"/sreport [ID]");
if(InSupport[playerid]==1&&InSupport[pID]==1)
{
format(string,sizeof(string),"** Administrator %s hat den Support beendet.",SpielerName(playerid));
SendClientMessage(pID,0xFF00D7FF,string);
SendClientMessage(playerid,0xFF00D7FF,"Du hast den Support beendet.");
InSupport[playerid]=0;
InSupport[pID]=0;
return 1;
}
else
{
SendClientMessage(playerid,FARBE_GRAU,"Du bist nicht im support mit dieser Person.");
return 1;
}
}
/tr um den Report zu löschen
ocmd:tr(playerid,params[])
{
new pID,string[128];
if(sscanf(params,"u",pID))return SendClientMessage(playerid,FARBE_WEISS,"/tr [ID]");
if(GetPVarInt(playerid,"Adminlevel") >= 1)
{
if(InSupport[pID]==1)return ErrorMsg(playerid,"Spieler ist bereits in einen Support");
if(InSupport[playerid]==1)return ErrorMsg(playerid,"Du bist zur zeit noch gerade in einen Report");
if(hatgeschrieben[pID]==1)
{
format(string,sizeof(string),"** Administrator %s hat deinen Report gelöscht!",SpielerName(playerid));
SendClientMessage(pID,FARBE_ROT,string);
SendClientMessage(playerid,FARBE_WEISS,"Du hast den Report gelöscht!");
hatgeschrieben[pID]=0;
return 1;
}
else if(hatgeschrieben[pID]==0)
{
ErrorMsg(playerid,"Spieler hat gar keinen Report geschrieben");
}
}
return 1;
}
Und nun bei OnPlayerText
den Livechat
public OnPlayerText(playerid, text[])
{
new string[128],pID;
if(InSupport[playerid]==1)
{
format(string,sizeof(string), "%s: %s",SpielerName(playerid),text);
SendClientMessage(pID,0xFF00FFFF,string);
SendClientMessage(playerid,0xFF00FFFF,string);
}
}
pls hilft