Skip to content
Bekijk in de app

Een betere weg om onze GTA community te volgen. Leer meer.

GTAGames.nl - De Nederlandse Grand Theft Auto Community!

Een volledig scherm app op het beginscherm inclusief notificaties, badges en meer.

Om deze app op je iPhone en iPad te installeren
  1. Druk op het icoon in Safari
  2. Scroll in het menu en druk op Zet op beginscherm.
  3. Druk op Voeg toe rechts bovenaan.
Om deze app op je Android toe te voegen
  1. Druk op het 3-punten menu (⋮) rechts bovenaan in de browser.
  2. Druk op Toevoegen aan beginscherm of Installeer app.
  3. Druk op Toevoegen om te bevestigen.

timer start niet

Geplaatst:

hoi,

ik heb een timer gemaakt maar als ik in het spel zit start de timer niet. :-(

script:

public OnPlayerUpdate(playerid)
{
if(IsPlayerInRangeOfPoint(playerid, 8.0, 1860.2535,-61.1402,28.6894) && par12[playerid])
{
SetPlayerScore(playerid, GetPlayerScore(playerid) + 2);
TextDrawShowForPlayer(playerid, Text:STUNTT);
PlayerPlaySound(playerid, 1057, 0.0, 0.0, 10.0);

//Timer
SetTimer("stuntoff", 3000, true);

par12[playerid] = false;
}
return 1;
}

public stuntoff(playerid)
{
   TextDrawHideForPlayer(playerid, Text:STUNTT);
}

weet iemand waarom de timer niet start? :?

Featured Replies

Geplaatst:

Omdat dit alleen werkt voor speler ID 0, je hebt SetTimerEx nodig

SetTimerEx("stuntoff", 3000, false, "i", playerid);

Ohh, en merk op dat OnPlayerUpdate ongeveer elke 0.25 seconden (als ik het mij nog goed herinner) word aangeroepen, met andere woorden: hij gaat elke 0.25 seconden een timer starten.

Dit is nu niet zo erg omdat je meerdere keren een textdraw kunt weg doen, maar moest je laters nog met timers werken, dat is namelijk een veel gemaakte beginnersfout. ;)

Bewerkt: door GTAguillaume

Geplaatst:
  • Auteur

ik wou hem niet elke 0.25 seconde opnieuw starten , ik was hem vergeten op false te zetten.

Geplaatst:
Returns 0 - Update from this player will not be replicated to other clients.

Returns 1 - Indicates that this update can be processed normally and sent to other player

Dus, als je hem op 0 zet, dan gaat hij alleen die speler behandelen elke 0.25 seconds, je hebt dus zoiets nodig als dit:

http://www.gtaforum.nl/topic/114233-give-player-score-1-keer/page__view__findpost__p__1693652

Geplaatst:
  • Auteur

ik snap dat return nog niet helemaal , het script klopt ook niet egt meer , want de scores van de spelers verwisselen steeds

Geplaatst:

Uhm, return 0; onder OnPlayerUpdate lijkt me niet zo'n goed idee. Dan krijgt iedereen desync.

Geplaatst:
  • Auteur

wat is dan wel handig?

het hele scriptje:

new Text:STUNTT;
new Text:STUNTV;

new bool:par32[MAX_PLAYERS];
new bool:par35[MAX_PLAYERS];

public OnGameModeInit()
{
STUNTT = TextDrawCreate(261.000000,41.000000,"+2 stuntpoints");
TextDrawUseBox(STUNTT,1);
TextDrawBoxColor(STUNTT,0x00000033);
TextDrawTextSize(STUNTT,371.000000,3.000000);
TextDrawAlignment(STUNTT,0);
TextDrawBackgroundColor(STUNTT,0x000000ff);
TextDrawFont(STUNTT,3);
TextDrawLetterSize(STUNTT,0.399999,1.700000);
TextDrawColor(STUNTT,0xffffffff);
TextDrawSetOutline(STUNTT,1);
TextDrawSetProportional(STUNTT,1);
TextDrawSetShadow(STUNTT,1);

STUNTV = TextDrawCreate(261.000000,41.000000,"+5 stuntpoints");
TextDrawUseBox(STUNTV,1);
TextDrawBoxColor(STUNTV,0x00000033);
TextDrawTextSize(STUNTV,371.000000,3.000000);
TextDrawAlignment(STUNTV,0);
TextDrawBackgroundColor(STUNTV,0x000000ff);
TextDrawFont(STUNTV,3);
TextDrawLetterSize(STUNTV,0.399999,1.700000);
TextDrawColor(STUNTV,0xffffffff);
TextDrawSetOutline(STUNTV,1);
TextDrawSetProportional(STUNTV,1);
TextDrawSetShadow(STUNTV,1);

POINT = TextDrawCreate(250.000000,4.000000,"stuntpoints");
TextDrawBackgroundColor(POINT,0x000000ff);
TextDrawFont(POINT,3);
TextDrawLetterSize(POINT,0.499999,2.000000);
TextDrawColor(POINT,0xffffffff);
return 1;
}

public OnPlayerConnect(playerid)
{
par32[playerid] = true;
par35[playerid] = true;
return 1;
}

public OnPlayerUpdate(playerid)
{
if(IsPlayerInRangeOfPoint(playerid, 8.0, -789.0284,-1992.0940,55.8738) && par32[playerid])
{
SetPlayerScore(playerid, GetPlayerScore(playerid) + 2);
TextDrawShowForPlayer(playerid, Text:STUNTT);
PlayerPlaySound(playerid, 1057, 0.0, 0.0, 10.0);
SetTimerEx("stuntoff", 3000, false, "i", playerid);
par32[playerid] = false;
}
if(IsPlayerInRangeOfPoint(playerid, 8.0, -861.5653,-1995.8247,125.3853) && par35[playerid])
{
SetPlayerScore(playerid, GetPlayerScore(playerid) + 4);
TextDrawShowForPlayer(playerid, Text:STUNTV);
PlayerPlaySound(playerid, 1057, 0.0, 0.0, 10.0);
SetTimerEx("stuntoff", 3000, false, "i", playerid);
par35[playerid] = false;
}
return 1;
}

public stuntoff(playerid)
{
   TextDrawHideForPlayer(playerid, Text:STUNTT);
   TextDrawHideForPlayer(playerid, Text:STUNTV);
}

public Update()
{
for(new i; i<MAX_PLAYERS; i++)
{
	if(!IsPlayerConnected(i)) continue;
	new str[128];
   	format(str, sizeof(str), "stuntpoints: %i",GetPlayerScore(i));
	TextDrawSetString(POINT, str);
}
}

Geplaatst:

new bool:CV1[MAX_PLAYERS][2];

OnPlayerConnect(playerid)

CV1[playerid][0] = true;
CV1[playerid][1] = true;

public OnPlayerUpdate(playerid)
{
       if(IsPlayerInRangeOfPoint(playerid, 8.0, -789.0284,-1992.0940,55.8738) && par32[playerid] && CV1[playerid][0])
       {
       SetPlayerScore(playerid, GetPlayerScore(playerid) + 2);
       TextDrawShowForPlayer(playerid, Text:STUNTT);
       PlayerPlaySound(playerid, 1057, 0.0, 0.0, 10.0);
       SetTimerEx("stuntoff", 3000, false, "i", playerid);
       par32[playerid] = false;
CV1[playerid][0]=false;
       }
       if(IsPlayerInRangeOfPoint(playerid, 8.0, -861.5653,-1995.8247,125.3853) && par35[playerid] && CV1[playerid][1])
       {
       SetPlayerScore(playerid, GetPlayerScore(playerid) + 4);
       TextDrawShowForPlayer(playerid, Text:STUNTV);
       PlayerPlaySound(playerid, 1057, 0.0, 0.0, 10.0);
       SetTimerEx("stuntoff", 3000, false, "i", playerid);
       par35[playerid] = false;
CV1[playerid][1]=false;
       }
       return 1;
}

Geplaatst:
  • Auteur

Bedankt allemaal :tu::bier:

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...

Recent actief 0

  • Er zijn hier geen geregistreerde gebruikers aanwezig.

Account

Navigatie

Zoeken

Zoeken

Configureer push berichten

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.