Hallo Brotfische,
ich bin gerade dabei für meinen SA-MP B.A.S.E. Jump Server eine dynamisches System zu schreiben wie folgt:
Wenn ein Spieler /drop eingibt wird er 200 Meter hoch in die Luft teleportiert und gefreezt. Nun wird eine Nachricht im Chat erscheinen, die auffordert auch /drop einzugeben, um mitzumachen. Ein 20 Sekunden Timer wird gestartet. Wenn nun ein 2. Spieler /drop eingibt wird er genau 0.5 Meter unter dem ersten Spieler teleportiert und gefreezt. Ein weiterer Spieler wird wieder 0.5 Meter unter dem 2. gefreezt usw. Wenn der 20 Sekunden Timer abgelaufen ist werden alle Spieler, die in den 20 Sekunden /drop eingegeben haben entfreezt und der B.A.S.E. Jump beginnt. Wenn nun eine weiterer Spieler /drop eingibt geht alles von Vorne los....
Achja, und natürlich will ich auch noch verhindern, dass ein Spieler 2 mal /drop in den 20 Sekunden eingeben kann.
Hier ist nun der Code den ich schon geschrieben habe. Nun weiß ich aber nicht mehr weiter, wie ich das Script vervollständigen kann.
forward DropTimer();
new Float:dropX;
new Float:dropY;
new Float:dropZ;
if(strcmp(cmdtext,"/drop",true)==0)
{
//wenn er der erste spieler ist der /drop macht
GetPlayerPos(playerid,Float:dropX,Float:dropY,Float:dropZ);
SetPlayerPos(playerid,Float:dropX,Float:dropY,Float:dropZ+200);
SetTimerEx("DropTimer", 20000, false,"i",playerid);
new pName[MAX_PLAYER_NAME];
new string[128];
GetPlayerName(playerid,pName,sizeof(pName));
format(string,sizeof(string),"Server: %s (%d) created a drop. Join the drop! (/)",pName,playerid);
SendClientMessageToAll(orange,string);
SendClientMessageToAll(orange,"Server: The drop will release the players in 20 seconds.");
TogglePlayerControllable(playerid,false);
//wenn er als 2. 3. 4. ...... 1020202. /drop macht soll er auch gefreezt werden aber von der position her immer 0.5 weniger hoch teleportiert werden
return 1;
}
public DropTimer()
{
//Hier sollen die Spieler die /drop eingegeben haben (innerhalb der 20sec) entfreezt werden
return 1;
}
Mit freundlichen Grüßen,
Skyfreak