[POMOC] Kako odbiti ulazak igraca u vlak


Započeo [CM] BrunoHP, Novembar 12, 2010, 17:55:27 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

Postavio sam posao vlakovode, ali nemogu napraviti da odbije igracu ulazak u vlak ako nije vlakovoda. Prvo sam napravio da ako igrac ude u lokomotivu, izbaci ga. Ali mi je pisalo "Niste vlakovodja!" i nije izasao. Te sam napravio sistem ako igrac pokusa uci u vlak, napravi da se nista nije dogodilo. To radi na drugim vozilima, ali na vlaku neradi.

btw., kako napraviti da se CP nece prihvatiti ako igrac neide 5kmh kod tog CP-a?

Kod: c
if(PlayerInfo[playerid][pJob] == xx) {  
       return true; }  
else  {  
new
    Float:X,
    Float:Y,
    Float:Z
;
GetPlayerPos(playerid, X, Y, Z);  
SetPlayerPos(playerid, X+random(2), Y+random(2), Z+0.75);  
SendClientMessage(playerid, 0x000000FF, "Nemas posao masinovodje.");  }  


Ovaj moj kod ti je sigurniji, jer u onom iznad nemas return valute, takoder sam dodao random da ga malo odbaci vise od vrata jer ako puno puta stisces enter svejedno ce uci u vlak ovako ce ga stalno odbaciti malo

Ali moj savjet ti je da koristis ovaj tu kod:

Kod: c
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
	new
		vehicleid = GetPlayerVehicleID(playerid)
	;
	if(VlakID(vehicleid)){
    if(PlayerInfo[playerid][pJob] != ID_POSLA) {
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid, BOJA, "Nisi vlakovodja."); } }
	return true
}

stock VlakID(id)
{
	  if(id == ID_VLAKA || id == ID_VLAKA2) {
	  return true; }
	  return false;
}


Poslednja Izmena: Novembar 13, 2010, 00:25:38 PRE PODNE od [H]265
Kristijan Stipić

Tj. umjesto ove moje stock funkcije za provjeru ID vlaka ima bolji nacin a to je preko macro funkcije....

#define VlakID(%0) (GetPlayerVehicleID(%0) == ID_1|| GetVehicleModel(%0) == ID_2)


Moj savjet je: Macro funkcija a ti odaberi sta oces ;)

Citat: Lucifer / Louis_Cyphere poslato Novembar 13, 2010, 00:20:32 PRE PODNE
masinovodje hahahah  :D :D :D :D :D :D jebote Ä'e me naÄ'e... btw... ovo drugo ti je bolje xD samo naravno nemoj stavit masinovodje... hehe
Ja sam samo popravio tj. malo doradio kod od ovog Hoxxy ( ili kako vec ) pa je ostalo masinovodja
Poslednja Izmena: Novembar 13, 2010, 00:30:46 PRE PODNE od [H]265
Kristijan Stipić

Eto rjesio sam to sa ulaskom, ovo vase nije radilo ali sam isao copy paste od /slap komande i sada radi. Kada igrac ude u vlak, pojavi se na krovu vlaka. To sam rijesio, nego kako sada da napravim provjeru brzine?
Poslednja Izmena: Novembar 13, 2010, 11:32:54 PRE PODNE od BrunoHP

Slap komanda samo upravlja Z pozicijom znaci time nisi napravio NISTA! Jer te samo podigne u zrak ali X & Y pozicija je ISTA!

A da koristis ovaj moj kod, ovaj drugi:

Kod: c
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)  
{  
   new  
      vehicleid = GetPlayerVehicleID(playerid)  
   ;  
   if(VlakID(vehicleid)){  
    if(PlayerInfo[playerid][pJob] != ID_POSLA) {  
    RemovePlayerFromVehicle(playerid);  
    SendClientMessage(playerid, BOJA, "Nisi vlakovodja."); } }  
   return true  
}  
  
stock VlakID(id)  
{  
     if(id == ID_VLAKA || id == ID_VLAKA2) {  
     return true; }  
     return false;  
} 
Nebi imao problema sa time
Poslednja Izmena: Novembar 13, 2010, 15:37:54 POSLE PODNE od [H]265
Kristijan Stipić

To sam vec pokuso i nije funkcioniralo, ovo me podiglo na krov vlaka. I nek tako ostane jer mi nesmeta! Sada me zanima kako da napravim provjeru brzine?