Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: fiu poslato Maj 05, 2020, 15:15:30 POSLE PODNE

Naslov: Vozila na organizacije
Poruka od: fiu poslato Maj 05, 2020, 15:15:30 POSLE PODNE
Problem(error/warning): Pa uradio sam admin da kreira vozila org, e sad problem je sto kad udjem u vozilo i da sam lider gsf i da sam lider pd mogu da vozim to vozilo, a eto primer ja sam stavio ORG id 10 to je varrios gang, kako da sredim to da nemoze svi da voze to vozilo
Dio skripte: dole
Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log):
Slika/video ingame problema(obavezno ako je ingame problem):

[pawn]
      if(newstate == PLAYER_STATE_DRIVER)
      {
         if(TipVozila[GetPlayerVehicleID(playerid)] == 1)
         {
            if(PLAYER_ENUM[playerid][pClan] != OrgVehInfo[GetPlayerVehicleID(playerid)][ovOrgID] && PLAYER_ENUM[playerid][pLider] != OrgVehInfo[GetPlayerVehicleID(playerid)][ovOrgID])
            {
               RemovePlayerFromVehicle(playerid);
               GRESKA(playerid, "Nemate kluc od ovog vozila." );
            }
         }
      }
[/pawn]
Naslov: Odg: Vozila na organizacije
Poruka od: Vuzimir poslato Maj 05, 2020, 19:55:07 POSLE PODNE
vjerovatno ti je problem ovo: [pawn]if(TipVozila[GetPlayerVehicleID(playerid)] == 1)[/pawn]
ne zznam kako odredjujes Tip Vozila, i vjerovatno ti nije tip 1, ispitaj prvo taj dio ako ti je bitan iz nekog razloga, a ako nije izbaci ga... i radice ti
Naslov: Odg: Vozila na organizacije
Poruka od: fiu poslato Maj 05, 2020, 20:04:00 POSLE PODNE
Citat: Vuzimir poslato Maj 05, 2020, 19:55:07 POSLE PODNE
vjerovatno ti je problem ovo: [pawn]if(TipVozila[GetPlayerVehicleID(playerid)] == 1)[/pawn]
ne zznam kako odredjujes Tip Vozila, i vjerovatno ti nije tip 1, ispitaj prvo taj dio ako ti je bitan iz nekog razloga, a ako nije izbaci ga... i radice ti

kad kreiram vozilo org
[pawn]TipVozila[ i ] = 1;[/pawn]

opet tu ga koristim
[pawn]
   for(new i; i < MAX_ORGVEHS; i++)
   {
       new jFile[ 50 ];
        format(jFile, sizeof(jFile), ORGVEH_FILE, i);
        if(fexist(jFile))
      {
          INI_ParseFile(jFile, "LoadOrgVeh", .bExtra = true, .extra = i);
          OrgVehInfo[ i ][ ovID ] = CreateVehicle(OrgVehInfo[ i ][ ovModel ], OrgVehInfo[ i ][ ovPosX ], OrgVehInfo[ i ][ ovPosY ], OrgVehInfo[ i ][ ovPosZ ], OrgVehInfo[ i ][ ovRotA ], OrgVehInfo[ i ][ ovBoja1 ], OrgVehInfo[ i ][ ovBoja2 ], -1);
            TipVozila[ i ] = 1;
      }
   }
[/pawn]

i kod kljuceva od org vozila
Naslov: Odg: Vozila na organizacije
Poruka od: Vuzimir poslato Maj 05, 2020, 20:17:04 POSLE PODNE
Umjesto ovog i sto ti stoji u  TipVozila[ i ] = 1; trebas staviti OrgVehInfo[ i ][ ovID ]
Naslov: Odg: Vozila na organizacije
Poruka od: fiu poslato Maj 05, 2020, 20:42:27 POSLE PODNE
Citat: Vuzimir poslato Maj 05, 2020, 20:17:04 POSLE PODNE
Umjesto ovog i sto ti stoji u  TipVozila[ i ] = 1; trebas staviti OrgVehInfo[ i ][ ovID ]
na svako li mjesto gde imam tipvozila da promenim u to ?
Naslov: Odg: Vozila na organizacije
Poruka od: Vuzimir poslato Maj 05, 2020, 21:14:52 POSLE PODNE
variabla koja ti kreira vozilo mora biti umjesto i tipa ako imas vehcar = CreateVehicle...

onda ti ide ovako: TipVozila[ vehcar  ] = 1;

Nadam se da razumijes...
Naslov: Odg: Vozila na organizacije
Poruka od: fiu poslato Maj 05, 2020, 21:20:47 POSLE PODNE
Citat: Vuzimir poslato Maj 05, 2020, 21:14:52 POSLE PODNE
variabla koja ti kreira vozilo mora biti umjesto i tipa ako imas vehcar = CreateVehicle...

onda ti ide ovako: TipVozila[ vehcar  ] = 1;

Nadam se da razumijes...
OrgVehInfo[ i ][ ovID ] = CreateVehicle
Naslov: Odg: Vozila na organizacije
Poruka od: Vuzimir poslato Maj 05, 2020, 21:22:13 POSLE PODNE
ovo ti ide OrgVehInfo[ i ][ ovID ] umjesto i tj; TipVozila [OrgVehInfo[ i ][ ovID ] ] = 1;
Naslov: Odg: Vozila na organizacije
Poruka od: fiu poslato Maj 05, 2020, 21:52:00 POSLE PODNE
i dajle ne funkcionise postaivm se /makeleader 0 nece, stavim se neki drugi ID org opet nece :@
Naslov: Odg: Vozila na organizacije
Poruka od: Vuzimir poslato Maj 05, 2020, 21:54:06 POSLE PODNE
daj komandu koja dodaje vozila za org
Naslov: Odg: Vozila na organizacije
Poruka od: fiu poslato Maj 05, 2020, 22:00:48 POSLE PODNE
[pawn]
      case DIALOG_ORGVEHC:
      {
         if(!response) return 1;
         new oid, vehid, b1, b2, i = NextOrgVehID(MAX_ORGVEHS), Float:X, Float:Y, Float:Z, Float:A, ovFile[ 60 ];
         if(sscanf(inputtext, "dddd", oid, vehid, b1, b2)) return ShowPlayerDialog(playerid, DIALOG_ORGVEHC, DIALOG_STYLE_INPUT, "ORG vozilo kreiranje", "Unesite ID Organizacije, ID Vozila, Boju 1 i Boju 2.\nPrimer: 1 411 1 1","U redu","Izlaz");
         format(ovFile, sizeof(ovFile), ORG_FILE, oid);
         if(!fexist(ovFile)) return SCM(playerid, -1, "ID te organizacije ne postoji.");
         if(vehid < 400 || vehid > 611) return SCM(playerid, -1, "ID Vozila : 400 - 611");
         GetPlayerPos(playerid, X,Y,Z); GetPlayerFacingAngle(playerid, A);
         OrgVehInfo[ i ][ ovID ] = CreateVehicle(vehid, X, Y, Z, A, b1, b2, -1);
         OrgVehInfo[ i ][ ovModel ] = vehid;
         OrgVehInfo[ i ][ ovBoja1 ] = b1;
         OrgVehInfo[ i ][ ovBoja2 ] = b2;
         OrgVehInfo[ i ][ ovOrgID ] = oid;
         OrgVehInfo[ i ][ ovPosX ] = X;
         OrgVehInfo[ i ][ ovPosY ] = Y;
         OrgVehInfo[ i ][ ovPosZ ] = Z;
         OrgVehInfo[ i ][ ovRotA ] = A;
         TipVozila[ OrgVehInfo[ i ][ ovID ] ] = 1;
         SaveOrgVeh(i);
         PutPlayerInVehicle(playerid, OrgVehInfo[ i ][ ovID ], 0);
      }
[/pawn]
Naslov: Odg: Vozila na organizacije
Poruka od: Vuzimir poslato Maj 05, 2020, 22:25:55 POSLE PODNE
Ovako bi trebalo raditi, da prvo uradi loop kroz sva vozila organizacije da se utvrdi da li je to vozilo odgovarajuce njegovoj organizaciji, orgvehcheck pretvori u player variablu ovo je kao primjer globalna: [pawn]new orgvehcheck = 0;
for(new orgvehi; orgvehi < MAX_ORGVEHS; orgvehi++) {
      if(PLAYER_ENUM[playerid][pClan] == OrgVehInfo[orgvehi][ovOrgID] || PLAYER_ENUM[playerid][pLider] == OrgVehInfo[orgvehi][ovOrgID]) {
         orgvehcheck = 1;
      }
   }
if(newstate == PLAYER_STATE_DRIVER)
      {
         if(TipVozila[GetPlayerVehicleID(playerid)] == 1)
         {
            if(orgvehcheck == 0)
            {
               RemovePlayerFromVehicle(playerid);
               GRESKA(playerid, "Nemate kluc od ovog vozila." );
            }
            else {
               orgvehcheck = 0;
            }
         }
      }[/pawn]
Naslov: Odg: Vozila na organizacije
Poruka od: fiu poslato Maj 05, 2020, 22:37:47 POSLE PODNE

   for(new orgvehi; orgvehi < MAX_ORGVEHS; orgvehi++)
   {
      if(PLAYER_ENUM[playerid][pClan] == OrgVehInfo[orgvehi][ovOrgID] || PLAYER_ENUM[playerid][pLider] == OrgVehInfo[orgvehi][ovOrgID])
      {
         orgvehcheck = 1;
      }
   }
gde da ubacim ovo, stavim pod OnGameModeInit, daje mi error playerid nemoze da pronadze
Naslov: Odg: Vozila na organizacije
Poruka od: Vuzimir poslato Maj 05, 2020, 22:38:52 POSLE PODNE
Stavi kako sam ti poslao prvo to pa ispod ostalo... ne pod ongamemodeinit nego on player state change
Naslov: Odg: Vozila na organizacije
Poruka od: fiu poslato Maj 05, 2020, 23:18:56 POSLE PODNE
HVALA USPELO, a da te pitam kako mogu da evo sto sam ti posalo dialog za kreiranja vozila da uradim da moze da se kupuje od salona, lider da moze da kupuje auta za org ali sa novac od sefom ?
Naslov: Odg: Vozila na organizacije
Poruka od: Vuzimir poslato Maj 05, 2020, 23:55:27 POSLE PODNE
Ima malo vise skripte da ti pisem sad skriptu, moras dodati kada kupuje vozilo ako je lider org da mu iskoci da li kupuje za org ili licno, ako je org provjerava sef ima li para ako ima jednostavno prekopiras kreiranje vozila za org samo parametre izmjenes i to je to, jednostavno je skroz...
Naslov: Odg: Vozila na organizacije
Poruka od: fiu poslato Maj 05, 2020, 23:57:33 POSLE PODNE
Citat: Vuzimir poslato Maj 05, 2020, 23:55:27 POSLE PODNE
Ima malo vise skripte da ti pisem sad skriptu, moras dodati kada kupuje vozilo ako je lider org da mu iskoci da li kupuje za org ili licno, ako je org provjerava sef ima li para ako ima jednostavno prekopiras kreiranje vozila za org samo parametre izmjenes i to je to, jednostavno je skroz...
al kako da uradim ako je primer lider ballas kad kupi vozilo da odi za ballas, ako je varrios da ide u varrios
Naslov: Odg: Vozila na organizacije
Poruka od: Vuzimir poslato Maj 06, 2020, 00:00:28 PRE PODNE
Ovako: [pawn]OrgVehInfo[ i ][ ovOrgID ] = PLAYER_ENUM[playerid][pLider];[/pawn] to ce ti odrediti da vozilo bude od organizacije koje je lider igrac