Jump to content

elke keer als de klok half en heel slaat 1000 krijgen


Recommended Posts

Geplaatst:

ik probber al een tijdje te maken dat als de klok heel of half slaat je 1000 krijgt en word ge healed.

maar ik krijg het niet echt in elkaar. ik weet wel dat je. getplayertime en public en forward nodig hebt.

Het is me wel gelukt om omde 30 minuten het te laten gebeuren maar als je dan om kwart over joined dan krijg je om kwart voor.

ik hoop dat iemand mij kan helpen.

Geplaatst: (bewerkt)

Je hebt ergens een timer staan die de klok update als het goed is (Real time klok, neem ik aan?).

Stel, je hebt dit:

new hours, minutes, seconds;
gettime(hours, minutes, seconds);

Dan voeg je bij die updater, zoals ik het nu maar even noem dit toe:

if(minutes == 0  || minutes == 30)
{
for(new i = 0; i <= MAX_PLAYERS; i++)
{
	GivePlayerMoney(i, 1000);
}
}

Bewerkt: door Big Boss
Geplaatst:

Als die timer elke seconde loopt, zou ik, als ik jou was, ook checken of 'seconds' op dat moment wel 0 is. Anders krijg je telkens een minuut lang elke seconde $1000

Geplaatst: (bewerkt)

ik sanp het niet

heb nu dit:

bovenaan:

new hours, minutes;

bij OnGameModeInit

		SetTimer("PayDay", 30000, 1);

zodat het onderste om de 30 sec wordt uitgevoerd

onderaan:

forward PayDay();
public PayDay()
{
for(new i; i<MAX_PLAYERS; i++)
{
	if(IsPlayerConnected(i))
	{	   
			GetPlayerTime(i, hours, minutes);
			if(minutes == 39  || minutes == 38)
			{
					if(logged[i] == 1){
					new string[50];
					format(string, sizeof(string), "~r~ Payday!!!~n~~w~ you got $%d", 1000*level[i]);
					GameTextForPlayer(i, string, 6000, 1);
					GivePlayerMoney(i, 1000*level[i]);
					}
					else if(logged[i] == 0){
					SendClientMessage(i, COLOR_RED, "Sorry because you aren't logged in you don't get anything");
					}
			}
	}
}
}

het lukt wel voor elk halfuur dat je ingelogd bent wat geven dan moet

new hours, minutes;

weg en zit het onderste er zo uit:

forward PayDay();
public PayDay()
{
for(new i; i<MAX_PLAYERS; i++)
{
	if(IsPlayerConnected(i))
	{	   
			if(logged[i] == 1){
			new string[50];
			format(string, sizeof(string), "~r~ Payday!!!~n~~w~ you got $%d", 1000*level[i]);
			GameTextForPlayer(i, string, 6000, 1);
			GivePlayerMoney(i, 1000*level[i]);
			}
			else if(logged[i] == 0){
			SendClientMessage(i, COLOR_RED, "Sorry because you aren't logged in you don't get anything");
			}
	}
}
}

Bewerkt: door jorD1
Geplaatst:
Eerst even duidelijk stellen: heb je een real time klok of een game klok?

realtime clock. ingame 1 uur in het echt ook 1 uur

Geplaatst:
Oke, de timer die de klok regelt, wat is de interval?

een seconde of een minuut?

minuut....

....???

Geplaatst:
Je hebt ergens een SetTimer staan die de klok moet updaten, welk getal staat daar in?

ow dat gaat om de 30sec dus het getal:30000

Geplaatst:

Die moet je dan veranderen in 1 minuut (60000), anders krijg je twee keer in die minuut die 1000. Wat je beter kunt doen is controleren of de seconden op 0 staan, en wel zo:

forward PayDay();
new hours, minutes, seconds;
public PayDay()
{
for(new i; i<MAX_PLAYERS; i++)
{
	if(IsPlayerConnected(i))
	{	   
			GetTime(hours, minutes, seconds);
			if(minutes == 39  || minutes == 38)
			{
					if(seconds == 0)
					{
							 if(logged[i] == 1)
							 {
							 new string[50];
							 format(string, sizeof(string), "~r~ Payday!!!~n~~w~ you got $%d", 1000*level[i]);
							 GameTextForPlayer(i, string, 6000, 1);
							 GivePlayerMoney(i, 1000*level[i]);
							 }
							 else if(logged[i] == 0)
							 {
							 SendClientMessage(i, COLOR_RED, "Sorry because you aren't logged in you don't get anything");
							 }
					}
			}
	}
}
}

Zoiets zou moeten werken :)

Mvg,

NeoSyp

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