[Pomoc] Buy Car

Započeo ShadowNET, April 05, 2016, 20:27:19 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

Skripta koju koristim:0
Detaljan opis problema:Znaci kada igrac kupi auto pozove se funkcija e sad napravio sam da ona stvara auto na nekom mestu.Ali sad kako da uradim da taj auto spremim i da samo igrac koji ga je kupi moze voziti?
Dio skripte:[pawn]      new carid = 579;
      AddStaticVehicleEx(carid, RandomCarSpawn[Random][0], RandomCarSpawn[Random][1], RandomCarSpawn[Random][2], RandomCarSpawn[Random][3], colora, colorb, false);
      SetPlayerCheckpoint(playerid, RandomCarSpawn[Random][0], RandomCarSpawn[Random][1], RandomCarSpawn[Random][2], 3.0);
      KatalogOtvoren = 0;
      UKatalogu[playerid] = 0;
      GledaAuto[playerid] = 0;
      SakrikatalogTextDraw(playerid);
      SpawnPlayer(playerid);
      SetPlayerPos(playerid, 504.9186,-1302.8190,17.3125);
      SCM(playerid, Zelena, "Kupio si vozilo marke: {FFFFFF}Huntley");
      AC_BS_GivePlayerMoney(playerid, -300000);[/pawn]
Neke slike/video za lakse dobivanje pomoci(neobavezno):

Napravis proveru da ti uzima poslednji ID auta ne serveru, dodas da je on vlasnik i to je to.
Srecu cine male stvari i veliko pivo!
x3M-Gaming USKORO!

Moze lock hvala na ni na cemu ...

Imam problem.Nece da mi ucita Vozila.Nece da se spawnaju na srw.
Evo funkcije:
[pawn]forward LoadCars(carid, name[], value[]);
public LoadCars(carid, name[], value[])
{
   INI_Int("ID", CarVehInfo[carid][carID]);
   INI_Int("Model", CarVehInfo[carid][carModel]);
   INI_Float("PosX", CarVehInfo[carid][carPosX]);
   INI_Float("PosY", CarVehInfo[carid][carPosY]);
   INI_Float("PosZ", CarVehInfo[carid][carPosZ]);
   INI_Float("ZAngle", CarVehInfo[carid][carZAngle]);
   INI_Int("ColorA", CarVehInfo[carid][carColorA]);
   INI_Int("ColorB", CarVehInfo[carid][carColorB]);
   INI_String("Owner", CarVehInfo[carid][carOwner], MAX_PLAYER_NAME);
   INI_Int("Locked", CarVehInfo[carid][carLocked]);
   UcitajPodesavanjaAuta();
   return 1;
}[/pawn]
Evo pokretanja:
[pawn]   for(new i = 0; i < sizeof(CarVehInfo); i++)
   {
      new gFile[35];
      format(gFile, 50, "Auta/Auto_%d.ini" ,i);
      if(fexist(gFile))
          {
           INI_ParseFile(gFile, "LoadCars", .bExtra = true, .extra = i);
           if(CarVehInfo[carPosX] != 0)
             {
            printf("System Privatnih Auta | Auto ID %d je uspesno ucitan !", i);
          }
      }
   }[/pawn]
Evo ucitavanja i spawnanja vozila:
[pawn]stock UcitajPodesavanjaAuta()
{
   print("Ucitavanje Kupljenih vozila");
   for(new i = 0; i < sizeof(CarVehInfo); i++)
   {
      AddStaticVehicleEx(CarVehInfo[carModel], CarVehInfo[carPosX], CarVehInfo[carPosY], CarVehInfo[carPosZ], CarVehInfo[carZAngle], CarVehInfo[carColorA], CarVehInfo[carColorB], false);
   }
   print("Sva kupljena vozila uspesno ucitana");
}[/pawn]
Ova funkcija se uopste ne pokrece.
Poslednja Izmena: April 08, 2016, 16:37:45 POSLE PODNE od ShadowNET

Ordaio sam Debug evo rezultata:
[pawn]   print("TEST1");
   INI_Int("ID", CarVehInfo[carid][carID]);
   print("TEST2");
   INI_Int("Model", CarVehInfo[carid][carModel]);
   INI_Float("PosX", CarVehInfo[carid][carPosX]);
   INI_Float("PosY", CarVehInfo[carid][carPosY]);
   INI_Float("PosZ", CarVehInfo[carid][carPosZ]);
   print("TEST3");
   INI_Float("ZAngle", CarVehInfo[carid][carZAngle]);
   INI_Int("ColorA", CarVehInfo[carid][carColorA]);
   INI_Int("ColorB", CarVehInfo[carid][carColorB]);
   print("TEST4");
   INI_String("Owner", CarVehInfo[carid][carOwner], MAX_PLAYER_NAME);
   print("TEST5");
   INI_Int("Locked", CarVehInfo[carid][carLocked]);
   print("TEST6");
   UcitajPodesavanjaAuta();
   print("TEST GOTOV");[/pawn]
[16:41:53] TEST1
[16:41:53] TEST1
[16:41:53] TEST2
[16:41:53] TEST1
[16:41:53] TEST2
[16:41:53] TEST1
[16:41:53] TEST2
[16:41:53] TEST1
[16:41:53] TEST2
[16:41:53] TEST1
[16:41:53] TEST2
[16:41:53] TEST3
[16:41:53] TEST1
[16:41:53] TEST2
[16:41:53] TEST3
[16:41:53] TEST1
[16:41:53] TEST2
[16:41:53] TEST3
[16:41:53] TEST1
[16:41:53] TEST2
[16:41:53] TEST3
[16:41:53] TEST4
[16:41:53] TEST1
[16:41:53] TEST2
[16:41:53] TEST3
[16:41:53] TEST4
[16:41:53] TEST5
[16:41:53] System Privatnih Auta | Auto ID 0 je uspesno ucitan !

public LoadCars(carid, name[], value[])
{
    new string[150];
    format(string, sizeof(string), "Auta/Auto_%d.ini", i);
    new File: file = fopen(string, io_read);
    if (file)
    {
   INI_Int("ID", CarVehInfo[carid][carID]);
   INI_Int("Model", CarVehInfo[carid][carModel]);
   INI_Float("PosX", CarVehInfo[carid][carPosX]);
   INI_Float("PosY", CarVehInfo[carid][carPosY]);
   INI_Float("PosZ", CarVehInfo[carid][carPosZ]);
   INI_Float("ZAngle", CarVehInfo[carid][carZAngle]);
   INI_Int("ColorA", CarVehInfo[carid][carColorA]);
   INI_Int("ColorB", CarVehInfo[carid][carColorB]);
   INI_String("Owner", CarVehInfo[carid][carOwner], MAX_PLAYER_NAME);
   INI_Int("Locked", CarVehInfo[carid][carLocked]);
   UcitajPodesavanjaAuta();
   }
   return 1;
}

fali ti for petlja jer je unfinded simbol i al nmvz jer ni ovo neradi.
Zna li neko sta moze biti?


Pokušavao da zamijeniš stock sa public?




Kakav set potrebno mi je da procita podatke ne da ih zapise...
Zna li iko?

Primijetio sam da ti nije očitalo ni Test6, što je na liniji za učitavanje da li je vozilo zaključano ili ne. Provjeri da li u scriptfiles, u ini fajlu za jedno auto imaš tu variablu. Isto tako provjeri gdje se ona postavlja, pa ćemo odatle dalje.

Ta varijabla se sacuvava i postoji u fajlu od vozila.
Evo gde se koristi mada nzm kakve veze i-ma sa ucitravanjem.
[pawn]   if(newstate == PLAYER_STATE_DRIVER)
    {
       if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pAutoID])
       {
          SCM(playerid, -1, "Usli ste u svoje vozilo");
       }
       else
       {
          new veh = GetPlayerVehicleID(playerid);
          if(CarVehInfo[veh][carLocked] == 0)
          {
             SCM(playerid, -1, "Privatno vozilo");
          }
          else if(CarVehInfo[veh][carLocked] == 1)
          {
             RemovePlayerFromVehicle(playerid);
             SCM(playerid, Error, "Vozilo zakljucano");
          }
       }
    }[/pawn]

[pawn]         new veh = GetPlayerVehicleID(playerid);
         if(listitem == 0)
         {
            if(CarVehInfo[veh][carLocked] == 0)
            {
               CarVehInfo[veh][carLocked] = 1;
               GameTextForPlayer(playerid,"~w~Auto ~r~zakljucan",2000,3);
            }
            else if(CarVehInfo[veh][carLocked] == 1)
            {
               CarVehInfo[veh][carLocked] = 0;
               GameTextForPlayer(playerid,"~w~Auto ~g~otkljucan",2000,3);
            }
         }[/pawn]