Jump to content
Geplaatst:
comment_1355987

ik wil er voor zorgen dat een definitie, bijvoorbeeld

#define Jobmoney 1500

kan veranderen op basis van het aantal mensen dat online is. ik heb het geprobeerd met GetMaxPlayers, maar dat krijg ik niet voor elkaar omdat het niet in een public staat. hoe kan ik er voor zorgen dat dat wel werkt?

Featured Replies

Geplaatst:
comment_1355994

Ik denk dat jij wilt weten hoe je het aantal spelers online wilt laten weergeven? Ik denk dat ik wel wet hoe dat moet :Y

new PlayersOnline;
forward PlayerCount()

OnGameModeInit
{
	 SetTimer("PlayerCount", 500, true);
}

public PlayerCount()
for(new i = 0; i <= MAX_PLAYERS; i++)
{
	if(IsPlayerConnected(i))
	{
	PlayersOnline ++;
		   //Doe iets, met een TextDrawSetString ofzo
	}
	return 1;
}

Wat je ook kan doen:

public OnPlayerCommandText(playerid, cmdtext[])
{
	if (strcmp("/ponline", cmdtext, true) == 0)
{
			 for(new i = 0; i <= MAX_PLAYERS; i++)
			 {
					 if(IsPlayerConnected(i))
					 {
							new PlayersOnline;
							new string[256];
							PlayersOnline ++;
							format(string, sizeof(string), "%d players online!", PlayersOnline);
							SendClientMessage(playerid, COLOR, string);
							return 1;
					 }
			 }
	}
	return 1;
}

Als dit niet is wat je bedoelt, zeg het dan even ;)

EDIT: Hmm, uitlijning werkt niet lekker :N

Bewerkt: door Remi-X

Geplaatst:
  • Auteur
comment_1356022

nee, dat is niet wat ik bedoel. stel je voor:

ik heb een definitie:

#define lol 1000

ik wil die definitie op 1000 hebben als er minder dan 10 mensen zijn, als er 10-20 mensen zijn wil ik bijvoorbeeld:

#define lol 2000

hoe kan ik daar voor zorgen?

Bewerkt: door thuron

Geplaatst:
comment_1356040

new PlayersOnline;
forward Defines();

OnGameModeInit()
{
 SetTimer("Defines", 500, true);
}

public Defines()
{
 for(new i = 0; i <= MAX_PLAYERS; i++)
 {
	  if(IsPlayerConnected(i))
	  {
		   PlayersOnline ++; //Aantal spelers tellen
	  }
 }
 if(PlayersOnline <= 10) //dus 10 en minder
 {
	  #undef NAME //Zorgen dat de vorige define word uitgeschakeld
	  #define NAME 10 //En zet hem opnieuw
 }
 else if(PlayersOnline > 10 || PlayersOnline <= 20) //Van 11 tot en met 20
 {
	  #undef NAME
	  #define NAME 20
 }
 return 1;
}

Bedoel je zoeits? Gaat veel code worden, maa ik weet zo snel even geen andere manier.

Bewerkt: door Remi-X

Geplaatst:
comment_1356174

Lees de hoofdpost nou eens :duh:

Hij wil JUIST dat die definities kunnen worden veranderd, dus wat ik doe is goed. En 'Definitie' betekent niet dat het maar 1 betekenis heeft. Het weer, en alweer, 2 verschillende 'definities' van 'weer'. Ik defineer hier ook verschillende waarden, voor 1 ding.

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.