OnPlayerKeyStateChange
Vido sam ovo još davno al' me mrzelo da pišem tutorial tako da se izvinjavam, evo jedan gotivan način da smanjite clutter u OnPlayerKeyStateChange-u.
Znate kako neki modovi imaju fazon /pasos i takve komande? E pa sve češće viđam da modovi prelaze na KEYs, tj na primer da stisnete Y i da vam ono da pasoš.
Obično se koristi IsPlayerInRangeOfPoint i razne druge varijable ali mislim da je ovo nekako najbolje rešenje što ću vam sada pokazati.
Da se ne razumemo, ne govorim da je brže, verovatno jeste ali meni LIČNO lepše izgleda.
Evo primera kako da napravite vađenje pasoša sa Y ključem:
new passportArea = INVALID_STREAMER_ID;
public OnGameModeInit() {
passportArea = CreateDynamicSphere(250.0, 250.0, 31.0, 1.5, .worldid = 1, .interiorid = 0, .playerid = -1, .priority = 1);
return 1l
}
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(newkeys & KEY_YES && IsPlayerInDynamicArea(playerid, passportArea)) {
if (...) { // Ako igrac nema pasos
// Daj mu pasos
}
}
}Možete da koristite i gVars ako imate neke trenutne aree (koje ne postoje 24/7 nego samo u odr trenutku)
To bi bilo to, veoma kratak tutorial ako ga tako mogu nazvati 🙂
Credits: The Next Generation Gaming, LLC SA:MP