Guten tag, habe mir mal überlegt meine gates etwas leichter zu machen, nur funktioniert es nicht.. kann einer vielleicht mal über den code schauen
//Gate System
forward CloseTor(playerid);
forward CloseSchranke(playerid);
//____Gates____________
enum Gates {
Float: OpenX,
Float: OpenY,
Float: OpenZ,
Text[200],
Float: CloseX,
Float: CloseY,
Float: CloseZ,
Gateteam,
TorID[2],
Torart
};
//___________Gates und Tore usw_________________________________________________
//X Y Z to Open, Text, X Y Z to Close, Team, TorID, Torart (1 = Tor / 2 = Schranke)
new Float:Tore[][Gates] = {
{-1522.80005, 482.5, -0.4,"Das Tor schließt sich Automatisch nach 8 Sekunden", -1522.80005, 482.5, 6.2, 0, 1, 1}
//{-1522.80005, 482.5, 6.2,"Das Tor schließt sich Automatisch nach 8 Sekunden", -1522.80005, 482.5, -0.4, 0, 2, 2}
};
public OnGameModeInit()
{
for(new Gateid = 0; Gateid < sizeof(Tore); Gateid++)
{
Tore[Gateid][TorID][1] = CreateObject(987, -1522.80005, 482.5, 6.2, 0, 0, 180);//Army Oben
}
return 1;
}
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) {
if(oldkeys == 8)
{
if(IsPlayerInRangeOfPoint(playerid,Tore[playerid][CloseX],Tore[playerid][CloseY],Tore[playerid][CloseZ], 10.0)) {
if(GetPVarInt(playerid, "Team") == Tore[playerid][Gateteam]) {
if(Tore[playerid][Torart] == 1) {
MoveObject(Tore[playerid][TorID], Tore[playerid][OpenX], Tore[playerid][OpenY], Tore[playerid][OpenZ], 5);
SendClientMessage(playerid,COLOR_LIGHTBLUE, Tore[playerid][Text]);
SetTimer("CloseTor", 8000, 0); }
else if(Tore[playerid][Torart] == 2) {
//Rotieren...
SendClientMessage(playerid,COLOR_LIGHTBLUE, Tore[playerid][Text]);
SetTimer("CloseSchranke", 8000, 0); }
}
}
}
return 1; }
public CloseTor(playerid)
{
MoveObject(Tore[playerid][TorID], Tore[playerid][CloseX],Tore[playerid][CloseY],Tore[playerid][CloseZ],5.0);
return 1;
}
public CloseSchranke(playerid)
{
//Rotieren...
return 1;
}
niemand eine Idee ?!