Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: Schone123 poslato April 23, 2018, 13:16:35 POSLE PODNE

Naslov: Admin vozila
Poruka od: Schone123 poslato April 23, 2018, 13:16:35 POSLE PODNE
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): /
Naslov: Odg: Admin vozila
Poruka od: bunta poslato April 23, 2018, 13:17:57 POSLE PODNE
[ pawn ]Ubacicu ako treba[ /pawn ]
Pa ubaci
Naslov: Odg: Admin vozila
Poruka od: xsar.p poslato April 23, 2018, 13:47:09 POSLE PODNE
Pogledaj tut, sve ce ti biti jasno.
https://www.youtube.com/watch?v=jHmYlY33xPI
Naslov: Odg: Admin vozila
Poruka od: Bašovski poslato April 23, 2018, 14:25:40 POSLE PODNE
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.