jorD1 Geplaatst: 27 maart 2009 Rapport Geplaatst: 27 maart 2009 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. Reageren
Big Boss Geplaatst: 27 maart 2009 Rapport Geplaatst: 27 maart 2009 (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: 27 maart 2009 door Big Boss Reageren
Sandra Geplaatst: 27 maart 2009 Rapport Geplaatst: 27 maart 2009 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 Reageren
jorD1 Geplaatst: 27 maart 2009 Auteur Rapport Geplaatst: 27 maart 2009 (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: 27 maart 2009 door jorD1 Reageren
Big Boss Geplaatst: 27 maart 2009 Rapport Geplaatst: 27 maart 2009 Eerst even duidelijk stellen: heb je een real time klok of een game klok? Reageren
jorD1 Geplaatst: 27 maart 2009 Auteur Rapport Geplaatst: 27 maart 2009 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 Reageren
Sandra Geplaatst: 27 maart 2009 Rapport Geplaatst: 27 maart 2009 Oke, de timer die de klok regelt, wat is de interval? een seconde of een minuut? Reageren
jorD1 Geplaatst: 28 maart 2009 Auteur Rapport Geplaatst: 28 maart 2009 Oke, de timer die de klok regelt, wat is de interval?een seconde of een minuut? minuut.... ....??? Reageren
Big Boss Geplaatst: 28 maart 2009 Rapport Geplaatst: 28 maart 2009 Je hebt ergens een SetTimer staan die de klok moet updaten, welk getal staat daar in? Reageren
jorD1 Geplaatst: 28 maart 2009 Auteur Rapport Geplaatst: 28 maart 2009 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 Reageren
$NeoSyp$ Geplaatst: 31 maart 2009 Rapport Geplaatst: 31 maart 2009 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 Reageren
Recommended Posts
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.