Problem sa citanje vikendicu/stan

Započeo fiu, April 27, 2020, 15:09:16 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 4 gostiju pregledaju ovu temu.

fiu

*

Problem(error/warning): idem ingame, kupim vikendica il stan, sve okej, kupim i kucu al kad idem relog, kad ugasim srw i upalim ponovo, vikendica i stan kaze da su oduzmeni od admina, evo slika dole.
Dio skripte: Balkan Evolution MOD (UP valjda izvorni)
Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log)
Slika/video ingame problema(obavezno ako je ingame problem): https://imgur.com/cIDwyt0

Daj prvo taj deo gde ispise tu poruku, ceo callback, pretpostavljam da je OnPlayerSpawn..

I onda salji kada igrac kupi kucu. Takodje mozes poslati i OnPlayerDisconnect kada se sacuva acc igraca

fiu

*

Citat: V01D poslato April 27, 2020, 16:25:41 POSLE PODNE
Daj prvo taj deo gde ispise tu poruku, ceo callback, pretpostavljam da je OnPlayerSpawn..

I onda salji kada igrac kupi kucu. Takodje mozes poslati i OnPlayerDisconnect kada se sacuva acc igraca


[pawn]
               if(PLAYER_ENUM[playerid][pPosedovanje_Vikendice] != -1)
               {
                  new vik_File[50];
                  format(vik_File, sizeof(vik_File), vik_File, PLAYER_ENUM[playerid][pPosedovanje_Vikendice]);
                  if(fexist(vik_File))
                  {
                     if(strcmp(VIKENDICA_ENUM[PLAYER_ENUM[playerid][pPosedovanje_Vikendice]][viVlasnik], GetName(playerid), true))
                     {
                        GRESKA(playerid, "Vikendica koja je bila u vasem vlasnistvu je prodata, kljuc vam je skinut!");
                        GRESKA(playerid, "Ukoliko mislite da je ovo greska ili zelite da znate razlog prodaje vase vikendice obratite se ADMINU!");
                        GRESKA(playerid, "Takodje je moguce da vam je vikendica prodata zbog neaktivnosti!");
                        PLAYER_ENUM[playerid][pPosedovanje_Vikendice] = -1; SacuvajKorisnike(playerid);
                     }
                     else
                     {
                        VIKENDICA_ENUM[PLAYER_ENUM[playerid][pPosedovanje_Vikendice]][viNeaktivnost] = 0;
                        SacuvajVikendicu(PLAYER_ENUM[playerid][pPosedovanje_Vikendice]);
                        VikendicaLP(PLAYER_ENUM[playerid][pPosedovanje_Vikendice]);
                     }
                  }
                  else
                  {
                     GRESKA(playerid, "Vikendica koja je bila u vasem vlasnistvu je obrisana, kljuc vam je skinut!");
                     GRESKA(playerid, "Ukoliko mislite da je ovo greska ili zelite da znate razlog brisanja vase vikendice obratite se ADMINU!");
                     PLAYER_ENUM[playerid][pPosedovanje_Vikendice] = -1; SacuvajKorisnike(playerid);
                  }
               }

[/pawn]


[pawn]
CMD:kupivikendicu(playerid, params[])
{
   #pragma unused params
   for(new i; i < sizeof(VIKENDICA_ENUM); i++)
   {
      if(IsPlayerInRangeOfPoint(playerid, 3.0, VIKENDICA_ENUM[viUlazX], VIKENDICA_ENUM[viUlazY], VIKENDICA_ENUM[viUlazZ]))
      {
         if(!strcmp(VIKENDICA_ENUM[viVlasnik], "Niko", true) && VIKENDICA_ENUM[viProveraVlasnika] == 0)
         {
            if(PLAYER_ENUM[playerid][pPosedovanje_Vikendice] != -1) return GRESKA(playerid, "Vec imas vikendicu!");
            if(GetPlayerScore(playerid) < VIKENDICA_ENUM[viLevel]) return GRESKA(playerid, "Nemate dovoljan level za kupovinu vikendice!");
            if(PLAYER_ENUM[playerid][pNovac] < VIKENDICA_ENUM[viCena]) return GRESKA(playerid, "Nemate dovoljno novca za kupovinu vikendice!");
            strmid(VIKENDICA_ENUM[viVlasnik], GetName(playerid), 0, strlen(GetName(playerid)), 255);
            VIKENDICA_ENUM[viProveraVlasnika] = 1;
            VIKENDICA_ENUM[viZatvoreno] = 1;
            SacuvajVikendicu(i);
            PLAYER_ENUM[playerid][pPosedovanje_Vikendice] = i;
            g_NovacMinus(playerid, VIKENDICA_ENUM[viCena]);
            VikendicaLP(i);
            INFO(playerid, "Cestitamo, kupili ste vikendicu!");
            INFO(playerid, "Za komande vikendice koristite /vikendica!");
            INFO(playerid, "Za ulaz u vikendicu koristi tipku F!");
            
            return 1;
         }
         else return GRESKA(playerid, "Ta vikendica se ne prodaje!");
      }
   }
   return 1;
}
[/pawn]

[pawn]
stock SacuvajVikendicu(idvikendice)
{
   new vFile[128];
   format(vFile, sizeof(vFile), VIKENDICE_FILE, idvikendice);
   new INI:File = INI_Open(vFile);
   INI_WriteInt(File,"ProveraVlasnika",VIKENDICA_ENUM[idvikendice][viProveraVlasnika]);
   INI_WriteString(File,"Vlasnik",VIKENDICA_ENUM[idvikendice][viVlasnik]);
   INI_WriteFloat(File,"UlazX",VIKENDICA_ENUM[idvikendice][viUlazX]);
   INI_WriteFloat(File,"UlazY",VIKENDICA_ENUM[idvikendice][viUlazY]);
   INI_WriteFloat(File,"UlazZ",VIKENDICA_ENUM[idvikendice][viUlazZ]);
   INI_WriteFloat(File,"IzlazX",VIKENDICA_ENUM[idvikendice][viIzlazX]);
   INI_WriteFloat(File,"IzlazY",VIKENDICA_ENUM[idvikendice][viIzlazY]);
   INI_WriteFloat(File,"IzlazZ",VIKENDICA_ENUM[idvikendice][viIzlazZ]);
   INI_WriteInt(File,"Level",VIKENDICA_ENUM[idvikendice][viLevel]);
   INI_WriteInt(File,"Cena",VIKENDICA_ENUM[idvikendice][viCena]);
   INI_WriteInt(File,"Novac",VIKENDICA_ENUM[idvikendice][viNovac]);
   INI_WriteInt(File,"Int",VIKENDICA_ENUM[idvikendice][viInt]);
   INI_WriteInt(File,"Zatvoreno",VIKENDICA_ENUM[idvikendice][viZatvoreno]);
   INI_WriteInt(File,"VW",VIKENDICA_ENUM[idvikendice][viVW]);
   INI_WriteInt(File,"Cannabis",VIKENDICA_ENUM[idvikendice][viMarihuana]);
   INI_WriteInt(File,"Kokain",VIKENDICA_ENUM[idvikendice][viKokain]);
   INI_WriteInt(File,"Mats",VIKENDICA_ENUM[idvikendice][viMaterijali]);
   INI_Close(File);
   return 1;
}
[/pawn]

fiu

*

izvinite al moze li neko da resi ovo, hitno mi je, obrisite mi komentar nije mi za postova

@V01D

Provjeri ucitavanje vikendice daj nam ovde da pogledamo
AKO ZNAS ZA BOGA I ZA GLAVU ZIVU NE BRANI MI DOKTORE RAKIJU I PIVU

fiu

*

Citat: // lestra poslato April 29, 2020, 11:09:40 PRE PODNE
Provjeri ucitavanje vikendice daj nam ovde da pogledamo

[pawn]
lfunc UcitajVikendice(idvikendice, name[], value[])
{
   INI_Int("ProveraVlasnika",VIKENDICA_ENUM[idvikendice][viProveraVlasnika]);
   INI_String("Vlasnik",VIKENDICA_ENUM[idvikendice][viVlasnik],45);
   INI_Float("UlazX",VIKENDICA_ENUM[idvikendice][viUlazX]);
   INI_Float("UlazY",VIKENDICA_ENUM[idvikendice][viUlazY]);
   INI_Float("UlazZ",VIKENDICA_ENUM[idvikendice][viUlazZ]);
   INI_Float("IzlazX",VIKENDICA_ENUM[idvikendice][viIzlazX]);
   INI_Float("IzlazY",VIKENDICA_ENUM[idvikendice][viIzlazY]);
   INI_Float("IzlazZ",VIKENDICA_ENUM[idvikendice][viIzlazZ]);
   INI_Int("Level",VIKENDICA_ENUM[idvikendice][viLevel]);
   INI_Int("Cena",VIKENDICA_ENUM[idvikendice][viCena]);
   INI_Int("Novac",VIKENDICA_ENUM[idvikendice][viNovac]);
   INI_Int("Int",VIKENDICA_ENUM[idvikendice][viInt]);
   INI_Int("Zatvoreno",VIKENDICA_ENUM[idvikendice][viZatvoreno]);
   INI_Int("VW",VIKENDICA_ENUM[idvikendice][viVW]);
   INI_Int("Cannabis",VIKENDICA_ENUM[idvikendice][viMarihuana]);
   INI_Int("Kokain",VIKENDICA_ENUM[idvikendice][viKokain]);
   INI_Int("Mats",VIKENDICA_ENUM[idvikendice][viMaterijali]);
   return 1;
}
[/pawn]

fiu

*

1. kreiram vikendicu
2. kupujem vikendicu
3. /vikendica sve to radi perfektno
4. idem relog
5. u korisnika pise vikendica ta i taj da je igrac poseduje
6. u vikendica pise da se vlanik taj i taj, sve okej
7. ugasim mod, pustim ga opet
8. idem ing kazhe da je vikendica obrisana, a na serveru je a kod igraca /vikendica kaze da nema :@

Koliko vidim, ovo je neki ATH mod sa proverom neaktivnosti koja se verovatno ne cuva kako treba.
Nadji tu poruku u modu sa find opcijom i videces sta pravi problem.
[Include] > Optidraw
[Include] > Model-Sizes-SQL

fiu

*

Citat: algorhitmically poslato Maj 05, 2020, 13:20:37 POSLE PODNE
Koliko vidim, ovo je neki ATH mod sa proverom neaktivnosti koja se verovatno ne cuva kako treba.
Nadji tu poruku u modu sa find opcijom i videces sta pravi problem.
sve je isto kao kuca neaktivnost, a kuca sacuva kao sto treba stanove i vikendice nece

Moras prvo dodati timer npr svakih 1h da za sve vikendice dodaje ++ za ovo: viNeaktivnost, moras sacuvavati u fajl isto neaktivnost, posle tog npr ako je neaktivan 720h da mu oduzima kada udje vikendicu (to je cisto ako nekome se svidja neka vikendica a ne zna da adminu treba prijaviti da je neaktivan da se admin ne muci provjeravati da mu samo skine), ako je admin prije tog nije oduzeo, i tu dolazi ova provjera:

[pawn]if(strcmp(VIKENDICA_ENUM[PLAYER_ENUM[playerid][pPosedovanje_Vikendice]][viVlasnik], GetName(playerid), true)) {
   if(PLAYER_ENUM[playerid][pPosedovanje_Vikendice]][viNeaktivnost] >= 720) {
      GRESKA(playerid, "Vikendica koja je bila u vasem vlasnistvu je prodata, kljuc vam je skinut!");
      GRESKA(playerid, "Ukoliko mislite da je ovo greska ili zelite da znate razlog prodaje vase vikendice obratite se ADMINU!");
      GRESKA(playerid, "Takodje je moguce da vam je vikendica prodata zbog neaktivnosti!");
      PLAYER_ENUM[playerid][pPosedovanje_Vikendice] = -1; SacuvajKorisnike(playerid);
   }
   else {
      VIKENDICA_ENUM[PLAYER_ENUM[playerid][pPosedovanje_Vikendice]][viNeaktivnost] = 0;
      SacuvajVikendicu(PLAYER_ENUM[playerid][pPosedovanje_Vikendice]);
      VikendicaLP(PLAYER_ENUM[playerid][pPosedovanje_Vikendice]);
   }
}
else {
   GRESKA(playerid, "Vikendica koja je bila u vasem vlasnistvu je prodata, kljuc vam je skinut!");
   GRESKA(playerid, "Ukoliko mislite da je ovo greska ili zelite da znate razlog prodaje vase vikendice obratite se ADMINU!");
   GRESKA(playerid, "Takodje je moguce da vam je vikendica prodata zbog neaktivnosti!");
   PLAYER_ENUM[playerid][pPosedovanje_Vikendice] = -1; SacuvajKorisnike(playerid);
}[/pawn]
Poslednja Izmena: Maj 06, 2020, 00:24:13 PRE PODNE od Vuzimir

My Bike KTM 450 SXF 2008