Jump to content

Recommended Posts

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? :?

Geplaatst: (bewerkt)

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:

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

Geplaatst:

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;
}

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