Hey wenn ich bei makeleader die Fraktions ID angebe zeigt er mir in der Nachricht nicht den Fraktionsnamen an.
Fraktions Enum:
enum FrakDaten
{
frakname[128],
Float:fx,
Float:fy,
Float:fz,
Float:fr,
frakint,
frakworld,
frakcolor
}
new FrakInfo[][FrakDaten] = {
{"Zivilist", 0.0, 0.0, 0.0, 0.0, 0,0,WEISS},
{"LSPD", 2331.1563, -1388.4844, 26.2266, 0.0, 0, 0, BLAU}
};
Makeleader befehl:
CMD:makeleader(playerid, params[])
{
if(SpielerInfo[playerid][pAdmin] < 4) return SCM(playerid, ROT,"{CACA00}[INFO]:{FFFFFF} Dein Adminrang reicht nicht aus.");
new pID, fID;
if(sscanf(params,"ui", pID, fID)) return SCM(playerid, ROT,"{CACA00}[INFO]:{FFFFFF} /makeleader <Name> <Fraktion>.");
if(fID >= sizeof(FrakInfo)) return SCM(playerid, ROT,"{CACA00}[INFO]:{FFFFFF} Diese Fraktion existiert nicht.");
SpielerInfo[pID][pFrak] = fID;
SpielerInfo[pID][pRang] = 6;
new string[128], str[128];
format(string, sizeof(string), "[INFO]: %s hat dich zum Leader der Fraktion %s gemacht.", PlayerName(playerid), fID);
format(str, sizeof(str), "[INFO]: Du hast %s zum Leader der Fraktion %s gemacht.", PlayerName(pID), fID);
SendClientMessage(pID, HELLBLAU, string);
SendClientMessage(playerid, HELLBLAU ,str);
SavePlayer(pID);
return 1;
}
So und wenn ich noch n Spawnchange machen will möchte ich auch , dass er an den angegebenen Koordinaten spawnt.
Allerdings zeigt mir die Konsole folgendes:
[debug] Run time error 6: "Invalid Instruction"
Unknown Opcode 0x0 at adress 0x00000004
AMX backtrace:
#0 00000004 in Public OnPlayerSpawn <> from testeins.amx
Fachkraftx3 died 255
So nun der Code für OnPlayerSpawn
public OnPlayerSpawn(playerid)
{
GivePlayerMoney(playerid,1000000);
new fID;
fID = SpielerInfo[playerid][pFrak];
if(SpielerInfo[playerid][pSpawn]==1)
{
if(!isFraktion(playerid, 0))
{
SetPlayerPos(playerid, FrakInfo[fID][fx], FrakInfo[fID][fy], FrakInfo[fID][fz]);
SetPlayerFacingAngle(playerid, FrakInfo[fID][fr]);
SetPlayerInterior(playerid, FrakInfo[fID][frakint]);
SetPlayerVirtualWorld(playerid, FrakInfo[fID][frakworld]);
SetPlayerColor(playerid, FrakInfo[fID][frakcolor]);
SendClientMessage(playerid, ROT, "Fraktionstest");
}
}
return 1;
}
Spawnchange Befehl:
CMD:spawnchange(playerid, params[])
{
if(isFraktion(playerid, 0)) return SCM(playerid,GRAU,"{CACA00}[INFO]:{FFFFFF} Du bist in keiner Fraktion.");
if(SpielerInfo[playerid][pSpawn]==0)
{
SpielerInfo[playerid][pSpawn]=1;
}
if(SpielerInfo[playerid][pSpawn]==1)
{
SpielerInfo[playerid][pSpawn]=0;
}
new str[128];
format(str,sizeof(str),"{CACA00}[INFO]:{FFFFFF} Du hast deinen Spawn geändert.");
SendClientMessage(playerid,GRAU, str);
SavePlayer(playerid);
return 1;
}
Hoffentlich könnt ihr mir helfen.