Jump to content

Timer probleem


Recommended Posts

Geplaatst: (bewerkt)

Hi,

Zoals ik al eerder gemeld had, ben ik bezig met een gamemode. Ik ben echter tegen een probleem aangelopen.

Ik heb via een FS een TextDraw gemaakt, die het prima doet. Ik heb die TextDraw 'InfoBox' genoemd. Daarin staat nu nog wat onzin, maar die ga ik later natuurlijk góed gebruiken. De FS heeft mij de code gegeven, waarna ik deze in mijn GM heb geplaats. Het FS was daarna niet meer nodig.

Via het commando /infobox wordt dit schermpje getoond. Gaat helemaal prima. Maar hoe gaat dat schermpje dan weer weg? Daar heb ik een timer voor gebruikt. Alleen de timer werkt niet echt :N

Bovenaan mijn GM:

forward InfoBoxClose(playerid);

Hiermee maak ik de InfoBoxClose functie aan

Verderop in de GM geef ik de functie wat inhoud:

public InfoBoxClose(playerid)
{
TextDrawHideForPlayer(playerid, Text:InfoBox);
return 1;
}

Tenslotte roep ik de InfoBox op, om hem daarna weer te verbergen dmv de timer:

		if (strcmp(cmdtext, "/infobox", true)==0) {
			TextDrawShowForPlayer(playerid, Text:InfoBox);
			SetTimerEx("InfoBoxClose",5000, 0, "i", playerid);
			return 1;
			}

De InfoBox wordt dus correct weergegeven, maar de timer werkt niet. Bij het Compilen van .pwn naar .amx zijn géén fouten en géén waarschuwingen.

Wat doe ik hier verkeerd?

Alvast bedankt,

Supermonkey

Bewerkt: door Supermonkey
Geplaatst:

Volgens mij moet je dat

Text:

weghalen bij

TextDrawHideForPlayer(playerid, Text:InfoBox);

want dat hoeft alleen maar bij het defineren.

new Text:Infobox;

Geplaatst:
Volgens mij moet je dat

Text:

weghalen bij

TextDrawHideForPlayer(playerid, Text:InfoBox);

want dat hoeft alleen maar bij het defineren.

new Text:Infobox;

Bedankt voor je reactie, maar volgens mij klopt het niet. Kijk maar eens op de wiki van SA:MP. Nadat ik het had uitgeprobeerd, was er inderdaad niets veranderd... :N

Supermonkey

Geplaatst:

Oke, zet dan eens in die functie:

print("InfoBoxClose-functie gestart");

dus:

public InfoBoxClose(playerid)
{
print("InfoBoxClose-functie gestart");
TextDrawHideForPlayer(playerid, Text:InfoBox);
return 1;
}

Test dan nog eens, en kijk dan of na die 5 seconden die tekst in de concole (zwarte schermpje) geprint word.

Geplaatst:
Oke, zet dan eens in die functie:

print("InfoBoxClose-functie gestart");

dus:

public InfoBoxClose(playerid)
{
print("InfoBoxClose-functie gestart");
TextDrawHideForPlayer(playerid, Text:InfoBox);
return 1;
}

Test dan nog eens, en kijk dan of na die 5 seconden die tekst in de concole (zwarte schermpje) geprint word.

Wat je eventueel ook kunt proberen is in de SetTimerEx de 3de value (=repeater) naar 2 (ofzo) te zetten om te kijken of het dan wel werkt..

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