Problem(error/warning): Kako da odradim da kad ukucam /avozilo i stvori mi se da ne moze obican igrac uci u njega nego samo admin
Dio skripte: [ pawn ]Ubacicu ako treba[ /pawn ]
Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log): [ code ]/[ /code ]
Slika/video ingame problema(obavezno ako je ingame problem): /
[ pawn ]Ubacicu ako treba[ /pawn ]
Pa ubaci
Pogledaj tut, sve ce ti biti jasno.
https://www.youtube.com/watch?v=jHmYlY33xPI
Koristi varijablu kojom ces oznaciti sve idove vozila.
[pawn]new bool:adminveh[ MAX_VEHICLES ];[/pawn]
da bi proslo deklarisanje varijable moras imati definisano MAX_VEHICLES u skripti. stavljas u kodu ispod definicije.
Napisat cu ti primjer kako da definises varijablu adminveh.
[pawn]static x = CreateVehicle( model, x, y, z, rz, boja, boja2, rdelay );
adminveh [ x ]= true;[/pawn]
Ovime postavljas da ti je vozilo iznad kreirano admin vozilo, server ce ga ucitati kao ID vozila.
Mozes pozvati provjeru i zabranu ulaska u OnPlayerStateChange ili na OnPlayerEnterVehicle.
U primjeru ispod ces koristit vec postojeci parametar iz callbacka OnPlayerEnterVehicle, a to je vehicleid.
[pawn]if( adminveh [ vehicleid ] == true ) {
new Float:x, Float:y, Float:z;
GetPlayerPos( playerid, x, y, z );
SetPlayerPos( playerid, x, y, z );
}
[/pawn]
Kodom iznad cemo prekinuti ulazenje u vozilo te vratiti igraca na pocetnu poziciju na mjestu ulaska.
Obavezno postavi vrijednost adminveh na false na OnGameModeInit jer po defaultu sve boolean varijable u PAWNu su true.
[pawn]OnGameModeInit () {
for( new i; i < MAX_VEHICLES; i++ ) adminveh [ i ] = false;
return true;
}
[/pawn]
Na brisanju vozila mozes vratiti varijablu na false jer ce sljedece vozilo biti definisano pod adminskim vozilom.
Nadam se da si nesto naucio iz svega ovoga.