Geplaatst: 13 juni 201014 jaren comment_1672660 heeft iemand een code van: dat als je harder dan 100 gaat dat je dan een ster krijgt? of weet iemand hoe je dat kan maken, ik heb al op google zitten zoeken maar ik kan niks vinden. alvast bedankt
Geplaatst: 13 juni 201014 jaren Auteur comment_1672694 Ik heb wel iets als dit gevonden. stock GetPlayerSpeed(playerid) // zet dit vanonder in je gamemode! { new Float:X, Float:Y, Float:Z; if(IsPlayerInAnyVehicle(playerid)) { GetVehicleVelocity(GetPlayerVehicleID(playerid), X, Y, Z); return floatround(floatmul(floatmul(floatsqroot(floatpower(floatabs(X), 2) + floatpower(floatabs(Y), 2) + floatpower(floatabs(Z), 2)), 100), 1.621371192), floatround_round); } else { GetPlayerVelocity(playerid, X, Y, Z); return floatround(floatmul(floatmul(floatsqroot(floatpower(floatabs(X), 2) + floatpower(floatabs(Y), 2) + floatpower(floatabs(Z), 2)), 100), 1.621371192), floatround_round); } } maar weet iemand hoe je hiermee kan maken dat als je harder dan 100 gaat je 1 ster krijgt?
Geplaatst: 13 juni 201014 jaren comment_1672727 Timer of OnPlayerUpdate. if(GetPlayerSpeed(playerid) > 100)) { new level = GetPlayerWantedLevel(playerid); SetPlayerWantedLevel(playerid, level+1); } Het probleem hiermee is echter dat je sterren zal blijven krijgen zolang je harder als 100 rijdt. Om het op te lossen kan je een variabele gebruiken.
Geplaatst: 13 juni 201014 jaren comment_1672775 Timer of OnPlayerUpdate. if(GetPlayerSpeed(playerid) > 100)) { new level = GetPlayerWantedLevel(playerid); SetPlayerWantedLevel(playerid, level+1); } Het probleem hiermee is echter dat je sterren zal blijven krijgen zolang je harder als 100 rijdt. Om het op te lossen kan je een variabele gebruiken. Waarom die extra variable? Dat is enkel maar verspilling van geheugen. if(GetPlayerSpeed(playerid) > 100)) { SetPlayerWantedLevel(playerid, GetPlayerWantedLevel(playerid)+1); } Bewerkt: 13 juni 201014 jaren door megadreams
Geplaatst: 13 juni 201014 jaren comment_1672808 Zo bedoel ik het niet. Stel: Die timer is om de 1000 ms herhaald. Op een gegeven moment rijd je meer dan honderd. Je krijgt nu 1 ster. Eén seconde later rijd je waarschijnlijk nog steeds meer dan honderd. Je krijgt nu een tweede ster. Etcetera Om dit te voorkomen zal je een variabele (niet new level, dat hoort er niet bij) moeten zetten zodat je niet eindeloos sterren blijft krijgen.
Geplaatst: 14 juni 201014 jaren comment_1672852 Ja weet ik maar ik zorgde er gewoon voor dat in dat mini stukje je geen teveel geheugen gebruikt.
Geplaatst: 14 juni 201014 jaren Auteur comment_1672854 error : (873) : error 029: invalid expression, assumed zero 873 if(GetPlayerSpeed(playerid) > 100)) ben ik misschien wat vergeten? Bewerkt: 14 juni 201014 jaren door ted80
Geplaatst: 14 juni 201014 jaren Auteur comment_1672858 forward speed(playerid); public OnGameModeInit() { SetTimer("speed", 1000, true); return 1; } public speed(playerid) { if(GetPlayerSpeed(playerid) > 100)) { SetPlayerWantedLevel(playerid, GetPlayerWantedLevel(playerid)+1); } return 1; }
Geplaatst: 14 juni 201014 jaren comment_1672939 Je maakt een public met een variabele (playerid), maar je geeft die variabele nergens door. Dus maak je ofwel een timer voor elke speler apart ofwel een loop: forward speed(); public OnGameModeInit() { SetTimer("speed", 1000, true); return 1; } public speed() { for(new i = 0; i < MAX_PLAYERS; i++) { if(!IsPlayerConnected(i) || !IsPlayerInAnyVehicle(i)) continue; if(GetPlayerSpeed(i) > 100)) { SetPlayerWantedLevel(i, GetPlayerWantedLevel(i)+1); } } return 1; } Bewerkt: 14 juni 201014 jaren door Big Boss
Geplaatst: 14 juni 201014 jaren comment_1672954 We hebben beide dezelfde fout behouden in GetPlayerSpeed die laatste ) moet weg. forward speed(); public OnGameModeInit() { SetTimer("speed", 1000, true); return 1; } public speed() { for(new i = 0; i < MAX_PLAYERS; i++) { if(!IsPlayerConnected(i) || !IsPlayerInAnyVehicle(i)) continue; if(GetPlayerSpeed(i) > 100) { SetPlayerWantedLevel(i, GetPlayerWantedLevel(i)+1); } } return 1; } EDIT: Deze code kan je gebruiken als je wil dat hij niet gaat proberen het wanted lvl hoger te zetten dan 6 wat natuurlijk niet gaat: forward speed(); public OnGameModeInit() { SetTimer("speed", 1000, true); return 1; } public speed() { for(new i = 0; i < MAX_PLAYERS; i++) { if(!IsPlayerConnected(i) || !IsPlayerInAnyVehicle(i)) continue; if(GetPlayerWantedLevel(i) >= "6") continue; if(GetPlayerSpeed(i) > 100) { SetPlayerWantedLevel(i, GetPlayerWantedLevel(i)+1); } } return 1; } Bewerkt: 14 juni 201014 jaren door megadreams
Geplaatst: 14 juni 201014 jaren comment_1672979 Oke, maar zoals ze al hebben gezegd: Nu krijg je steeds extra wanted, elke seconde lang! Je kan er ook voor zorgen dat je elke minuut één extra kan krijgen. Ik zal ALLES even geven #include <a_samp> #define MAX_SPEED 100 //Maximale snelheid, veranderen! new wantedup[MAX_PLAYERS]; forward GetPlayerSpeed(playerid); forward WantedAgain(playerid); forward speed(); public OnFilterScriptInit() { SetTimer("speed", 1000, true); return 1; } public speed() { for(new i = 0; i < MAX_PLAYERS; i++) { if(!IsPlayerConnected(i) || !IsPlayerInAnyVehicle(i)) continue; if(GetPlayerSpeed(i) >= MAX_SPEED) { if(wantedup[i] == 0) { SetPlayerWantedLevel(i, (GetPlayerWantedLevel(i)+1)); SetTimerEx("WantedAgain", 60000, false, "i", i); wantedup[i] = 1; } } } } public WantedAgain(playerid) { wantedup[playerid] = 0; } stock GetPlayerSpeed(playerid) { new Float:X, Float:Y, Float:Z; if(IsPlayerInAnyVehicle(playerid)) { GetVehicleVelocity(GetPlayerVehicleID(playerid), X, Y, Z); return floatround(floatmul(floatmul(floatsqroot(floatpower(floatabs(X), 2) + floatpower(floatabs(Y), 2) + floatpower(floatabs(Z), 2)), 100), 1.621371192), floatround_round); } else { GetPlayerVelocity(playerid, X, Y, Z); return floatround(floatmul(floatmul(floatsqroot(floatpower(floatabs(X), 2) + floatpower(floatabs(Y), 2) + floatpower(floatabs(Z), 2)), 100), 1.621371192), floatround_round); } } Ik weet niet of hij het doet, maar ik ga er wel van uit Je hebt iig geen errors/warnings Gvm Bewerkt: 14 juni 201014 jaren door Kwarde
heeft iemand een code van: dat als je harder dan 100 gaat dat je dan een ster krijgt? of weet iemand hoe je dat kan maken, ik heb al op google zitten zoeken maar ik kan niks vinden. alvast bedankt