Hey,
wie kann ich Abfragen ob ein Admin online ist?
Also es ist ein /hilfmir Befehl. Ist kein Admin da soll das auch dastehen. Aber wie frag ich das ab?
Arbeite mit PVars und die Variable von Adminlevel heißt "Adminlevel"
Hey,
wie kann ich Abfragen ob ein Admin online ist?
Also es ist ein /hilfmir Befehl. Ist kein Admin da soll das auch dastehen. Aber wie frag ich das ab?
Arbeite mit PVars und die Variable von Adminlevel heißt "Adminlevel"
Mit einer "öffentlichen" Variable ;]
Ist überraschend einfach.
Was für ein Script verwendest du?
Gruss: Sonic
AAAA Sonic
Immernoch mein Selfmade
stock isPlayerAnAdmin(playerid,rang)
{
if(GetPVarInt(playerid,"Adminlevel")>=rang)return 1;
return 0;
}
oder wen du Mysql benutz dan:
stock isPlayerAnAdmin(playerid,rang)
{
if(mysql_GetInt("accounts", "Adminlevel", "Name", SpielerInfo[playerid][pName]) >= rang)return 1;
return 0;
}
Sowas hab ich schon. Ich formuliere mal besser:
Wie muss der Teil bei /hilfmir im Command aussehen, das es ihm anzeigt: Es ist kein Admin online.
MfG byBSE
asoo ok srry,
ehm hast du ein Duty System ?
Ja
ocmd:aduty(playerid, params[])
{
if(!isPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,rot,"Du hast nicht das nötige Adminlevel!");
new string[64],rang;
rang = GetPVarInt(playerid,"Adminlevel");
if(AdminDuty[playerid] == 0)
{
AdminDuty[playerid] = 1;
format(string,sizeof(string),"Admin %s mit dem Level %d ist nun im Dienst",SpielerName(playerid),rang);
}
else
{
AdminDuty[playerid] = 0;
format(string,sizeof(string),"Admin %s ist nun nicht mehr im Dienst",SpielerName(playerid));
}
return SendClientMessage(playerid,rot,string);
}
stock AdminOnline(){ new adminanzahl; for(new s=0;s<MAX_PLAYERS;s++) { if(IsPlayerConnected(s) && GetPVarInt(playerid,"Adminlevel")> 0) { adminanzahl++; } } return adminanzahl;
}// Verwendung:format(text,128,"Es sind %i Online",AdminOnline());
Deine Abfrage bei deinem Befehl:
if(AdminOnline()== 0) return SendClientMessage(playerid,farbe,"Es ist kein Admin on.");
if(strcmp(cmd,"/hilfmir",true)==0)
{
if(IsPlayerConnected(playerid))
{
for(new i=0;i<MAX_PLAYERS;i++)
{
if(PlayerInfo[i][pAdmin] >= 1)
{
if(IsPlayerConnected(i))
{
if(AdminDuty[i] == 1)
{
new sendername[MAX_PLAYER_NAME];
new string[256];
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string,sizeof(string),"%s braucht hilfe, du kannst dich mit /goto %d zu ihn Teleportieren!",sendername,playerid);
SendClientMessage(i,COLOR_RED,string);
}
else
{
SendClientMessage(playerid,COLOR_RED,"Es ist kein Admin im Dienst!");
}
}
else
{
SendClientMessage(playerid,COLOR_RED,"Zurzeit ist kein Admin Online!");
}
}
}
}
return 1;
}
Ungetestet!
//edit:
Auf AdminDuty angepasst
SetPlayerHealt(playerid, 99999);
Okay danke.