Könnt ihr mir da helfen das die den OOC Chat nur benutzen können wenn er angeschaltet ist?
LG Marv_Checker
Könnt ihr mir da helfen das die den OOC Chat nur benutzen können wenn er angeschaltet ist?
LG Marv_Checker
Sorry, meine Glaskugel ist kaputt.
Ohne Code geht nichts.
höhö, Zitat billig geklaut
if(OOC == 0)
{
SendClientMessage(playerid,COLOR_RED,"Der OOC Chat ist aus!");
return 1;
}
benutzen damit verhinderst du es.
ocmd:o(playerid,params[])
{
new otext[256];
if(sscanf(params, "s", otext))
{
return SendClientMessage(playerid,COLOR_RED,"Benutzung: /o(oc) [Text]");
}
if (PlayerInfo[playerid][pAdmin] < 0)
{
return SendClientMessage(playerid,COLOR_RED,"Du bist kein Admin!");
}
else
{
new ostring[256];
new aname[MAX_PLAYER_NAME];
GetPlayerName(playerid, aname, sizeof(aname));
format(ostring, sizeof(ostring), "((%s: %s))", aname, otext);
SendClientMessageToAll(COLOR_WHITE,ostring);
}
return 1;
}
ocmd:o(playerid,params[])return ocmd_ooc(playerid,params);
ocmd:ooc(playerid,params[])
{
if(oocstate == true) {
new string[256],text[64],name[MAX_PLAYER_NAME];
if(sscanf(params,"s",text))return SendClientMessage(playerid,0xFFA300FF,"Benutzung: /o(oc) <Text>");
if(PlayerInfo[playerid][pMuted] == 1)return SendClientMessage(playerid,COLOR_RED,"Du bist gemutet, daher kannst du nichts schreiben!");
GetPlayerName(playerid,name,sizeof(name));
if(PlayerInfo[playerid][pRank] > 0) {
format(string,sizeof(string),"(( %s: %s ))",name,text);
SendClientMessageToAll(0x0099CCFF,string);
print(string);
} else {
format(string,sizeof(string),"(( %s: %s ))",name,text);
SendClientMessageToAll(0xE0FFFFFF,string);
print(string);
}
} else {
if(PlayerInfo[playerid][pRank] > 0) {
new string[256],text[256],name[MAX_PLAYER_NAME];
if(sscanf(params,"s",text))return SendClientMessage(playerid,0xFFA300FF,"Benutzung: /o(oc) <Text>");
GetPlayerName(playerid,name,sizeof(name));
format(string,sizeof(string),"(( %s: %s ))",name,text);
SendClientMessageToAll(0x0099CCFF,string);
print(string);
} else {
SendClientMessage(playerid,COLOR_RED,"Der OOC-Chat wurde von einem Administrator ausgeschaltet!");
}
}
return 1;
}
ocmd:togooc(playerid,params[])
{
if(PlayerInfo[playerid][pRank] > 1) {
if(oocstate == true) {
oocstate = false;
new string[256],name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(string,sizeof(string),"Teammitglied %s hat den OOC-Chat deaktiviert.",name);
SendClientMessageToAll(0xFFA300FF,string);
printf("[togooc] %s hat den OOC-Chat deaktiviert.",name);
} else {
oocstate = true;
new string[256],name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(string,sizeof(string),"Teammitglied %s hat den OOC-Chat aktiviert!",name);
SendClientMessageToAll(0xFFA300FF,string);
printf("[togooc] %s hat den OOC-Chat aktiviert.",name);
}
} else {
SendClientMessage(playerid,COLOR_RED,"Du besitzt nicht die benötigten Rechte für diese Aktion!");
}
return 1;
}
aber ich habe den befehl /ooc schon um den ooc auszuschalten aber wenn er aus ist können die trotzdem weiter schreiben
Alles anzeigen
ocmd:o(playerid,params[])return ocmd_ooc(playerid,params);
ocmd:ooc(playerid,params[])
{
if(oocstate == true) {
new string[256],text[64],name[MAX_PLAYER_NAME];
if(sscanf(params,"s",text))return SendClientMessage(playerid,0xFFA300FF,"Benutzung: /o(oc) ");
if(PlayerInfo[playerid][pMuted] == 1)return SendClientMessage(playerid,COLOR_RED,"Du bist gemutet, daher kannst du nichts schreiben!");
GetPlayerName(playerid,name,sizeof(name));
if(PlayerInfo[playerid][pRank] > 0) {
format(string,sizeof(string),"(( %s: %s ))",name,text);
SendClientMessageToAll(0x0099CCFF,string);
print(string);
} else {
format(string,sizeof(string),"(( %s: %s ))",name,text);
SendClientMessageToAll(0xE0FFFFFF,string);
print(string);
}
} else {
if(PlayerInfo[playerid][pRank] > 0) {
new string[256],text[256],name[MAX_PLAYER_NAME];
if(sscanf(params,"s",text))return SendClientMessage(playerid,0xFFA300FF,"Benutzung: /o(oc) ");
GetPlayerName(playerid,name,sizeof(name));
format(string,sizeof(string),"(( %s: %s ))",name,text);
SendClientMessageToAll(0x0099CCFF,string);
print(string);
} else {
SendClientMessage(playerid,COLOR_RED,"Der OOC-Chat wurde von einem Administrator ausgeschaltet!");
}
}
return 1;
}
ocmd:togooc(playerid,params[])
{
if(PlayerInfo[playerid][pRank] > 1) {
if(oocstate == true) {
oocstate = false;
new string[256],name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(string,sizeof(string),"Teammitglied %s hat den OOC-Chat deaktiviert.",name);
SendClientMessageToAll(0xFFA300FF,string);
printf("[togooc] %s hat den OOC-Chat deaktiviert.",name);
} else {
oocstate = true;
new string[256],name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(string,sizeof(string),"Teammitglied %s hat den OOC-Chat aktiviert!",name);
SendClientMessageToAll(0xFFA300FF,string);
printf("[togooc] %s hat den OOC-Chat aktiviert.",name);
}
} else {
SendClientMessage(playerid,COLOR_RED,"Du besitzt nicht die benötigten Rechte für diese Aktion!");
}
return 1;
}
das einfach dort einfügen wo bei mir in pawno ocmd:o ist?
if(strcmp(cmd, "/noooc", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if (PlayerInfo[playerid][pAdmin] >= 3 && (!noooc))
{
noooc = 1;
SendClientMessage(playerid, COLOR_GRAD2, "OOC Channel Ausgeschaltet");
}
else if (PlayerInfo[playerid][pAdmin] >= 3 && (noooc))
{
noooc = 0;
BroadCast(COLOR_GRAD2, "OOC Channel Eingeschaltet ");
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, "Dir ist es nicht erlaubt diesen Befehl zu benutzen!");
}
}
return 1;
}
Ja, musst die Variablen halt nur an dein Script anpassen.
if (PlayerInfo[playerid][pAdmin] < 0)
mach einfach daraus
if (PlayerInfo[playerid][pAdmin] < 1)
Das Problem bei deinem Code ist einfach das wenn ein Spieler ein Admin Level hat was tiefer als 0 ist die Nachricht kommt: Du bist kein Admin.
Unter 0 ist aber etwas merkwürdig^^, wenn du jetzt aus der 0 ne 1 machst kommt die Nachricht dann auch wirklich nur wenn der Spieler kein Admin (Level 1 oder höher) ist.
Und mit dem An-/Ausschalten musst du noch abfragen ob der O chat an oder aus ist, das habe ich da nicht gesehen.
Und wie frage ich das ab?
Ich sag mal nur schau oder den new
i-wie geht das immernoch nicht
Kann mal einer mein Befehl durchschauen ob ich i-was falsch gemacht habe:
Das is der Befehl um im OOC Chat zu schreiben:
ocmd:o(playerid,params[])
{
if(ooc == 0) return SendClientMessage(playerid,COLOR_RED,"Der Globaler Chat ist deaktiviert!");
new text[128];
new string[128];
new Name[MAX_PLAYER_NAME];
GetPlayerName(playerid,Name,sizeof(Name));
if(sscanf(params,"s",text)) return SendClientMessage(playerid,COLOR_RED,"Benutzung /o [text]!");
format(string,sizeof(string),"[Globaler-Chat] %s: %s",Name,text);
SendClientMessageToAll(COLOR_WHITE,string);
return 1;
}
Das ist der befhel um den OOC an und auszuschalten:
if(strcmp(cmd, "/ooc", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if (PlayerInfo[playerid][pAdmin] >= 6 && (!noooc))
{
noooc = 1;
BroadCast(COLOR_YELLOW, "Der öffentliche Chat wurde eingeschaltet.");
}
else if (PlayerInfo[playerid][pAdmin] >= 1337 && (noooc))
{
noooc = 0;
BroadCast(COLOR_YELLOW, "Der öffentliche Chat wurde ausgeschaltet.");
}
else
{
SendClientMessage(playerid, COLOR_YELLOW, " Tu das Lieber nicht!");
}
}
return 1;
}
Ok, die Lösung ist denkbar einfach!
ocmd:o(playerid,params[])
{
if(ooc == 0) // <-- nicht ooc sondern noooc return SendClientMessage(playerid,COLOR_RED,"Der Globaler Chat ist deaktiviert!");
new text[128];
new string[128];
new Name[MAX_PLAYER_NAME];
GetPlayerName(playerid,Name,sizeof(Name));
if(sscanf(params,"s",text)) return SendClientMessage(playerid,COLOR_RED,"Benutzung /o [text]!");
format(string,sizeof(string),"[Globaler-Chat] %s: %s",Name,text);
SendClientMessageToAll(COLOR_WHITE,string);
return 1;
}
Wenn die Admins den Chat deaktivieren, wird die Variable noooc
aus false gesetzt und NICHT die Variable ooc.
Also löst Du Dein Problem wie folgt und änderst die Kleinigkeit:
ocmd:o(playerid,params[])
{
if(!noooc) return SendClientMessage(playerid,COLOR_RED,"Der Globaler Chat ist deaktiviert!");
new text[128];
new string[128];
new Name[MAX_PLAYER_NAME];
GetPlayerName(playerid,Name,sizeof(Name));
if(sscanf(params,"s",text)) return SendClientMessage(playerid,COLOR_RED,"Benutzung /o [text]!");
format(string,sizeof(string),"[Globaler-Chat] %s: %s",Name,text);
SendClientMessageToAll(COLOR_WHITE,string);
return 1;
}
Okay das geht jetzt schonmal aber jetzt hätte ich noch gerne das Admins schreiben können auch wenn er aus ist!
if(noooc == 0 && PlayerInfo[playerid][pAdmin] < 1)
Und wo muss ich das einfügen?
Kannste mir das schnell in den Script einbauen?