Hey Leute, ich habe da ein Problem mit den DCMD Commands.
Code
public OnPlayerCommandText(playerid, cmdtext[])
{
//Befehle mit DCMD
dcmd(makeadmin, 9, cmdtext);
dcmd(kick, 4, cmdtext);
return 0;
}
//DCMD-Befehle
dcmd_makeadmin(playerid, params[])
{
new pid, Alevel;
if(sscanf(params,"ud", pid, Alevel))
{
return SendClientMessage(playerid, C_YELLOW, "/makeadmin [ID] [Adminrang]");
}
if(IstSpielerAdmin(playerid, 6))
{
if(pid == INVALID_PLAYER_ID)
{
return SendClientMessage(playerid, C_RED, "Ungültiger Spieler");
}
if(IstSpielerAdmin(pid, Alevel) == Alevel)
{
return SendClientMessage(playerid, C_RED, "Der Spieler hat schon das angegebene Adminrang");
}
else
{
sSpieler[pid][pAdmin] = Alevel;
SendClientMessage(pid, C_YELLOW, "Du bist nun ein Administrator");
SendClientMessage(pid, C_BLUE2, "Der angegebene Spieler ist nun Admin");
}
}
else
{
return SendClientMessage(playerid, C_RED, "Du bist kein Administrator");
}
return 0;
}
//Kick
dcmd_kick(playerid,params[])
{
new pid, grund[128];
if(sscanf(params, "us", pid, grund))
{
return SendClientMessage(playerid,C_YELLOW,"/kick [ID]");
}
if(!IstSpielerAdmin(playerid))
{
return SendClientMessage(playerid,C_RED,"Du bist kein Admin");
}
if(!IsPlayerConnected(pid))
{
return SendClientMessage(playerid,C_RED,"Spieler ID nicht gefunden");
}
if(pid == playerid)
{
return SendClientMessage(playerid,C_RED,"Du kannst dich nicht selber kicken");
}
SendClientMessageToAll(C_DARKRED, "Server: %s hat %s gekick! Grund: %s");
Kick(pid);
return 1;
}
//Adminsystem
stock IstSpielerAdmin(playerid, Alevel)
{
if(sSpieler[playerid][pAdmin] >= Alevel) return 1;
return 0;
}
Alles anzeigen
Probleme:
- Egal ob ich Admin bin, oder nicht, bei /makeadmin oder /kick kommt dann immer die Nachricht, wie man es anwendet.
- Es übernimmt nicht den Adminrang aus der SQL Datenbank (screen von der Datenbank im Spoiler unten)
- Wie mache ich bei den befehlen diesen "SendClientMessageToAll", ich kapier das nicht, war da jetzt einen ganzen Tag dran und hab ganz googel durchforscht, aber nix gefunden, was mir half
Ich hoffe ihr habt genug Informationen.