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!
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 ;)
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... >:(
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
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"!
neznam cudno mi je tu nesto, ako je GetPlayerState(playerid) == PLAYER_STATE_DRIVER onda ti nebi trebalo ako ides g...neznam
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
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!");
}
}
}