Hallo Leute.
Ich habe ein kleines Problem.
Ich habe komischerweise ein kleines Problem mit meinen Variablen bzw. Commands.
ocmd:makeadmin(playerid, params[])
{
new pID, nr, string[128];
if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid, COLOR_YELLOW, "** Du bist nicht als RCON-Admin eingeloggt.");
if(sscanf(params, "ui", pID, nr))return SendClientMessage(playerid, COLOR_GREY, "** /makeadmin [Name/ID] [Admin-Level]");
Spieler[pID][pAdmin] = nr;
format(string,sizeof(string), "** Dein Admin-Level wurde von %s auf %d gesetzt!", SpielerName(playerid), nr);
SendClientMessage(pID, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), "** Admin-Level von %s auf %d gesetzt!", SpielerName(pID), nr);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
return 1;
}
ocmd:makeleader(playerid, params[])
{
new pID, nr, string[128], ftext[32];
if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid, COLOR_YELLOW, "** Du bist nicht als RCON-Admin eingeloggt.");
if(sscanf(params, "ui", pID, nr))return SendClientMessage(playerid, COLOR_GREY, "** /makeleader [Name/ID] [Leader-ID] - Tippe /leaderhelp für eine Liste der Leader IDs.");
Spieler[pID][pLeader] = nr;
Spieler[pID][pMember] = nr;
Spieler[pID][pRank] = 7;
if(Spieler[pID][pLeader] == 0){ ftext = "Zivilisten"; }
else if(Spieler[pID][pLeader] == 1){ ftext ="LSPD"; }
else if(Spieler[pID][pLeader] == 2){ ftext ="Yakuza"; }
else if(Spieler[pID][pLeader] == 3){ ftext ="Grove Street Family"; }
else if(Spieler[pID][pLeader] == 4){ ftext ="Ballas"; }
else if(Spieler[pID][pLeader] == 5){ ftext ="Los Vagos"; }
else if(Spieler[pID][pLeader] == 6){ ftext ="LSMD"; }
format(string, sizeof(string), "** %s wurde von %s zum Leader von \"%s\" ernannt!", SpielerName(pID), SpielerName(playerid), ftext);
SendClientMessageToAll(COLOR_YELLOW, string);
return 1;
}
Das sind meine Commands.
"SpielerName" ist so:
stock SpielerName(playerid)
{
new spname[MAX_PLAYER_NAME];
GetPlayerName(playerid, spname, sizeof(spname));
return spname;
}
InGame wirds nun so angezeigt und die Variable wird nie gesetzt:
Dann haben wir noch 2 Tore eingefügt, welche auch nicht runtergehen.
ocmd:open(playerid, params[])
{
if(IsPlayerInRangeOfPoint(playerid, 20,1545.90002441,-1627.59997559,15.19999981))
{
if(Spieler[playerid][pMember] == 1 || Spieler[playerid][pLeader] == 1)
{
MoveObject(LSPDTore[0],1545.90002441,-1627.59997559,-15, 5);
SendClientMessage(playerid, COLOR_YELLOW, "** Das Tor schließt sich in 5 Sekunden automatisch.");
SetTimer("LSPDTor0", 5000, 0);
return 1;
}
else SendClientMessage(playerid, COLOR_GREY, "** Du bist kein LSPD Mitglied!");
}
else if(IsPlayerInRangeOfPoint(playerid, 20, 1582.00000000,-1637.90002441,14.00000000))
{
if(Spieler[playerid][pMember] == 1 || Spieler[playerid][pLeader] == 1)
{
MoveObject(LSPDTore[1], 1582.00000000,-1637.90002441,-15, 5);
SendClientMessage(playerid, COLOR_YELLOW, "** Das Tor schließt sich in 5 Sekunden automatisch.");
SetTimer("LSPDTor1", 5000, 0);
return 1;
}
else SendClientMessage(playerid, COLOR_GREY, "** Du bist kein LSPD Mitglied!");
}
return 1;
}
//ganz oben
new LSPDTore[2];
//ongamemodeinit
LSPDTore[0] = CreateDynamicObject(980,1545.90002441,-1627.59997559,15.19999981,0.00000000,0.00000000,91.50000000); //object(airportgate) (1)
LSPDTore[1] = CreateDynamicObject(2957,1582.00000000,-1637.90002441,14.00000000,0.00000000,0.00000000,0.00000000); //object(chinatgaragedoor) (1)
public LSPDTor0()
{
MoveObject(LSPDTore[0], 1545.90002441,-1627.59997559,15.19999981, 5);
return 1;
}
public LSPDTor1()
{
MoveObject(LSPDTore[1], 1582.00000000,-1637.90002441,14.00000000, 5);
return 1;
}
Die Tore gehen einfach nicht runter.
Die Meldung dass sie in 5 Sekunden wieder zugehen erscheint, aber es bewegt sich nicht.
Ich hoffe ihr könnt helfen.