Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: SlicK poslato Januar 13, 2011, 20:28:38 POSLE PODNE

Naslov: [Pomoc]OnPlayerEnterVehicle
Poruka od: SlicK poslato Januar 13, 2011, 20:28:38 POSLE PODNE
Dakle ovako! Stavim ovo:
if(vehicleid == 1)
{
if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
{
   if(GetPVarInt(playerid,"Posao") != 1)
{
   STM(playerid,BIJELA_BOJA,"Nemate posao vlakovode!");
new Float:X,Float:Y,Float:Z;
GetPlayerPos(playerid,X,Y,Z);
SetPlayerPos(playerid,X,Y,Z);
SetCameraBehindPlayer(playerid);
}
else
{
   SCM(playerid,POSAO_BOJA,"Usli ste u poslovno vozilo!");
   SCM(playerid,BIJELA_BOJA,"INFO: Za svu pomoc oko komanda koristite /phelp!");
}
}
}

ispod "OnPlayerEnterVehicle" i kad udem vozilo a nemam posao vlakovode ne izbaciva me niti nista,a kad maknem "if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)" onda radi! Ako netko zna zasto ne radi molim da mi pomogne! :S

Hvala!
Naslov: Odg: [Pomoc]OnPlayerEnterVehicle
Poruka od: BalcanNation poslato Januar 13, 2011, 20:33:11 POSLE PODNE
OnPlayerEnterVehicle ti se zove kada kliknes enter, i server detektira da je pored tebe vozilo da udes u njega.
Dobi se ID tog vozila i salje sevreru.

Ti zelis da ga izbaci, i server ga pokusa izbaciti, ali posto se ta funkcija zvala dok igrac nije u autu, tj kada je stisnuo enter i krenuo prema autu server ga nemoze izvaditi iz auta jer nije u njemu.

Stavi tu funkciju pod OnPlayerStateChange i napisi if(newstate == PLAYER_STATE_DRIVER) jer ti se onda tek kada igrac sjedne zove funkcija.

Nadam se da je pomoglo ;)
Naslov: Odg: [Pomoc]OnPlayerEnterVehicle
Poruka od: SlicK poslato Januar 13, 2011, 20:35:11 POSLE PODNE
Citat: BalcanNation poslato Januar 13, 2011, 20:33:11 POSLE PODNE
OnPlayerEnterVehicle ti se zove kada kliknes enter, i server detektira da je pored tebe vozilo da udes u njega.
Dobi se ID tog vozila i salje sevreru.

Ti zelis da ga izbaci, i server ga pokusa izbaciti, ali posto se ta funkcija zvala dok igrac nije u autu, tj kada je stisnuo enter i krenuo prema autu server ga nemoze izvaditi iz auta jer nije u njemu.

Stavi tu funkciju pod OnPlayerStateChange i napisi if(newstate == PLAYER_STATE_DRIVER) jer ti se onda tek kada igrac sjedne zove funkcija.

Nadam se da je pomoglo ;)
A bas mi i nije pomoglo jer ja zelim da dok igrac pokusa uc u auto da nemoze niti uc ako nema taj posao ali ako nije vozac da slobodno sjedne u auto... >:(
Naslov: Odg: [Pomoc]OnPlayerEnterVehicle
Poruka od: BalcanNation poslato Januar 13, 2011, 20:41:49 POSLE PODNE
Onda radi ovako:

tamo umjesto RemovePlayerFromVehicle napisi TogglePlayerControllable(playerid, 0);  i onda TogglePlayerControllable(playerid, 1);

mislim da ce ti to pomoci, probaj dali radi ako ne radi onda ces morati dodati ovako:


TogglePlayerControllable(playerid, 0); < umjesto RemovePla....
SetTimerEx("UnfreezePlayer",100,0,"d",playerid); < dodaj ovaj timer

forward UnfreezePlayer(playerid);
public UnfreezePlayer(playerid) return TogglePlayerControllable(playerid, 1);


ili ovaj public mozes napisati ovako, kako zelis

public UnfreezePlayer(playerid)
{
TogglePlayerControllable(playerid, 1);
return 1;
}


Nisam compilao pa provjeri od errora
Naslov: Odg: [Pomoc]OnPlayerEnterVehicle
Poruka od: SlicK poslato Januar 13, 2011, 22:23:21 POSLE PODNE
Citat: BalcanNation poslato Januar 13, 2011, 20:41:49 POSLE PODNE
Onda radi ovako:

tamo umjesto RemovePlayerFromVehicle napisi TogglePlayerControllable(playerid, 0);  i onda TogglePlayerControllable(playerid, 1);

mislim da ce ti to pomoci, probaj dali radi ako ne radi onda ces morati dodati ovako:


TogglePlayerControllable(playerid, 0); < umjesto RemovePla....
SetTimerEx("UnfreezePlayer",100,0,"d",playerid); < dodaj ovaj timer

forward UnfreezePlayer(playerid);
public UnfreezePlayer(playerid) return TogglePlayerControllable(playerid, 1);


ili ovaj public mozes napisati ovako, kako zelis

public UnfreezePlayer(playerid)
{
TogglePlayerControllable(playerid, 1);
return 1;
}


Nisam compilao pa provjeri od errora

Ne razumijes me...Pogledaj malo bolje sta sam ja napravio:
new Float:X,Float:Y,Float:Z;
GetPlayerPos(playerid,X,Y,Z);
SetPlayerPos(playerid,X,Y,Z);

Znaci da necu moc uc u vozilo!Ne treba mi freeze i unfreeze...Ali mene muci kad to napravim nemogu otic niti "g" u to vozilo...Htio bi da se moze "g" ali da nemozes uc sa "f"!

EDIT: ok,sredio sam zaboravio sam da mogu koristit "ispassenger"!
Naslov: Odg: [Pomoc]OnPlayerEnterVehicle
Poruka od: BalcanNation poslato Januar 13, 2011, 22:37:27 POSLE PODNE
neznam cudno mi je tu nesto, ako je GetPlayerState(playerid) == PLAYER_STATE_DRIVER onda ti nebi trebalo ako ides g...neznam
Naslov: Odg: [Pomoc]OnPlayerEnterVehicle
Poruka od: LuKsA poslato Januar 14, 2011, 08:39:15 PRE PODNE
balcannation ne kompliciraj omg, jednostavno kada igrac pritisne enter, tj. kada se poziva OnPlayerEnterVehicle, nek stavi timer na igraca npr. 2 sec, pa tek onda da se izvrsi taj kod koji se treba izvrsiti, ili jednostavno slozi na OnPlayerStateChange
Naslov: Odg: [Pomoc]OnPlayerEnterVehicle
Poruka od: SlicK poslato Januar 14, 2011, 23:16:59 POSLE PODNE
Citat: LuKsA poslato Januar 14, 2011, 08:39:15 PRE PODNE
balcannation ne kompliciraj omg, jednostavno kada igrac pritisne enter, tj. kada se poziva OnPlayerEnterVehicle, nek stavi timer na igraca npr. 2 sec, pa tek onda da se izvrsi taj kod koji se treba izvrsiti, ili jednostavno slozi na OnPlayerStateChange
Ma nema pomoci od toga...Napravio sam ovako i radi :)

if(vehicleid == 1)
{
if(!ispassenger)
{
   if(GetPVarInt(playerid,"Posao") != 1)
{
   STM(playerid,BIJELA_BOJA,"Nemate posao vlakovode!");
new Float:X,Float:Y,Float:Z;
GetPlayerPos(playerid,X,Y,Z);
SetPlayerPos(playerid,X,Y,Z);
SetCameraBehindPlayer(playerid);
}
else
{
   SCM(playerid,POSAO_BOJA,"Usli ste u poslovno vozilo!");
   SCM(playerid,BIJELA_BOJA,"INFO: Za svu pomoc oko komanda koristite /phelp!");
}
}
}