[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?

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:

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:

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?