ocmd:a(playerid,params[])
{
new string[128], nachricht[128],text[128], sender;
if(sscanf(params,"s",nachricht)) return SendClientMessage(playerid,BLAU,"Benutze: /a [Deine Nachricht]");
for(new i=0; i<GetMaxPlayers(); i++)
{
if(!isPlayerAnAdmin(i,1))
{
GetPlayerName(playerid, string, MAX_PLAYER_NAME);
if(isPlayerAnAdmin(playerid,1)) format(string,sizeof(string),"*%d Admin %s: %s ",GetPVarInt(playerid,"Adminlevel"),string,nachricht);
else format(string,sizeof(string),"(( %s: %s ))",sender,nachricht);
}
}
return 1;
}
Undzwar ich habe einfach meinen /o chat zu einem /a chat umgebaut.
Ich habe dann einfach abgefragt ob der Spieler ein Admin ist bzw ob alle Admins sind und dann das es halt nur zu Admins gesendet werden soll.
Doch das klappt irgendwie nicht :(?
Mein A Chat funktioniert nicht?
- BiGGian
- Geschlossen
- Erledigt
-
-
Du fragst nach der Schleife ab, ob i nicht admin ist (!IsAdmin...).
Frag ab:if(IsPlayerAnAdmin(i, 1))
{
//...Dann sollte es eigendlich hinhaun.
-
Also als erstes ist deine Schleife der letze Müll
bei jedem Durchlauf wird die Anzahl an Slots abgefragt, was total sinnlos ist weil die Slotanzahl sich ja nicht mittendrin ändert.
besser wäre dann so
new i,slots=GetMaxPlayers();
for(;i!=slots;i++)Nun zu deinem eigentlichen Problem:
Wieso formatierst du einen String ohne ihn zu senden, das ist vollkommen sinnlos -
ocmd:a(playerid,params[])
{
new string[128], nachricht[128],sender;
if(sscanf(params,"s",nachricht)) return SendClientMessage(playerid,BLAU,"Benutze: /a [Deine Nachricht]");
new i,slots=GetMaxPlayers();
for(;i!=slots;i++)
{
if(isPlayerAnAdmin(i,1))
{
GetPlayerName(playerid, string, MAX_PLAYER_NAME);
if(isPlayerAnAdmin(playerid,1)) format(string,sizeof(string),"*%d Admin %s: %s ",GetPVarInt(playerid,"Adminlevel"),string,nachricht);
else format(string,sizeof(string),"(( %s: %s ))",sender,nachricht);
SendClientMessage(playerid,COLOR_WHITE,string);
}
}
return 1;
}
K mal testen ich habe es jetzt so gemacht -
Da ist wieder was falsch.
SendClientMessage(i,COLOR_WHITE,string); // und nicht playerid, dann ließt ja nur der eine Spieler das. -
Ja das war jetzt ein flüchtigkeitsfehler Danke euch
-
breadfish.de
Hat das Thema geschlossen.