Es wird komischerweise kein Sendclientmessage ausgegeben...
ocmd:aduty(playerid,params[])
{
#pragma unused params
if(!IsPlayerAnAdmin(playerid,1)) return SendClientMessage(playerid,Rot,"Du besitzt nicht das nötige Adminlevel um diesen Befehl auszuführen.");
if(AdminDuty[playerid]==false)
{
new string3[300];
AdminDuty[playerid]=true;
format(string3,sizeof(string3),"{DF7401}>>>{F2F2F2}Der %s {DF7401}%s{F2F2F2} ist jetzt im Dienst. Ihr könnt ihn per /Report erreichen falls ihr fragen habt.{DF7401}<<<",GetAdminRang(playerid),PlayerName(playerid));
SendClientMessageToAll(Hellblau,string3);
}
else if(AdminDuty[playerid]==true)
{
new string2[300];
AdminDuty[playerid]=false;
format(string2,sizeof(string2),"{DF7401}>>>{F2F2F2}Der %s {DF7401}%s{F2F2F2} ist jetzt nicht mehr im Dienst. Er ist jetzt nicht mehr per /report erreichbar.{DF7401}<<<",GetAdminRang(playerid),PlayerName(playerid));
SendClientMessageToAll(Hellblau,string2);
}
return 1;
}
Aduty funktioniert nicht
- xFreeze
- Geschlossen
- Erledigt
-
-
Es wird komischerweise kein Sendclientmessage ausgegeben...
ocmd:aduty(playerid,params[])
{
//#pragma unused params
if(!IsPlayerAnAdmin(playerid,1)) return SendClientMessage(playerid,Rot,"Du besitzt nicht das nötige Adminlevel um diesen Befehl auszuführen.");
if(AdminDuty[playerid]==false)
{
new string3[300];
AdminDuty[playerid]=true;
format(string3,sizeof(string3),"{DF7401}>>>{F2F2F2}Der %s {DF7401}%s{F2F2F2} ist jetzt im Dienst. Ihr könnt ihn per /Report erreichen falls ihr fragen habt.{DF7401}<<<",GetAdminRang(playerid),PlayerName(playerid));
SendClientMessageToAll(Hellblau,string3);
}
else if(AdminDuty[playerid]==true)
{
new string2[300];
AdminDuty[playerid]=false;
format(string2,sizeof(string2),"{DF7401}>>>{F2F2F2}Der %s {DF7401}%s{F2F2F2} ist jetzt nicht mehr im Dienst. Er ist jetzt nicht mehr per /report erreichbar.{DF7401}<<<",GetAdminRang(playerid),PlayerName(playerid));
SendClientMessageToAll(Hellblau,string2);
}
return 1;
}Was kommt dann?
MfG
Geronimo -
geronimo55 Ich gehe onduty aber kein sendclientmessage kommt.
Das sagt nur dass ich keine parameter benutze -
vllt so: bzw. ich finde keinen Fehler
ocmd:aduty(playerid,params[])
{
#pragma unused params
if(!IsPlayerAnAdmin(playerid,1)) return SendClientMessage(playerid,Rot,"Du besitzt nicht das nötige Adminlevel um diesen Befehl auszuführen.");
new string3[300];
if(AdminDuty[playerid]==false)
{
AdminDuty[playerid]=true;
format(string3,sizeof(string3),"{DF7401}>>>{F2F2F2}Der %s {DF7401}%s{F2F2F2} ist jetzt im Dienst. Ihr könnt ihn per /Report erreichen falls ihr fragen habt.{DF7401}<<<",GetAdminRang(playerid),PlayerName(playerid));
}
else if(AdminDuty[playerid]==true)
{
AdminDuty[playerid]=false;
format(string3,sizeof(string3),"{DF7401}>>>{F2F2F2}Der %s {DF7401}%s{F2F2F2} ist jetzt nicht mehr im Dienst. Er ist jetzt nicht mehr per /report erreichbar.{DF7401}<<<",GetAdminRang(playerid),PlayerName(playerid));
}
SendClientMessageToAll(Hellblau,string3);
return 1;
} -
@mastho Klappt nicht
-
Wie hast du AdminDuty definiert?
Versuch es mal so wenn du es noch nicht hast
new bool:AdminDuty[MAX_PLAYERS];//Edit:
xFreeze: Schau mal so ist der Code viel Ordentlicherocmd:aduty(playerid,params[])
{
new tstring[300];
if(!IsPlayerAnAdmin(playerid,1)) return SendClientMessage(playerid,Rot,"Du besitzt nicht das nötige Adminlevel um diesen Befehl auszuführen.");
if(AdminDuty[playerid] == false)
{
AdminDuty[playerid] = true;
format(tstring,sizeof(tstring),"{DF7401}>>>{F2F2F2}Der %s {DF7401}%s{F2F2F2} ist jetzt im Dienst. Ihr könnt ihn per /Report erreichen falls ihr fragen habt.{DF7401}<<<",GetAdminRang(playerid),PlayerName(playerid));
}
else if(AdminDuty[playerid] == true)
{
AdminDuty[playerid] = false;
format(tstring,sizeof(tstring),"{DF7401}>>>{F2F2F2}Der %s {DF7401}%s{F2F2F2} ist jetzt nicht mehr im Dienst. Er ist jetzt nicht mehr per /report erreichbar.{DF7401}<<<",GetAdminRang(playerid),PlayerName(playerid));
}
SendClientMessageToAll(Hellblau,tstring);
return 1;
} -
Trotzdem klappt es nicht
-
Trotzdem klappt es nicht
Wenn du möchtest kannst du mir eben deine Teamviewer Daten per PN schicken.
Dann kann ich dir besser helfen. -
@Nico65 Ich möchte nicht jedem x beliebigen Menschen hier auf Breadfish mein Script zeigen,
damals ging es noch aber seitdem ich die Farbe reingemacht habe nicht. -
ocmd:aduty(playerid,params[])
{
new tstring[300];
if(!IsPlayerAnAdmin(playerid,1)) return SendClientMessage(playerid,Rot,"Du besitzt nicht das nötige Adminlevel um diesen Befehl auszuführen.");
if(AdminDuty[playerid] == false)
{
AdminDuty[playerid] = true;
format(tstring,sizeof(tstring),"{DF7401}>>>{F2F2F2}Der %s {DF7401}%s{F2F2F2} ist jetzt im Dienst. Ihr könnt ihn per /Report erreichen falls ihr fragen habt.{DF7401}<<<",GetAdminRang(playerid),PlayerName(playerid));
SendClientMessageToAll(Hellblau,tstring);
}
else if(AdminDuty[playerid] == true)
{
AdminDuty[playerid] = false;
format(tstring,sizeof(tstring),"{DF7401}>>>{F2F2F2}Der %s {DF7401}%s{F2F2F2} ist jetzt nicht mehr im Dienst. Er ist jetzt nicht mehr per /report erreichbar.{DF7401}<<<",GetAdminRang(playerid),PlayerName(playerid));
SendClientMessageToAll(Hellblau,tstring);
}
return 1;
}Old but Gold
-
@Nico65 Ich möchte nicht jedem x beliebigen Menschen hier auf Breadfish mein Script zeigen,
damals ging es noch aber seitdem ich die Farbe reingemacht habe nicht.Will ja nur helfen, und außerdem was will ich mit deinem Script anfangen?
Aber ist ja deine Entscheidung.PAWN Quelltext
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18ocmd:aduty(playerid,params[])
{
new tstring[300];
if(!IsPlayerAnAdmin(playerid,1)) return SendClientMessage(playerid,Rot,"Du besitzt nicht das nötige Adminlevel um diesen Befehl auszuführen.");
if(AdminDuty[playerid] == false)
{
AdminDuty[playerid] = true;
format(tstring,sizeof(tstring),"{DF7401}>>>{F2F2F2}Der %s {DF7401}%s{F2F2F2} ist jetzt im Dienst. Ihr könnt ihn per /Report erreichen falls ihr fragen habt.{DF7401}<<<",GetAdminRang(playerid),PlayerName(playerid));
SendClientMessageToAll(Hellblau,tstring);
}
else if(AdminDuty[playerid] == true)
{
AdminDuty[playerid] = false;
format(tstring,sizeof(tstring),"{DF7401}>>>{F2F2F2}Der %s {DF7401}%s{F2F2F2} ist jetzt nicht mehr im Dienst. Er ist jetzt nicht mehr per /report erreichbar.{DF7401}<<<",GetAdminRang(playerid),PlayerName(playerid));
SendClientMessageToAll(Hellblau,tstring);
}
return 1;
}Old but Gold
Wo isn da der Unterschied zwischen meinem Code?
An meinem SCMTA liegt es nicht. -
@Nico65 Inwiefern willst du mir den per TV helfen, kannst du das nicht einfach hier machen?
-
ocmd:aduty(playerid,params[])
{
//#pragma unused params
if(!IsPlayerAnAdmin(playerid,1)) return SendClientMessage(playerid,Rot,"Du besitzt nicht das nötige Adminlevel um diesen Befehl auszuführen.");
if(AdminDuty[playerid]==false)
{
new string3[300];
AdminDuty[playerid]=true;
format(string3,sizeof(string3),"{DF7401}>>>{F2F2F2}Der %s {DF7401}%s{F2F2F2} ist jetzt im Dienst. Ihr könnt ihn per /Report erreichen falls ihr fragen habt.{DF7401}<<<",GetAdminRang(playerid),PlayerName(playerid));
SendClientMessageToAll(Hellblau,string3);
AdminDuty[playerid]=true;
return 1;
}
else if(AdminDuty[playerid]==true)
{
new string2[300];
format(string2,sizeof(string2),"{DF7401}>>>{F2F2F2}Der %s {DF7401}%s{F2F2F2} ist jetzt nicht mehr im Dienst. Er ist jetzt nicht mehr per /report erreichbar.{DF7401}<<<",GetAdminRang(playerid),PlayerName(playerid));
SendClientMessageToAll(Hellblau,string2);
AdminDuty[playerid]=false;
return 1;
}
} -
DialogHD Ich benutze aber keine parameter warum sollte ich das tun?
Außerdem ist der Code von Grund auf falsch weil du nicht mal den Befehl returnst (Denglisch).
Es mache keinen unterschied ob ich dort ein return 1; rein schreibe. Und ich nutze keine Parameter
wieso sollte ich das dann auskommentieren? -
@Nico65 Inwiefern willst du mir den per TV helfen, kannst du das nicht einfach hier machen?
Weil es so einfacher ist dann muss ich dich nicht immer nach dem Code fragen.
Naja egal, zeig mir mal bitte wie du AdminDuty definiert hast.
Und pack am besten unter OnPlayerConnectAdminDuty[playerid] = false;
hin.
//Edit: Unter anderem benötigst du das "#pragma unused params" bei ocmd nicht.
-
@Nico65 Meines wissens ist ein bool automatisch auf false gesetzt wenn man sich einloggt.
Außerdem ist #pragma unused params nicht nötig aber zu empfehlen da man nicht sscanf
nutzt und somit werden Ressoursen gespart. Den Fehler sehe ich im Code ehrlich gesagt
nicht aber wollte das nur mal so sagen -
probiers mal so
ocmd:aduty(playerid,params[])
{
//#pragma unused params
if(!IsPlayerAnAdmin(playerid,1)) return SendClientMessage(playerid,Rot,"Du besitzt nicht das nötige Adminlevel um diesen Befehl auszuführen.");
{
if(AdminDuty[playerid]==false)
{
new string3[300];
AdminDuty[playerid]=true;
format(string3,sizeof(string3),"{DF7401}>>>{F2F2F2}Der %s {DF7401}%s{F2F2F2} ist jetzt im Dienst. Ihr könnt ihn per /Report erreichen falls ihr fragen habt.{DF7401}<<<",GetAdminRang(playerid),PlayerName(playerid));
SendClientMessageToAll(Hellblau,string3);
}
else if(AdminDuty[playerid]==true)
{
new string2[300];
AdminDuty[playerid]=false;
format(string2,sizeof(string2),"{DF7401}>>>{F2F2F2}Der %s {DF7401}%s{F2F2F2} ist jetzt nicht mehr im Dienst. Er ist jetzt nicht mehr per /report erreichbar.{DF7401}<<<",GetAdminRang(playerid),PlayerName(playerid));
SendClientMessageToAll(Hellblau,string2);
}
}
return 1;
} -
DialogHD Ich benutze aber keine parameter warum sollte ich das tun?
Außerdem ist der Code von Grund auf falsch weil du nicht mal den Befehl returnst (Denglisch).
Es mache keinen unterschied ob ich dort ein return 1; rein schreibe. Und ich nutze keine Parameter
wieso sollte ich das dann auskommentieren?Du benutzt keine parameter, also wozu überhaupt ocmd benutzen?
Das Return ist wichtig, da du so abfragst:Ist dieser Wert False?
Ja
Setze auf True!
<<- hier hast du keinen abbruch, die Funktion geht einfach weiter. Da bräuchtest du nen Return.
Ist der Wert True?
Ja
Setze auf False! -
-
Blunt Bei ihm wird doch nur nicht die Message ausgegeben und das System müsste so eigentlich funktionieren.
Ocmd ist schneller als strcmp und man kann einfach die Funktion der Parameter ausschalten, damit es schneller ausgeführt wird.Ocmd, ist nicht schneller als strcmp, das ist schwachsinn hoch 10. Schau dir den include an, dann weisst du wieso es unmöglich ist. Stimmt, er hat nen else if drinne, hab ich übersehen, dann müsste der Code auch gehen.
@ Threadersteller, schick uns mal dein Farbcode, du meintest ja, seitdem du es verändert hast, dass es nicht geht.
-