Hallo,
ich habe eine frage und zwar mochte ich das wenn ein spieler skin xy hat und er nahr genug dran ist das dass tor (Gate) arleine ohne befehl aufgeht und nach 5 sek wider zu geht
währe nett wenn mir einer helfe kann.
MFG ZPlaygamelp
Hallo,
ich habe eine frage und zwar mochte ich das wenn ein spieler skin xy hat und er nahr genug dran ist das dass tor (Gate) arleine ohne befehl aufgeht und nach 5 sek wider zu geht
währe nett wenn mir einer helfe kann.
MFG ZPlaygamelp
Du könntest einen Globalen Timer erstellen.
Sprich bei OnGameModeInit SetTimer.... mit ca. 1 Sekunde sprich 1000ms
Dann Fragst du im erstellen Callback dieses Timers ab, ob ein Spieler in der nähe dieses Objectes/Tor ist.
Am besten, frägst du aber vorher ab ob er den richtigen Skin hat, da dies bisschen Ressourcenschonender ist, und nicht vorher danach noch Abfragen muss ob der Spieler in der nähe ist.
Kleines Beispiel:
OnGameModeInit
SetTimer("Global",1000,1);
forward Global();
public Global()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(GetPlayerSkin(i) == GEWÜNSCHTE ID)
{
if(IsPlayerInRangeOfPoint(......
}
}
}
Wenn dann der Spieler in der nähe ist, dann einfach das Tor mit MoveObjectöffnen
Und dann das Tor wieder schließen. Wenn sich z.B kein Spieler mehr in der nähe befindet.
MFG
ich hbae ein warnung
C:\Users\Pascal D\Desktop\GTA Server\filterscripts\Gate.pwn(109) : warning 209: function "OnPlayerCommandText" should return a value
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
1 Warning.
public OnPlayerCommandText(playerid,cmdtext[])
{
//Befehle, etc.
return 1;//Das fehlte
}
Da fehlte ein return 1; bei dir
wo denn ?
public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp("/auf", cmdtext, true, 10) == 0)
{
if(IsPlayerInRangeOfPoint(playerid, 20.0, -75.80, -352.76, 3.07))
{
new p_name[MAX_PLAYER_NAME];
GetPlayerName(playerid, p_name, MAX_PLAYER_NAME);
if(GetPlayerSkin(playerid) != 287 && strcmp(p_name, "ZPlayGameLP")) return SendClientMessage(playerid, 0xFF0000FF, "Du bist kein Admin!");
MoveObject(tGate,-75.80, -352.76, -2.74, 2.0);
SendClientMessage(playerid, 0x33AA33AA, "Das Admin Tor geht in 5 Sekunden wider zu");
SetTimer("GateClosetGate",5000,0);
return 1;
}
else
{
SendClientMessage(playerid, 0xAA3333AA, "Du bist nicht in der nähe vom Admin Tor");
return 1;
}
}
}
Vor die letzte geschwungene Klammer.
Und mach
return 0;
hin, nicht return 1.
habs danke