Geplaatst: 10 juli 200915 jaren comment_1409493 Vanboven bij men script: forward Jailtime(); new Jailpers; Bij OnGameModeInit: SetTimer("Jailtime",300000,false); Bij OnPlayerCommandText: if(strcmp(cmd, "/jail", true)==0) { if(!IsPlayerAdmin(playerid)) return 0; new giveplayerid; Jailpers = giveplayerid; tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_BLUE, "Use: /jail [id]"); return 1; } Jailpers = strval(tmp); if(!IsPlayerConnected(Jailpers)) { SendClientMessage(playerid, COLOR_GREEN, "Player is not online!"); return 1; } SetPlayerPos(Jailpers, 3792.5220,3023.9463,2.2903); ResetPlayerWeapons(Jailpers); ResetPlayerMoney(Jailpers); SendClientMessage(playerid, COLOR_WHITE, "Player jailed!"); SendClientMessage(Jailpers, COLOR_FUCHSIA, "You are jailed by an admin and your money and weapons are resetted!"); SendClientMessage(Jailpers, COLOR_FUCHSIA, "You are jailed for 5 minutes, just take a look around!"); GameTextForPlayer(Jailpers, "Jailed for 5 minutes!",2500,3); return 1; } Dus mijn probleem is dat ik elke keer automatisch na 5 minuten geunjailed wordt terwijl ik niet gejailed was. Ik bedoel ik spawn naar de plaats waar je spawnt als je geunjailde wordt. Bewerkt: 10 juli 200915 jaren door Freaksken
Geplaatst: 10 juli 200915 jaren Auteur comment_1409692 public Jailtime() { SetPlayerPos(Jailpers, 2326.6926,548.6821,7.7813); SendClientMessage(Jailpers, COLOR_FUCHSIA, "Your time in jail is over, don't ignore the rules again!"); GameTextForPlayer(Jailpers, "You are free now!",5000,3); } Staat dus onderaan men script hé.
Geplaatst: 10 juli 200915 jaren comment_1409797 forward Jailtime(playerid); // -------------------------------------------------------------------------------------------------------------------------- if(strcmp(cmd, "/jail", true)==0) { if(!IsPlayerAdmin(playerid)) return 0; new giveplayerid; tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_BLUE, "Use: /jail [id]"); return 1; } giveplayerid = strval(tmp); if(!IsPlayerConnected(giveplayerid)) { SendClientMessage(playerid, COLOR_GREEN, "Player is not online!"); return 1; } SetPlayerPos(giveplayerid, 3792.5220,3023.9463,2.2903); ResetPlayerWeapons(giveplayerid); ResetPlayerMoney(giveplayerid); SendClientMessage(playerid, COLOR_WHITE, "Player jailed!"); SendClientMessage(giveplayerid, COLOR_FUCHSIA, "You are jailed by an admin and your money and weapons are resetted!"); SendClientMessage(giveplayerid, COLOR_FUCHSIA, "You are jailed for 5 minutes, just take a look around!"); GameTextForPlayer(giveplayerid, "Jailed for 5 minutes!",2500,3); SetTimerEx("Jailtime", 30000, false, "i", giveplayerid); return 1; } // -------------------------------------------------------------------------------------------------------------------------- public Jailtime(playerid) { SetPlayerPos(playerid, 2326.6926,548.6821,7.7813); SendClientMessage(playerid, COLOR_FUCHSIA, "Your time in jail is over, don't ignore the rules again!"); GameTextForPlayer(playerid, "You are free now!",5000,3); } Even herschreven, zo werkt hij waarschijnlijk wel.
Geplaatst: 10 juli 200915 jaren comment_1409938 Je moet ook even logisch nadenken, hè. Wat is het nu om een timer te maken in OnGameModeInit? Die timer loopt na 5 minuten af en wat gebeurt er dan? Juist, niets!
Geplaatst: 11 juli 200915 jaren Auteur comment_1410443 forward Ship(playerid); forward IsPlayerInArea(playerid, Float:minx, Float:maxx, Float:miny, Float:maxy); forward Shiptime(playerid); ---------------------------------------------------------------------------------------------------------------------------------- SetTimer("Ship",400, 1); ---------------------------------------------------------------------------------------------------------------------------------- IsPlayerInArea(playerid, Float:minx, Float:maxx, Float:miny, Float:maxy) { new Float:x, Float:y, Float:z; GetPlayerPos(playerid, x, y, z); if (x > minx && x < maxx && y > miny && y < maxy) return 1; return 0; } public Ship(playerid) { for(new i = 0; i < MAX_PLAYERS; i++) { if(IsPlayerConnected(i)) { if (IsPlayerInArea(i,1974.312, 1504.199, 2025.075, 1581.56) == 1) { SetTimer("Shiptime", 1000, 1); } } } return 1; } public Shiptime(playerid) { GivePlayerMoney(playerid, 100); } OK, ik denk dus dat ik nu door heb dat ik niks kan van timers, de bedoeling is dus als je in diet gebied bent dat je elke seconde $100 krijgt. Bewerkt: 11 juli 200915 jaren door Freaksken
Geplaatst: 11 juli 200915 jaren comment_1410601 SetTimer("Ship", 1000, true); // 1000 ms is 1 seconde public Ship(playerid) { for(new i = 0; i <= MAX_PLAYERS; i++) { if(IsPlayerConnected(i)) { if (IsPlayerInArea(i,1974.312, 1504.199, 2025.075, 1581.56)) { GivePlayerMoney(i, 100); } } } return 1; }
Geplaatst: 11 juli 200915 jaren Auteur comment_1410698 Ik snap het even niet. Ik heb 2 timers, die alletwee geforward zijn: 1. Kijkt elke 400 ms of ik in dat gebied ben. (Late we voor de duidelijkheid Schipcheck zeggen) 2. Geeft me om elke seconde $100. (Late we voor de duidelijkheid Schipmoney zeggen) Ik heb ook het gebied (deuh). Dat is ook geforward. (Late we voor de duidelijkheid Schiparea zeggen) Schipcheck staat bij OnGameModeInit. Schipmoney staat ook bij OnGameModeInit. Dan heb je nog vanonder dat public Schipcheck ding. Daar staat de X-min,X-max,Y-min,Y-max van Schiparea in. Daar staat ook GivePlayerMoney bij. Dan heb je nog vanonder dat public Schipmoney ding. Maar wat moet daar dan bij? Als dit niet klopt, wil je dan aub alles voluit geven. Ik bedoel alles wat geforward moet worden, alles wat bij OnGameModeInit moet staan, en alls wat vanonder moet staan. Want nu begrijp ik er geen bal van. Thanx alvast.
Geplaatst: 11 juli 200915 jaren comment_1410884 Je hebt maar 1 timer nodig (of een timer per speler in OnPlayerSpawn). De timer checkt of je in dat gebied bent, en als dat zo is krijg je 100 dollar. Gezien het feit dat de timer in een loop staat heb je dat Shipmoney geval niet nodig.
Geplaatst: 12 juli 200915 jaren Auteur comment_1411140 Nee het werkt niet, ik krijg geen geld. Weet iemand mss wat het probleem is.
Vanboven bij men script:
Bij OnGameModeInit:
Bij OnPlayerCommandText:
Dus mijn probleem is dat ik elke keer automatisch na 5 minuten geunjailed wordt terwijl ik niet gejailed was.
Ik bedoel ik spawn naar de plaats waar je spawnt als je geunjailde wordt.
Bewerkt: door Freaksken