Jump to content

"Speler freezen voor een tijdje" functie


alex.naoumov

Recommended Posts

Hoi,

Ik wil graag een functie maken "FreezePlayer(playerid, [aantal mseconden])", zodat ik die bij elke teleport kan gebruiken. Ik heb alleen geen idee hoe ik dat moet doen, iets met "TogglePlayerControllable " en timers?

En nog iets, hoe werkt "AllowAdminTeleport" nou eigenlijk, werkte nog nooit bij mij.

Alvast bedankt,

Gr, Alex

Link to comment
Delen op andere websites

forward UnfreezePlayer(playerid);

stock FreezePlayer(playerid, seconds = 2)
{
TogglePlayerControllable(playerid, false);
SetTimerEx("UnfreezePlayer", 1000*seconds, false, "i", playerid);
return 1;
}

public UnFreezePlayer(playerid)
{
TogglePlayerControllable(playerid, true);
return 1;
}

Als je deze functie nu zo gebruikt: FreezePlayer(playerid); worden er 2 seconden gebruikt. Wil je het langer of korter dan doe je bv. FreezePlayer(playerid, 3);

Link to comment
Delen op andere websites

forward UnfreezePlayer(playerid);

stock FreezePlayer(playerid, seconds = 2)
{
TogglePlayerControllable(playerid, false);
SetTimerEx("UnfreezePlayer", 1000*seconds, false, "i", playerid);
return 1;
}

public UnFreezePlayer(playerid)
{
TogglePlayerControllable(playerid, true);
return 1;
}

Als je deze functie nu zo gebruikt: FreezePlayer(playerid); worden er 2 seconden gebruikt. Wil je het langer of korter dan doe je bv. FreezePlayer(playerid, 3);

Moet er geen KillTimer bij?

Link to comment
Delen op andere websites

Bedankt voor jullie help, toch heb ik het anders gedaan:

new FreezeTimer;


public OnPlayerCommandText(playerid, cmdtext[])
{

if (strcmp("/freeze", cmdtext, true, 10) == 0)
{
	FreezePlayer(playerid, 5500);

	return 1;
}

return 1;
}

forward FreezePlayer(playerid, ms);
public FreezePlayer(playerid, ms)
{
TogglePlayerControllable(playerid, false);

FreezeTimer = SetTimerEx("freezetimer", ms, false, "d", playerid);

return 1;
}

forward freezetimer(playerid);
public freezetimer(playerid)
{
for(new i=0;i<MAX_PLAYERS;i++)
{
UnFreezePlayer(playerid);
KillTimer(FreezeTimer);
}
}


forward UnFreezePlayer(playerid);
public UnFreezePlayer(playerid)
{
TogglePlayerControllable(playerid, true);
return 1;
}

De include zit in een bijlage ;).

Werkt perfect

Bewerkt: door alex.naoumov
Link to comment
Delen op andere websites

Een reactie plaatsen

Je kan nu een reactie plaatsen en pas achteraf registreren. Als je al lid bent, log eerst in om met je eigen account een reactie te plaatsen.

Gast
Op dit onderwerp reageren...

×   Je hebt text geplaatst met opmaak.   Opmaak verwijderen

  Only 75 emoji are allowed.

×   Je link is automatisch ingevoegd.   In plaats daarvan weergeven als link

×   Je vorige bewerkingen zijn hersteld.   Alles verwijderen

×   You cannot paste images directly. Upload or insert images from URL.

  • Recent actief   0 leden

    • Er zijn hier geen geregistreerde gebruikers aanwezig.
×
×
  • Create New...