Guten Tag.
Wenn ich vor ein Tor stehe, kann ich es mit /auf öffnen, und mit /zu schließen.
wenn ich hupe öffnet sich das, und wenn ich dann nochmal hupe soll es sich schließen:
new tor1;
forward TorZuc();
OnGameModeInit()
{
tor1 = 0;//0 = tor ist zu, 1 = tor ist auf
return 1;
}
OnPlayerCommandText()
{
if (strcmp(cmdtext, "/auf", true)==0)
{
if(IsPlayerInRangeOfPoint(playerid,35.0,1588.3731689453, -1637.9205322266, 15.202335357666))
{
if((gTeam[playerid] == Team_Cops_LS) || (gTeam[playerid] == Team_Cops_SF) || (gTeam[playerid] == Team_Cops_LV || gTeam[playerid] == Team_Army))
{
MoveObject(Torb,1588.3731689453, -1637.9205322266, 9.0614814758301,5);
SendClientMessage(playerid,0x00FFFFFF," Das Tor schließt sich automatisch!");
SetTimer("TorZuc",7000,5);
tor1 = 1;
}
}
}
if (strcmp(cmdtext, "/zu", true)==0)
{
if(IsPlayerInRangeOfPoint(playerid,35.0,1588.3731689453, -1637.9205322266, 15.202335357666))
{
if((gTeam[playerid] == Team_Cops_LS) || (gTeam[playerid] == Team_Cops_SF) || (gTeam[playerid] == Team_Cops_LV || gTeam[playerid] == Team_Army))
{
MoveObject(Torb,1588.3731689453, -1637.9205322266, 15.202335357666,5);
SendClientMessage(playerid,0x00FFFFFF," Das Tor wird geschlossen!");
tor1 = 0;
}
}
}
return 1;
}
public TorZuc()
{
MoveObject(Torb,1588.3731689453, -1637.9205322266, 15.202335357666,5);
tor1 = 0;
return 1;
}
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(newkeys == 2)
{
if(IsPlayerInRangeOfPoint(playerid,35.0,1588.3731689453, -1637.9205322266, 15.202335357666))
{
if((gTeam[playerid] == Team_Cops_LS) || (gTeam[playerid] == Team_Cops_SF) || (gTeam[playerid] == Team_Cops_LV || gTeam[playerid] == Team_Army))
{
if(tor1 == 0)
{
MoveObject(Torb,1588.3731689453, -1637.9205322266, 9.0614814758301,5);
SendClientMessage(playerid,0x00FFFFFF," Das Tor schließt sich automatisch!");
SetTimer("TorZuc",7000,5);
tor1 = 1; // tor ist auf...
}
if(tor1 == 1)//... fragt ob ob tor auf ist. da es ja gerade geöffnet wurde, wirds geschlossen.
{
MoveObject(Torb,1588.3731689453, -1637.9205322266, 15.202335357666,5);
SendClientMessage(playerid,0x00FFFFFF," Das Tor wird geschlossen!");
tor1 = 0;
}
}
}
}
return 1;
}
das problem: das tör öffnet und schließt sich sofort wieder. grund dafür ist, das er abfragt ob tor1 = 1 oder =0 ist, übertragen ob es auf oder zu ist. also wenn es zu ist, macht er es auf und setzt tor1 auf 1. direkt danach fragt er ab ob tor1 auf ist, und da es ja gerade geöffnet wurde, wird es sofort wieder geschlossen.
also ich weiß warum das pasiert, aber nicht wie man es anderes machen kann. könnte mir da einer helfen?