Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: Elvedin_Wayne poslato Januar 21, 2016, 17:22:55 POSLE PODNE

Naslov: [POMOC] Vozila..
Poruka od: Elvedin_Wayne poslato Januar 21, 2016, 17:22:55 POSLE PODNE
Skripta koju koristim: BE
Detaljan opis problema: Ovako znaci definisao sam vozila ovako na pocetku gore dodao [pawn]new avozila[15][/pawn]
i dodao sam dole dje su kreirana vozila [pawn]avozila[0] = DodajVozilo(...)
avozila[1] = DodajVozilo(...)[/pawn]
I dole dodao function ovako

[pawn]FUNCTION: AdminVozilo(carid)
{
   for(new i = 0; i < sizeof(avozila); i++)
   {
      if(carid == avozila)   return true;
   }
   return false;
}[/pawn]


Eh sad i dalje svi mogu da udju u to vozilo bez ikakvih problema kada sam pravio provjeru da ne mogu svi ulaziti u to vozilo,moze neka pomoc?


[pawn]else if(AdminVozilo(vozilo))
       {
          if(PI[playerid][pAdmin] > 0)
         {
             if(AdminDuty[playerid] == 0)
             {
                 lz_RemovePlayerFromVehicle(playerid);
                Error(playerid, "Moras biti na duznosti kako bi vozio ovo vozilo!");
             }
         }
          else
         {
             lz_RemovePlayerFromVehicle(playerid);
             Error(playerid, "Nemas kljuceve od ovog vozila.");
         }
         }[/pawn]
Dio skripte: Dato je ...
Neke slike/video za lakse dobivanje pomoci(neobavezno): Objasnjeno je fino,smatram da je do onoga function,e ne znam kako sada da napravim sva ta vozila u FUNCTION, osim na ovaj nacin kao sto je bilo default u modu:

[pawn]FUNCTION: AdminVozilo(carid)
{
   if((carid >= 206 && carid <= 210) || (carid >= 477 && carid <= 481) || (carid >= 723 && carid <= 726))
   {
      return true;
   }
   return false;
}[/pawn]
Naslov: Odg: [POMOC] Vozila..
Poruka od: LAVendeta poslato Januar 21, 2016, 19:49:57 POSLE PODNE
Ja radim ovako pa ti probaj.Trebalo bi da ti radi.
Prvo definises ovako
[pawn]new vozilo1;
new vozilo2;
//Itako dalje[/pawn]
Zatim napravis stock.ovako
[pawn]stock Vozila(carid)
{
if ((carid >= vozilo1) && (carid == vozilo2)) /*Mozes ovako ako imas malo vozila,ako imas vise onda if(carid > vozilo1) pa do do poslednjeg */
{
return 1;
}
return 0;
}[/pawn]
naravno definises dole na vozila vizilo1 = AddStaticVehicle...
I sad kada proveravas ovako ulaz u vozilo ovako radis.
[pawn]public OnPlayerStateChange(playerid, newstate, oldstate)
{
   new vehicleid = GetPlayerVehicleID(playerid);
   if(newstate == PLAYER_STATE_DRIVER)
   {
      if(Vozila(vehicleid))
      {[/pawn]
Naslov: Odg: [POMOC] Vozila..
Poruka od: Elvedin_Wayne poslato Januar 21, 2016, 20:49:10 POSLE PODNE
Pa vidi to je samo za jednu vrstu vozila,al sta mislis da za svako organizaciju pravim toliko new-ova ,msm za svako vozilo,a vozila ima oko 285..
Malo nerealno toliko napravit new-owa...
Naslov: Odg: [POMOC] Vozila..
Poruka od: LAVendeta poslato Januar 21, 2016, 20:53:09 POSLE PODNE
Koristi new Vozila[broj];
Naslov: Odg: [POMOC] Vozila..
Poruka od: Elvedin_Wayne poslato Januar 21, 2016, 21:01:28 POSLE PODNE
Pa tako vec i jesam,kao sto vidis ali problem je u ovome FUNCTION ili ti ga stock-u ...

Fazon je sto na ovaj nacin na koji sam ja uradio ne radi...
Naslov: Odg: [POMOC] Vozila..
Poruka od: Elvedin_Wayne poslato Januar 22, 2016, 12:10:43 POSLE PODNE
Refresh
Naslov: Odg: [POMOC] Vozila..
Poruka od: Arkoo poslato Januar 22, 2016, 14:28:40 POSLE PODNE
Probaj ovako.
Postavi ovo na onplayerstatechange
[pawn]       if(AdminVozilo(vozilo))
      {
          if(PlayerInfo[playerid][pAdmin] == 0)
          {
              SCM(playerid, -1, "Niste admin");
              RemovePlayerFromVehicle(playerid);
         }
else return SCM(playerid, -1, "Vi ste admin zato mozete da vozite ovo vozilo");
      }[/pawn]
ovo medju ostale stock
[pawn]stock AdminVozilo(carid)
{
   for(new i = 0; i < sizeof(avozila); i++)
   {
      if(carid == avozila)   return 1;
   }
   return 0;
}[/pawn]
Naslov: Odg: [POMOC] Vozila..
Poruka od: Elvedin_Wayne poslato Januar 22, 2016, 19:57:53 POSLE PODNE
Pa tako mi vec i jeste,vidis gore da sam tako napravio...
Naslov: Odg: [POMOC] Vozila..
Poruka od: Elvedin_Wayne poslato Januar 23, 2016, 17:16:03 POSLE PODNE
refresh
Naslov: Odg: [POMOC] Vozila..
Poruka od: Fichoâ„¢ poslato Januar 23, 2016, 21:33:31 POSLE PODNE
Probaj u printat u log ID-ove vozila npr

Ovo na kraj od ongamemodeinit stavi
for(new i = 0; i < sizeof(avozila); i++)
{
      printf("ID: %d",avozila);
}

i javi šta ti izbaci...
Naslov: Odg: [POMOC] Vozila..
Poruka od: Elvedin_Wayne poslato Januar 23, 2016, 23:41:53 POSLE PODNE
Citat: Fichoâ,,¢ poslato Januar 23, 2016, 21:33:31 POSLE PODNE
Probaj u printat u log ID-ove vozila npr

Ovo na kraj od ongamemodeinit stavi
for(new i = 0; i < sizeof(avozila); i++)
{
      printf("ID: %d",avozila);
}

i javi šta ti izbaci...



Ček ček ,kada to stavim ,sta cu radit kada dobijem IDove tih vozila ?
Naslov: Odg: [POMOC] Vozila..
Poruka od: Fichoâ„¢ poslato Januar 24, 2016, 01:21:01 PRE PODNE
Čisto da vidiš da li će ti ih ispisat i ako ispiše da li su uredu jer možda je do funkcije "DodajVozilo" nešto