Guten Tag liebe Bortfische,
ich habe ein kleines Scripting-Problem & brauche eure Hilfe!:)
Problem:
Ich versuche den jeweiligen Admin-Leveln einen Namen zu definieren, doch das will nicht funktionieren.
Errors gibt es nicht, doch wenn ich (z. B.) /makeadmin 0 2002 eingeben, wird der Server-Rang nicht als "Projektleiter"
sondern als "80" gespeichert...
Quellcode (Enum):
enum AccountDaten
{
	Geschlecht,
	Alter,
        AdminLevel,
        AdminRang[256],
        ADuty,
        Float:SpawnX,
	Float:SpawnY,
	Float:SpawnZ,
	Float:SpawnA,
	InteriorID,
	VirtualWorld,
	Level,
        Lohn,
	Geld,
        LevelPunkte,
        bLevelPunkte,
        UpgradePunkte,
	Duty,
        SkinID,
        SpawnHP,
        SpawnWeste,
	Float:pTx,
	Float:pTy,
	Float:pTz,
	pNameColor[20],
	WantedLevel,
	EHPakete,
	Kopfgeld,
	Rang,
	PayDay,
	Eingeloggt
 };
new sSpieler[MAX_PLAYERS][AccountDaten];
Quellcode (Command):
dcmd_makeadmin(playerid, params[])
{
	new pid, alevel, pidn[MAX_PLAYER_NAME];
	GetPlayerName(pid,pidn,sizeof(pidn));
	if(sscanf(params,"ud", pid, alevel))
	{
		return SCM(playerid, hellrot,"Benutze: /makeadmin <Spieler-ID> <Admin-Level>");
	}
	if(IstSpielerAdmin(playerid, 2001) || IsPlayerAdmin(playerid))
	{
	if(pid == INVALID_PLAYER_ID)
 	{
	    return SCM(playerid,sonderrot,"FEHLER: Ungültige Spieler-ID");
 	}
 	else if(sSpieler[playerid][AdminLevel] < alevel)
 	{
	    sSpieler[pid][AdminLevel] = alevel;
	    new string[125];
	    format(string,sizeof(string),"AdmCMD: Du wurdest zu einem Level %d Administrator befördert!",alevel);
	    SCM(pid,leuchtendrot,string);
	    new string2[125];
	    format(string2,sizeof(string2),"AdmCMD: %s wurde zu einem Level %d Administrator befördert!",pidn,alevel);
	    SCMTA(leuchtendrot,string2);
 	}
 	else if(sSpieler[playerid][AdminLevel] > alevel)
 	{
	    sSpieler[pid][AdminLevel] = alevel;
	    new string[125];
	    format(string,sizeof(string),"AdmCMD: Du wurdest zu einem Level %d Administrator degratiert!",alevel);
	    SCM(pid,leuchtendrot,string);
	    new string2[125];
	    format(string2,sizeof(string2),"AdmCMD: %s wurde zu einem Level %d Administrator degratiert!",pidn,alevel);
	    SCMTA(leuchtendrot,string2);
	}
	switch(alevel)
	{
	    case 1:
	    {
	        sSpieler[pid][AdminRang] = "Probe-Supporter";  
	    }
	    case 2:
	    {
	    	sSpieler[pid][AdminRang] = "Supporter";  
	    }
	    case 3:
	    {
	        sSpieler[pid][AdminRang] = "Probe-Moderator"; 
	    }
	    case 4:
	    {
	        sSpieler[pid][AdminRang] = "Moderator"; 
	    }
	    case 1337:
	    {
	        sSpieler[pid][AdminRang] = "Hilfs-Admin";  
	    }
	    case 1338:
	    {
	        sSpieler[pid][AdminRang] = "Administrator";  
	    }
	    case 2000:
	    {
	        sSpieler[pid][AdminRang] = "Full-Admin";  
	    }
	    case 2001:
	    {
	        sSpieler[pid][AdminRang] = "Stllv. Projektleiter"; 
	    }
	    case 2002:
	    {
	        sSpieler[pid][AdminRang] = "Projektleiter";  
	    }
	}
	}
	return 1;
}
Außerdem failt hier noch etwas:
dcmd_admin(playerid, params[])
{
	new text, nachricht[200], aname[MAX_PLAYER_NAME];
	if(IstSpielerAdmin(playerid, 1))
	{
	if(sscanf(params,"s[256]",text))
	{
	    return SCM(playerid,hellrot,"Benutze: /admin <Text>");
	}
	else
	{
	    GetPlayerName(playerid,aname,sizeof(aname));
	    format(nachricht,sizeof(nachricht),">>%s | %s: %s",sSpieler[playerid][ServerRang],aname,text);
	    for(new i = 0;i < MAX_PLAYERS; i++)
    	{
	    if(IstSpielerAdmin(i, 1))
	    {
			return SCM(i,gelb,nachricht);
	    }
	}
	}
	}
	return 1;
}
Fazit: 
Bsp.:
 /admin Hallo, wie gehts?
Erscheint:
 >> | : Hallo, wie gehts?
Ich hoffe, dass ihr mir helfen könnt. Ich bedanke mich schonmal im Voraus!:)
Mit freundlichen Grüßen,
MisterDubstep
 
		 
		
		
	 
			
									
		
