Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: ShadowNET poslato April 05, 2016, 20:27:19 POSLE PODNE

Naslov: [Pomoc] Buy Car
Poruka od: ShadowNET poslato April 05, 2016, 20:27:19 POSLE PODNE
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):
Naslov: Odg: [Pomoc] Buy Car
Poruka od: VuKaN poslato April 06, 2016, 19:50:30 POSLE PODNE
Napravis proveru da ti uzima poslednji ID auta ne serveru, dodas da je on vlasnik i to je to.
Naslov: Odg: [Pomoc] Buy Car
Poruka od: ShadowNET poslato April 07, 2016, 22:18:46 POSLE PODNE
Moze lock hvala na ni na cemu ...
Naslov: Odg: [Pomoc] Buy Car
Poruka od: ShadowNET poslato April 08, 2016, 16:34:29 POSLE PODNE
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.
Naslov: Odg: [Pomoc] Buy Car
Poruka od: ShadowNET poslato April 08, 2016, 16:44:56 POSLE PODNE
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 !
Naslov: Odg: [Pomoc] Buy Car
Poruka od: [CH] Michael poslato April 08, 2016, 18:18:50 POSLE PODNE
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;
}
Naslov: Odg: [Pomoc] Buy Car
Poruka od: ShadowNET poslato April 08, 2016, 19:06:25 POSLE PODNE
fali ti for petlja jer je unfinded simbol i al nmvz jer ni ovo neradi.
Zna li neko sta moze biti?
Naslov: Odg: [Pomoc] Buy Car
Poruka od: ShadowNET poslato April 09, 2016, 13:05:42 POSLE PODNE
Bump
Naslov: Odg: [Pomoc] Buy Car
Poruka od: pixelzn poslato April 09, 2016, 14:45:03 POSLE PODNE
Pokušavao da zamijeniš stock sa public?
Naslov: Odg: [Pomoc] Buy Car
Poruka od: ShadowNET poslato April 09, 2016, 15:42:56 POSLE PODNE
Opet isto...Zna li neko?
Naslov: Odg: [Pomoc] Buy Car
Poruka od: [CH] Michael poslato April 09, 2016, 18:20:59 POSLE PODNE
probaj INI_IntSet
Naslov: Odg: [Pomoc] Buy Car
Poruka od: pixelzn poslato April 09, 2016, 18:44:46 POSLE PODNE
Citat: [CH] Michael poslato April 09, 2016, 18:20:59 POSLE PODNE
probaj INI_IntSet

Što Set ako učitava?
Naslov: Odg: [Pomoc] Buy Car
Poruka od: ShadowNET poslato April 09, 2016, 23:43:52 POSLE PODNE
Kakav set potrebno mi je da procita podatke ne da ih zapise...
Zna li iko?
Naslov: Odg: [Pomoc] Buy Car
Poruka od: pixelzn poslato April 10, 2016, 01:59:58 PRE PODNE
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.
Naslov: Odg: [Pomoc] Buy Car
Poruka od: ShadowNET poslato April 10, 2016, 12:24:42 POSLE PODNE
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]
Naslov: Odg: [Pomoc] Buy Car
Poruka od: ShadowNET poslato April 10, 2016, 21:59:16 POSLE PODNE
bump
Naslov: Odg: [Pomoc] Buy Car
Poruka od: slipnkit poslato April 10, 2016, 23:32:44 POSLE PODNE
Dobro ti je rekao, obrati pažnju, ne vidi se nigdje TEST6, tj poslije učitavanja da li je zaključano ili ne.

Postavi kodove da vidimo kako spremaš tu variablu, da li kao integer ili drugo.
Naslov: Odg: [Pomoc] Buy Car
Poruka od: ShadowNET poslato April 11, 2016, 11:45:45 PRE PODNE
Ako malo bolje pogledas videces da sam te kodove vec postavio...
Al evo opet:
[pawn]enum carInfo
{
   carID,
   carModel,
   Float:carPosX,
   Float:carPosY,
   Float:carPosZ,
   Float:carZAngle,
   carColorA,
   carColorB,
   carOwner[MAX_PLAYER_NAME],
   carLocked
}

new CarVehInfo[MAX_AUTA][carInfo];

stock SaveCars(carid)
{
   new dFile[128];
   format(dFile, sizeof(dFile),"Auta/Auto_%d.ini",carid);
   new
   INI:File = INI_Open(dFile);
   INI_WriteInt(File, "ID", CarVehInfo[carid][carID]);
   INI_WriteInt(File, "Model", CarVehInfo[carid][carModel]);
   INI_WriteFloat(File, "PosX", CarVehInfo[carid][carPosX]);
   INI_WriteFloat(File, "PosY", CarVehInfo[carid][carPosY]);
   INI_WriteFloat(File, "PosZ", CarVehInfo[carid][carPosZ]);
   INI_WriteFloat(File, "ZAngle", CarVehInfo[carid][carZAngle]);
   INI_WriteInt(File, "ColorA", CarVehInfo[carid][carColorA]);
   INI_WriteInt(File, "ColorB", CarVehInfo[carid][carColorB]);
   INI_WriteString(File, "Owner", CarVehInfo[carid][carOwner]);
   INI_WriteInt(File, "Locked", CarVehInfo[carid][carLocked]);
   INI_Close(File);
}

forward LoadCars(carid, name[], value[]);
public LoadCars(carid, name[], value[])
{
   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");
   SetTimer("UcitajPodesavanjaAuta", Sec(1), false);
   print("TEST GOTOV");
   return 1;
}[/pawn]
Naslov: Odg: [Pomoc] Buy Car
Poruka od: ShadowNET poslato April 12, 2016, 11:20:01 PRE PODNE
bump
Naslov: Odg: [Pomoc] Buy Car
Poruka od: ShadowNET poslato April 13, 2016, 12:49:45 POSLE PODNE
Pomoc?
Naslov: Odg: [Pomoc] Buy Car
Poruka od: slipnkit poslato April 13, 2016, 22:10:43 POSLE PODNE
Definisi timer na vrhu skripte kao new nesto[MAX_PLAYERS];

Onda stavi dole nesto[playerid] = SetTimer..

Gdje killas timer upisi KillTimer(nesto[playerid]...
Naslov: Odg: [Pomoc] Buy Car
Poruka od: ShadowNET poslato April 14, 2016, 11:17:40 PRE PODNE
Ne razumem zasto mi govoris i pokazujes tajmere??
Ali ako si mislio da preko tajmera ucitavam [pawn]LoadCars [/pawn]onda bolje nemoj lupetati...
Sve jedno probao sam i sa tajmerima al to nevalja... :'(
Zna li neko?
Naslov: Odg: [Pomoc] Buy Car
Poruka od: slipnkit poslato April 14, 2016, 11:33:07 PRE PODNE
//
Naslov: Odg: [Pomoc] Buy Car
Poruka od: ShadowNET poslato April 14, 2016, 23:50:26 POSLE PODNE
Prvo odakle ti pravo da me vredjas!
Drugo to sam jos pre probao i isto bude...
Zna li iko?
Naslov: Odg: [Pomoc] Buy Car
Poruka od: ShadowNET poslato April 15, 2016, 11:39:54 PRE PODNE
Reseno  ;D. Uradio sam novi system ucitavanja ...
Naslov: Odg: [Pomoc] Buy Car
Poruka od: GoodbyeSamp poslato April 15, 2016, 15:16:31 POSLE PODNE
lock onda..