Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: Kamberovic poslato Maj 14, 2018, 21:50:04 POSLE PODNE

Naslov: Previše erora
Poruka od: Kamberovic poslato Maj 14, 2018, 21:50:04 POSLE PODNE
Problem(error/warning): ovako ubacio sam sistem imanja iz LumiX-a u svoj UP mod i crasha mi pawno radi previše erora.Bio sam izbacio dialoge ali nije do njih
Dio skripte:Na početku moda
[pawn]#define DIALOG_BIRADRVO           375
#define DIALOG_KUPISLJIVU         376
#define DIALOG_KUPIKRUSKU         378
#define DIALOG_KUPIJABUKU         379
#define DIALOG_BIRADRVOZP         380
#define DIALOG_PRODAJSLJIVU       381
#define DIALOG_PRODAJKRUSKU       382
#define DIALOG_PRODAJJABUKU       383
#define DIALOG_IMANJE             384
#define DIALOG_IINFO              385
#define DIALOG_IPOSIJANO          386
#define DIALOG_IPRODAJ            387
#define MAX_IMANJE 2000
#define MAX_DRVA 7000
#define MAX_VOCA 7000
#define DIALOG_IMANJCE            388
#define DIMANJE_PRODAJESIGRACU    389
#define DIMANJE_PRODAJA           390
#define DIMANJE_PRODAJESKCENA     391
new ProdajesImanje[MAX_VEHICLES];
new IgracKProdajesI[MAX_PLAYERS];
new ProdavacImanja[MAX_PLAYERS];
new CenaImanja[MAX_PLAYERS];
new IDImanja[MAX_PLAYERS];
////////////////////////////////////////////////////////////////////////////////
enum Drva
{
   dIDImanja,
   Float:dDrvoX,
   Float:dDrvoY,
   Float:dDrvoZ,
   dVrijeme,
   dPostavljeno,
   dObjd,
   dText,
   dVrsta,
   dMinuta,
   dSat,
   dDrvo
};
new DrvaInfo[MAX_DRVA][Drva];
new Text3D:DrvoLabel[sizeof(DrvaInfo)];
enum Imanje
{
   iImaVlasnika,
   iVlasnik[MAX_PLAYER_NAME],
   Float:iUlazX,
   Float:iUlazY,
   Float:iUlazZ,
   iLevel,
   iCena,
   iPostavljena,
   iPrecnik
};
new ImanjeInfo[MAX_IMANJE][Imanje];
new ImanjePickup[sizeof(ImanjeInfo)];
new Text3D:ImanjeLabel[sizeof(ImanjeInfo)];
new ImanjeMark[MAX_IMANJE];
#define IMANJE_FILE    "Imanja/Imanje_%d.ini"[/pawn][ pawn ]
[ /pawn ]
OnGameModeInit
[pawn]   for(new b = 0; b < sizeof(ImanjeInfo); b++)
   {
      new gFajl[35];
      new kucestring[500];
      format(gFajl, 50, "imanja/Imanje_%d.ini" ,b);
      if(fexist(gFajl))
      {
         INI_ParseFile(gFajl, "UcitajImanje", .bExtra = true, .extra = b);
         if(ImanjeInfo[iPostavljena] == 1)
         {
            if(ImanjeInfo[iImaVlasnika] == 0)
            {
                 new string[256];
                DestroyDynamicPickup(ImanjePickup);
                 UpdateDynamic3DTextLabelText(ImanjeLabel, 0x33CCFFAA, kucestring);
               format(kucestring,sizeof(kucestring),"{FFFFFF}[ {FBFB00}~ Imanje na prodaju! ~{FFFFFF} ]\n{FBFB00}- Cijena: {FFFFFF}%d$\n{FBFB00}- Level: {FFFFFF}%d\n{FBFB00}- Precnik: {FFFFFF}%dm\n{FBFB00}({FFFFFF}/kupiimanje{FBFBF00})",ImanjeInfo[iCena],ImanjeInfo[iLevel],ImanjeInfo[iPrecnik]);
                ImanjeLabel = CreateDynamic3DTextLabel(string ,0x9EC73DAA,ImanjeInfo[iUlazX], ImanjeInfo[iUlazY], ImanjeInfo[iUlazZ],15);
                ImanjePickup = CreateDynamicPickup(1273, 1, ImanjeInfo[iUlazX], ImanjeInfo[iUlazY], ImanjeInfo[iUlazZ]);
                ImanjeMark = CreateDynamicMapIcon(ImanjeInfo[iUlazX], ImanjeInfo[iUlazY], ImanjeInfo[iUlazZ],56,0);
            }
            else if(ImanjeInfo[iImaVlasnika] == 1)
            {
               new string[256];
                DestroyDynamicPickup(ImanjePickup);
                 UpdateDynamic3DTextLabelText(ImanjeLabel, 0x33CCFFAA, kucestring);
               format(kucestring,sizeof(kucestring),"{FFFFFF}[ {FBFB00}~ Imanje ~{FBFB00} ]\n- Vlasnik: {FFFFFF}%s\n{FBFB00}- Nivo: {FFFFFF}%d\n{FBFB00}- Cijena: {FFFFFF}%d\n{FBFB00}- Adresa: {FFFFFF}%d\n{FBFB00}- Precnik: {FFFFFF}%dm",ImanjeInfo[iVlasnik],ImanjeInfo[iLevel],ImanjeInfo[iCena],b,ImanjeInfo[iPrecnik]);
                ImanjeLabel = CreateDynamic3DTextLabel(string ,0x9EC73DAA,ImanjeInfo[iUlazX], ImanjeInfo[iUlazY], ImanjeInfo[iUlazZ],15);
                ImanjePickup = CreateDynamicPickup(1273, 1, ImanjeInfo[iUlazX], ImanjeInfo[iUlazY], ImanjeInfo[iUlazZ]);
                ImanjeMark = CreateDynamicMapIcon(ImanjeInfo[iUlazX], ImanjeInfo[iUlazY], ImanjeInfo[iUlazZ],56,0);
            }
         ImanjeLabelIPickup(b);
         }
      }
   }
      /////////////////////////////////////////////////////////////////
   for(new b = 0; b < sizeof(DrvaInfo); b++)
   {
       new gFajl[35];
      format(gFajl, 50, "imanja/drva/Drvo_%d.ini" ,b);
        new stringv[160];
      if(fexist(gFajl))
      {
         INI_ParseFile(gFajl, "UcitajDrvo", .bExtra = true, .extra = b);
         if(DrvaInfo[dPostavljeno] == 1)
            {
               new vrsta[64];
               if(DrvaInfo[dVrsta] == 1) { vrsta = "Sljiva"; }
                 else if(DrvaInfo[dVrsta] == 2) { vrsta = "Kruska"; }
                else if(DrvaInfo[dVrsta] == 3) { vrsta = "Jabuka"; }
                  DrvaInfo[dObjd] = rastko_CreateDynamicObject(DrvaInfo[dDrvo], DrvaInfo[dDrvoX]+2,DrvaInfo[dDrvoY],DrvaInfo[dDrvoZ]-4, 0.0000000,0.0000000,0.0000000);
                format(stringv,256,""ZELENA"["BELA" %s"ZELENA" ]\n"BELA"Voce jos nije izraslo...\n"BELA"Vreme do izrastanja :"ZELENA"%d"BELA" sati, "ZELENA"%d"BELA" minuta",vrsta,DrvaInfo[dSat],DrvaInfo[dMinuta]);
                DrvoLabel = CreateDynamic3DTextLabel(stringv, 0x33CCFFAA, DrvaInfo[dDrvoX]+2,DrvaInfo[dDrvoY],DrvaInfo[dDrvoZ], 15);
                if(DrvaInfo[dSat] == 0 && DrvaInfo[dMinuta] == 0)//,ImanjeInfo[iVlasnik]
                {
                   format(stringv,256,""ZELENA"["BELA" %s"ZELENA" ]\n"BELA"Voce je izraslo!\n"BELA"Da oberes voce kucaj"ZELENA"/oberivoce",vrsta);
                   UpdateDynamic3DTextLabelText(DrvoLabel, -1, stringv);
                }
          }
      }
   }
   SetTimer("PredRaste", 60000, true);[/pawn]
Komanda /prihvati imanje
[pawn]else if(strcmp(ime,"imanje",true) == 0)
    {
       new string[128];
       if(ProdavacImanja[playerid] == -1) return SCM(playerid,-1,""ZUTA"[GRESKA] Niko ti nije ponudio prodaju imanja");
       if(!DaljinaIgraca(5.0,playerid,ProdavacImanja[playerid])) return SCM(playerid,-1,""ZUTA"[GRESKA] Prodavac imanja nije blizu tebe");
       if(PlayerInfo[playerid][pNovacDzep] < CenaImanja[playerid]) return SCM(playerid,-1,""ZUTA"[GRESKA] Nemas dovoljno novca da kupis imanje!");
       if(PlayerInfo[playerid][pLevel] < ImanjeInfo[IDImanja[playerid]][iLevel]) return SCM(playerid,-1,""ZUTA"[GRESKA] Nemas dovoljan level da bi kupio ponudjeno imanje");
       g_NovacMinus(playerid,-CenaImanja[playerid]);
       g_NovacPlus(IgracKProdajesI[playerid],CenaImanja[playerid]);
       PlayerInfo[playerid][pImaImanje] = IDImanja[playerid];
       PlayerInfo[IgracKProdajesI[playerid]][pImaImanje] = 2555;
       format(string,sizeof(string),""ZUTA"Igrac %s je prihvatio imanje",GetName(playerid));
       SCM(IgracKProdajesI[playerid],-1,string);
       SCM(playerid,-1,""ZUTA"Prihvatio si imanje,kucaj /imanje");
       strmid(ImanjeInfo[IDImanja[playerid]][iVlasnik], GetName(playerid), 0, strlen(GetName(playerid)), 255);
        ImanjeLabelIPickup(IDImanja[playerid]);
        SacuvajImanje(IDImanja[playerid]);
        SavePlayer(playerid);
        SavePlayer(ProdavacImanja[playerid]);
         ProdajesImanje[ProdavacImanja[playerid]] = 0;
       IgracKProdajesI[ProdavacImanja[playerid]] = -1;
        IDImanja[playerid] = -1;
        CenaImanja[playerid] = -1;
        ProdavacImanja[playerid] = -1;
   }[/pawn]
Ostale komande od sistema
[pawn]YCMD:oberivoce(playerid, params[], help)
{
    #pragma unused help
   if(UlogovanProvera[playerid] == 0) return SCM(playerid, -1, ""ZUTA"[GRESKA] Moras se ulogovati da bi koristio ovu komandu!");
   for(new i; i < sizeof(DrvaInfo); i++)
   {
        //new stringv[256];
        new stringslj[128];
        new stringkru[128];
        new stringjab[128];
        new randsljive =random(8)+8;
        new randkruske =random(8)+8;
        new randjabuke =random(8)+8;
        new kFile[50];
      if(IsPlayerInRangeOfPoint(playerid, 3.0, DrvaInfo[dDrvoX], DrvaInfo[dDrvoY], DrvaInfo[dDrvoZ]))
      {
      if(DrvaInfo[dVrsta] == 1)
        {
          new nijet = DrvaInfo[dIDImanja];
            if(PlayerInfo[playerid][pImaImanje] == 2555) return SCM(playerid, -1,""ZUTA"[GRESKA] Ne posedujete imanje!");
           if(DrvaInfo[dSat] >= 1 && DrvaInfo[dMinuta] >= 1) return SCM(playerid, -1,""ZUTA"[GRESKA] Sljiva jos nije spremna za branje!");
             if(PlayerInfo[playerid][pImaImanje] == nijet)
            {
               format(kFile, sizeof(kFile), "Imanja/drva/Drvo_%d.ini", i);
               if(fexist(kFile))
                {
                   fremove(kFile);
                   DestroyDynamic3DTextLabel(DrvoLabel);
                    DestroyDynamicObject(DrvaInfo[dObjd]);
                    Delete3DTextLabel(DrvoLabel);
                    DrvaInfo[dDrvoX] = 0;
                    DrvaInfo[dDrvoY] = 0;
                    DrvaInfo[dDrvoZ] = 0;
                    PlayerInfo[playerid][pDrvaMax] --;
                    //DrvaInfo[dIDImanja] = idi;
                   DrvaInfo[dPostavljeno] = 0;
                   new vrsta[64];
                    if(DrvaInfo[dVrsta] == 1) { vrsta = "Sljiva"; }
                    else if(DrvaInfo[dVrsta] == 2) { vrsta = "Kruska"; }
                    else if(DrvaInfo[dVrsta] == 3) { vrsta = "Jabuka"; }
                  PlayerInfo[playerid][pSljiva] += randsljive;
                  format(stringslj,128,""GINFO"[INFO] Obrali ste sljivu i dobili ste %d sljiva",randsljive);
                  SCM(playerid,-1,stringslj);
              }
           }
           else
             SCM(playerid, -1,""BELA"To nije tvoje drvo!!");
            }
           if(DrvaInfo[dVrsta] == 2)
          {
                new nijet = DrvaInfo[dIDImanja];
              if(PlayerInfo[playerid][pImaImanje] == 2555) return SCM(playerid, -1,""ZUTA"[GRESKA] Ne posedujete imanje!");
              if(DrvaInfo[dSat] >= 1 && DrvaInfo[dMinuta] >= 1) return SCM(playerid, -1,""ZUTA"[GRESKA] Kruska jos nije spremna za branje!");
              if(PlayerInfo[playerid][pImaImanje] == nijet)
                {
                   format(kFile, sizeof(kFile), "Imanja/drva/Drvo_%d.ini", i);
                  if(fexist(kFile))
                  {
                    fremove(kFile);
                    DestroyDynamic3DTextLabel(DrvoLabel);
                     DestroyDynamicObject(DrvaInfo[dObjd]);
                     Delete3DTextLabel(DrvoLabel);
                     DrvaInfo[dDrvoX] = 0;
                     DrvaInfo[dDrvoY] = 0;
                     DrvaInfo[dDrvoZ] = 0;
                     PlayerInfo[playerid][pDrvaMax] --;
                     DrvaInfo[dPostavljeno] = 0;
                    new vrsta[64];
                     if(DrvaInfo[dVrsta] == 1) { vrsta = "Sljiva"; }
                     else if(DrvaInfo[dVrsta] == 2) { vrsta = "Kruska"; }
                     else if(DrvaInfo[dVrsta] == 3) { vrsta = "Jabuka"; }
                   PlayerInfo[playerid][pKrusaka] += randkruske;
                   format(stringkru,128,""GINFO"[INFO] Obrali ste krusku i dobili ste %d krusaka",randkruske);
                   SCM(playerid,-1,stringkru);
                 }
              }
               else
                SCM(playerid, -1,""BELA"To nije tvoje drvo!!");
               }
              if(DrvaInfo[dVrsta] == 3)
             {
                new nijet = DrvaInfo[dIDImanja];
              if(PlayerInfo[playerid][pImaImanje] == 2555) return SCM(playerid, -1,""ZUTA"[GRESKA] Ne posedujete imanje!");
              if(DrvaInfo[dSat] >= 1 && DrvaInfo[dMinuta] >= 1) return SCM(playerid, -1,""ZUTA"[GRESKA] Jabuka jos nije spremna za branje!");
              if(PlayerInfo[playerid][pImaImanje] == nijet)
                {
                    format(kFile, sizeof(kFile), "Imanja/drva/Drvo_%d.ini", i);
                   if(fexist(kFile))
                   {
                    fremove(kFile);
                    DestroyDynamic3DTextLabel(DrvoLabel);
                     DestroyDynamicObject(DrvaInfo[dObjd]);
                     Delete3DTextLabel(DrvoLabel);
                     DrvaInfo[dDrvoX] = 0;
                     DrvaInfo[dDrvoY] = 0;
                     DrvaInfo[dDrvoZ] = 0;
                     PlayerInfo[playerid][pDrvaMax] --;
                     DrvaInfo[dPostavljeno] = 0;
                    new vrsta[64];
                     if(DrvaInfo[dVrsta] == 1) { vrsta = "Sljiva"; }
                     else if(DrvaInfo[dVrsta] == 2) { vrsta = "Kruska"; }
                     else if(DrvaInfo[dVrsta] == 3) { vrsta = "Jabuka"; }
                   PlayerInfo[playerid][pJabuka] += randjabuke;
                   format(stringjab,128,""GINFO"[INFO] Obrali ste jabuku i dobili ste %d jabuka",randjabuke);
                   SCM(playerid,-1,stringjab);
                 }
              }
              else
               SCM(playerid, -1,""ZUTA"[GRESKA] To nije tvoje drvo!!");
         }
      }
   }
return 1;
}
////////////////////////////////////////////////////////////////////////////////
YCMD:posadidrvo(playerid, params[], help)
{
   #pragma unused help
   if(UlogovanProvera[playerid] == 0) return SCM(playerid, -1, ""ZUTA"[GRESKA] Moras se ulogovati da bi koristio ovu komandu!");
    //new drvoid = 0;
    /*for(new b = 0; b < sizeof(DrvaInfo); b++)
    {
       if(DrvaInfo[dPostavljeno] == 1)
      {
         drvoid = b + 1;
      }
   }*/
   new iddrva = SledeceDrvo();
    new stringv[256];
    new randcode = 100 + random(899);
    new randtext = 100 + random(899);
    new Float:pozx, Float:pozy, Float:pozz;
    GetPlayerPos(playerid, pozx, pozy, pozz);
   new idi = PlayerInfo[playerid][pImaImanje];
    new vrstad;
    if(sscanf(params, "i", vrstad))
   {
      SCM(playerid, -1,""ZUTA"/posadidrvo [1/2/3]");
      SCM(playerid, -1,""ZUTA"Vrste Drva | 1: Sljiva | 2: Kruska | 3: Jabuka");
      return 1;
   }
    if(vrstad == 0)
    {
        SCM(playerid, -1,""ZUTA"/posadidrvo [1/2/3]");
      SCM(playerid, -1,""ZUTA"Vrste Drva | 1: Sljiva | 2: Kruska | 3: Jabuka");
   }
   if(vrstad == 1)
   {
    for(new i; i < sizeof(DrvaInfo); i++)
     {
       if(IsPlayerInRangeOfPoint(playerid, 5.0, DrvaInfo[dDrvoX], DrvaInfo[dDrvoY], DrvaInfo[dDrvoZ])) return SCM(playerid, -1,""ZUTA"[GRESKA] Izmedju voca mora biti razmak 5 koraka!");
       }
        if(!IsPlayerInRangeOfPoint(playerid, ImanjeInfo[idi][iPrecnik], ImanjeInfo[idi][iUlazX], ImanjeInfo[idi][iUlazY], ImanjeInfo[idi][iUlazZ])) return SCM(playerid, -1,""ZUTA"[GRESKA] Nisi na svom imanju!");
       if(PlayerInfo[playerid][pImaImanje] == 2555) return SCM(playerid, -1,""ZUTA"[GRESKA] Nemate imanje!");
       if(PlayerInfo[playerid][pSjemeSljiva] == 0) return SCM(playerid, -1,""ZUTA"[GRESKA] Nemate sjemena za sljive!");
       if(PlayerInfo[playerid][pDrvaMax] > 100) return SCM(playerid, -1,""ZUTA"[GRESKA] Ne mozete vise od 100 drva da posadite!");
      DrvaInfo[iddrva][dVrsta] = 1;
      DrvaInfo[iddrva][dDrvo] = 777;//777
      DrvaInfo[iddrva][dSat] = 20;
       DrvaInfo[iddrva][dMinuta] = 1;
       DrvaInfo[iddrva][dObjd] = randcode;
        DrvaInfo[iddrva][dText] = randtext;
        DrvaInfo[iddrva][dDrvoX] = pozx;
        DrvaInfo[iddrva][dDrvoY] = pozy;
        DrvaInfo[iddrva][dDrvoZ] = pozz;
        new vrsta[158];
        if(DrvaInfo[iddrva][dVrsta] == 1) { vrsta = "Sljiva"; }
          else if(DrvaInfo[iddrva][dVrsta] == 2) { vrsta = "Kruska"; }
        else if(DrvaInfo[iddrva][dVrsta] == 3) { vrsta = "Jabuka"; }
        format(stringv,256,""ZUTA" ["BELA" %s"ZUTA" ]\n"BELA"Voce jos nije izraslo...\n"BELA"Vreme do izrastanja :"ZELENA"%d"BELA" sati, "ZELENA"%d"BELA" minuta",vrsta,DrvaInfo[iddrva][dSat],DrvaInfo[iddrva][dMinuta]);
      DrvaInfo[iddrva][dObjd] = rastko_CreateDynamicObject(DrvaInfo[iddrva][dDrvo], DrvaInfo[iddrva][dDrvoX]+1,DrvaInfo[iddrva][dDrvoY],DrvaInfo[iddrva][dDrvoZ]-4, 0.0000000, 0.0000000, 0.0000000);
      DrvoLabel[iddrva] = CreateDynamic3DTextLabel(stringv, -1, DrvaInfo[iddrva][dDrvoX]+1,DrvaInfo[iddrva][dDrvoY],DrvaInfo[iddrva][dDrvoZ], 15);
      SCM(playerid,-1,""GINFO"[INFO] Posadili ste sljivu!");
          DrvaInfo[iddrva][dIDImanja] = idi;
       DrvaInfo[iddrva][dPostavljeno] = 1;
       PlayerInfo[playerid][pSjemeSljiva] --;
       PlayerInfo[playerid][pDrvaMax] ++;
       SacuvajDrvo(iddrva);
        SavePlayer(playerid);
   }
   else if(vrstad == 2)
   {
   for(new i; i < sizeof(DrvaInfo); i++)
    {
     if(IsPlayerInRangeOfPoint(playerid, 5.0, DrvaInfo[dDrvoX], DrvaInfo[dDrvoY], DrvaInfo[dDrvoZ])) return SCM(playerid, -1,""ZUTA"[GRESKA] Izmedju voca mora biti razmak 5 koraka!");
      }
       if(!IsPlayerInRangeOfPoint(playerid, ImanjeInfo[idi][iPrecnik], ImanjeInfo[idi][iUlazX], ImanjeInfo[idi][iUlazY], ImanjeInfo[idi][iUlazZ])) return SCM(playerid, -1,""ZUTA"[GRESKA] Nisi na svom imanju!");
      if(PlayerInfo[playerid][pImaImanje] == 2555) return SCM(playerid, -1,""ZUTA"[GRESKA] Nemate imanje!");
      if(PlayerInfo[playerid][pSjemeKruska] == 0) return SCM(playerid, -1,""ZUTA"[GRESKA] Nemate sjemena za kruske!");
      if(PlayerInfo[playerid][pDrvaMax] > 100) return SCM(playerid, -1,""ZUTA"[GRESKA] Ne mozete vise od 100 da posadite!");
       DrvaInfo[iddrva][dVrsta] = 2;
       DrvaInfo[iddrva][dDrvo] = 673;
       DrvaInfo[iddrva][dSat] = 20;
      DrvaInfo[iddrva][dMinuta] = 1;
      DrvaInfo[iddrva][dObjd] = randcode;
       DrvaInfo[iddrva][dText] = randtext;
       DrvaInfo[iddrva][dDrvoX] = pozx;
      DrvaInfo[iddrva][dDrvoY] = pozy;
      DrvaInfo[iddrva][dDrvoZ] = pozz;
      new vrsta[158];
       if(DrvaInfo[iddrva][dVrsta] == 1) { vrsta = "Sljiva"; }
         else if(DrvaInfo[iddrva][dVrsta] == 2) { vrsta = "Kruska"; }
       else if(DrvaInfo[iddrva][dVrsta] == 3) { vrsta = "Jabuka"; }
      format(stringv,256,""ZUTA" ["BELA" %s"ZUTA" ]\n"BELA"Voce jos nije izraslo...\n"BELA"Vreme do izrastanja :"ZELENA"%d"BELA" sati, "ZELENA"%d"BELA" minuta",vrsta,DrvaInfo[iddrva][dSat],DrvaInfo[iddrva][dMinuta]);
      DrvaInfo[iddrva][dObjd] = rastko_CreateDynamicObject(DrvaInfo[iddrva][dDrvo], DrvaInfo[iddrva][dDrvoX]+1,DrvaInfo[iddrva][dDrvoY],DrvaInfo[iddrva][dDrvoZ]-4, 0.0000000, 0.0000000, 0.0000000);
      DrvoLabel[iddrva] = CreateDynamic3DTextLabel(stringv, -1, DrvaInfo[iddrva][dDrvoX]+1,DrvaInfo[iddrva][dDrvoY],DrvaInfo[iddrva][dDrvoZ], 15);
      SCM(playerid,1,""GINFO"[INFO] Posadili ste krusku!");
         DrvaInfo[iddrva][dIDImanja] = idi;
      DrvaInfo[iddrva][dPostavljeno] = 1;
      PlayerInfo[playerid][pSjemeKruska] --;
      PlayerInfo[playerid][pDrvaMax] ++;
      SacuvajDrvo(iddrva);
       SavePlayer(playerid);
   }
   else if(vrstad == 3)
   {
      for(new i; i < sizeof(DrvaInfo); i++)
     {
     if(IsPlayerInRangeOfPoint(playerid, 5.0, DrvaInfo[dDrvoX], DrvaInfo[dDrvoY], DrvaInfo[dDrvoZ])) return SCM(playerid, -1,""ZUTA"[GRESKA] Izmedju voca mora biti razmak 5 koraka!");
     }
      if(!IsPlayerInRangeOfPoint(playerid, ImanjeInfo[idi][iPrecnik], ImanjeInfo[idi][iUlazX], ImanjeInfo[idi][iUlazY], ImanjeInfo[idi][iUlazZ])) return SCM(playerid, -1,""ZUTA"[GRESKA] Nisi na svom imanju!");
      if(PlayerInfo[playerid][pImaImanje] == 2555) return SCM(playerid, -1,""ZUTA"[GRESKA] Nemate imanje!");
      if(PlayerInfo[playerid][pSjemeJabuka] == 0) return SCM(playerid, -1,""ZUTA"[GRESKA] Nemate sjemena za jabuke!");
      if(PlayerInfo[playerid][pDrvaMax] > 100) return SCM(playerid, -1,""ZUTA"[GRESKA] Ne mozete vise od 100 da posadite!");
       DrvaInfo[iddrva][dVrsta] = 3;
       DrvaInfo[iddrva][dDrvo] = 773;
       DrvaInfo[iddrva][dSat] = 20;
      DrvaInfo[iddrva][dMinuta] = 1;
      DrvaInfo[iddrva][dObjd] = randcode;
       DrvaInfo[iddrva][dText] = randtext;
       DrvaInfo[iddrva][dDrvoX] = pozx;
      DrvaInfo[iddrva][dDrvoY] = pozy;
      DrvaInfo[iddrva][dDrvoZ] = pozz;
      new vrsta[158];
       if(DrvaInfo[iddrva][dVrsta] == 1) { vrsta = "Sljiva"; }
         else if(DrvaInfo[iddrva][dVrsta] == 2) { vrsta = "Kruska"; }
       else if(DrvaInfo[iddrva][dVrsta] == 3) { vrsta = "Jabuka"; }
      format(stringv,256,""ZUTA" ["BELA" %s"ZUTA" ]\n"BELA"Voce jos nije izraslo...\n"BELA"Vreme do izrastanja :"ZELENA"%d"BELA" sati, "ZELENA"%d"BELA" minuta",vrsta,DrvaInfo[iddrva][dSat],DrvaInfo[iddrva][dMinuta]);
      DrvaInfo[iddrva][dObjd] = rastko_CreateDynamicObject(DrvaInfo[iddrva][dDrvo], DrvaInfo[iddrva][dDrvoX]+1,DrvaInfo[iddrva][dDrvoY],DrvaInfo[iddrva][dDrvoZ]-4, 0.0000000, 0.0000000, 0.0000000);
       DrvoLabel[iddrva] = CreateDynamic3DTextLabel(stringv, -1, DrvaInfo[iddrva][dDrvoX]+1,DrvaInfo[iddrva][dDrvoY],DrvaInfo[iddrva][dDrvoZ], 15);
       SCM(playerid,-1,""GINFO"[INFO] Posadili ste jabuku!");
         DrvaInfo[iddrva][dIDImanja] = idi;
      DrvaInfo[iddrva][dPostavljeno] = 1;
      PlayerInfo[playerid][pSjemeJabuka] --;
      PlayerInfo[playerid][pDrvaMax] ++;
      SacuvajDrvo(iddrva);
       SavePlayer(playerid);
   }
   if(vrstad >= 4)
    {
        SCM(playerid, -1,""ZUTA"/posadidrvo [1/2/3]");
      SCM(playerid, -1,""ZUTA"Vrste Drva | 1: Sljiva | 2: Kruska | 3: Jabuka");
   }
   return 1;
}
////////////////////////////////////////////////////////////////////////////////
YCMD:kupiimanje(playerid, params[], help)
{
   #pragma unused help
   if(UlogovanProvera[playerid] == 0) return SCM(playerid, -1, ""ZUTA"[GRESKA] Moras se ulogovati da bi koristio ovu komandu!");
   for(new i; i < sizeof(ImanjeInfo); i++)
   {
      if(IsPlayerInRangeOfPoint(playerid, 3.0, ImanjeInfo[iUlazX], ImanjeInfo[iUlazY], ImanjeInfo[iUlazZ]))
      {
             if(ImanjeInfo[iImaVlasnika] == 1) return SCM(playerid,-1,""ZUTA"[GRESKA]To imanje nije na prodaju");
            if(PlayerInfo[playerid][pLevel] < ImanjeInfo[iLevel]) return SCM(playerid, -1,""ZUTA"[GRESKA] Treba vam %d level za ovo imanje!", ImanjeInfo[iLevel]);
            if(PlayerInfo[playerid][pImaImanje] != 2555) return SCM(playerid, -1,""ZUTA"[GRESKA] Vec imas imanje !");
                if(PlayerInfo[playerid][pNovacDzep] < ImanjeInfo[iCena]) return SCM(playerid,-1,""ZUTA"[GRESKA] Nemas dovoljno novca!");
             new send[30];
            GetPlayerName(playerid, send, sizeof(send));
            strmid(ImanjeInfo[iVlasnik], send, 0, strlen(send), 255);
            ImanjeInfo[iImaVlasnika] = 1;
            PlayerInfo[playerid][pImaImanje] = i;
            PlayerInfo[playerid][pDrvaMax] = 0;
            SCM(playerid,-1,""GINFO"[INFO] Cestitamo kupili ste imanje! Komande: /imanje, /posadidrvo, /oberivoce");
            g_NovacMinus(playerid, ImanjeInfo[iCena]);
            ImanjeLabelIPickup(i);
            SacuvajImanje(i);
                SavePlayer(playerid);
     }
   }
   return 1;
}
////////////////////////////////////////////////////////////////////////////////
YCMD:eimanje(playerid, params[], help)
{
   #pragma unused help
   if(UlogovanProvera[playerid] == 0) return SCM(playerid, -1, ""ZUTA"[GRESKA] Moras se ulogovati da bi koristio ovu komandu!");
   if(PlayerInfo[playerid][pAdmin] < 6) return SCM(playerid,-1,""ZUTA"[GRESKA] Samo Vlasnik!");
   new sta[20],ide,string[100];
   if(sscanf(params, "s[20]i",sta,ide)) return SCM(playerid,-1,""ZUTA"/eimanje [level,cena,precnik] [kolicina]");
    for(new i; i < MAX_IMANJE; i++)
   {
      if(IsPlayerInRangeOfPoint(playerid, 3.0, ImanjeInfo[iUlazX], ImanjeInfo[iUlazY], ImanjeInfo[iUlazZ]))
      {
         if(!strcmp(sta, "level", true))
         {
              ImanjeInfo[iLevel] = ide;
            ImanjeLabelIPickup(i);
            SacuvajImanje(i);
            format(string,sizeof(string),"{80FF00}  Izmenili ste level imanja(ID: %d) u %d!",i,ImanjeInfo[iLevel]);
            SCM(playerid,-1,string);
         }
         else if(!strcmp(sta, "cena", true))
         {
              ImanjeInfo[iCena] = ide;
              ImanjeLabelIPickup(i);
            SacuvajImanje(i);
            format(string,sizeof(string),"{80FF00}  Izmenili ste cenu imanja(ID: %d) u %d!",i,ImanjeInfo[iCena]);
            SCM(playerid,-1,string);
         }
         else if(!strcmp(sta, "precnik", true))
         {
              ImanjeInfo[iPrecnik] = ide;
              ImanjeLabelIPickup(i);
            SacuvajImanje(i);
            format(string,sizeof(string),"{80FF00}  Izmenili ste velicinu imanja(ID: %d) u %d!",i,ImanjeInfo[iPrecnik]);
            SCM(playerid,-1,string);
         }
      }
   }
   return 1;
}
////////////////////////////////////////////////////////////////////////////////
YCMD:imanje(playerid, params[], help)
{
   #pragma unused help
    if(UlogovanProvera[playerid] == 0) return SCM(playerid, -1, ""ZUTA"[GRESKA] Moras se ulogovati da bi koristio ovu komandu!");
    if(PlayerInfo[playerid][pImaImanje] == 2555) return SCM(playerid, -1,""ZUTA"[GRESKA] Nemate imanje!");
   new imedas[MAX_PLAYER_NAME];
   GetPlayerName(playerid, imedas, sizeof(imedas));
   if(strcmp(ImanjeInfo[PlayerInfo[playerid][pImaImanje]][iVlasnik], imedas, true)) return SCM(playerid, -1,""ZUTA"[GRESKA] Niste vlasnik tog imanja!");
    SPD(playerid, DIALOG_IMANJCE, DSL, "Imanje Opcije", "Info\nProdaj Drzavi ", "Odaberi", "Izlaz");
   return 1;
}
////////////////////////////////////////////////////////////////////////////////
YCMD:portimanje(playerid, params[], help)
{
   #pragma unused help
   if(UlogovanProvera[playerid] == 0) return SCM(playerid, -1, ""ZUTA"[GRESKA] Moras se ulogovati da bi koristio ovu komandu!");
   if(PlayerInfo[playerid][pAdmin] < 3) return SCM(playerid,-1,""ZUTA"[GRESKA] Samo Admin (AL 3+)!");
   new id,kFile[50];
   if(sscanf(params,"i",id)) return SCM(playerid,-1,""ZUTA"/portimanje [ID]");
   format(kFile, sizeof(kFile), IMANJE_FILE, id);
   if(!fexist(kFile)) return SCM(playerid,-1,""ZUTA"[GRESKA] ID imanja ne postoji!");
    SetPlayerPos(playerid,ImanjeInfo[id][iUlazX], ImanjeInfo[id][iUlazY], ImanjeInfo[id][iUlazZ]);
    SetPlayerInterior(playerid,0); SetPlayerVirtualWorld(playerid,0);
   return 1;
}
////////////////////////////////////////////////////////////////////////////////
YCMD:kreirajimanje(playerid, params[], help)
{
    #pragma unused help
   if(UlogovanProvera[playerid] == 0) return SCM(playerid, -1, ""ZUTA"[GRESKA] Moras se ulogovati da bi koristio ovu komandu!");
   if(PlayerInfo[playerid][pAdmin] < 5) return SCM(playerid, -1,""ZUTA"[GRESKA] Samo Vlasnik!");
   new string[512];
   new imanjeid = 0;
   new Float:dX, Float:dY, Float:dZ;
   GetPlayerPos(playerid, dX,dY,dZ);
   for(new b = 0; b < sizeof(ImanjeInfo); b++)
   {
      if(ImanjeInfo[iPostavljena] == 1)
      {
         imanjeid = b + 1;
      }
   }
   if(imanjeid > 2000) return SCM(playerid, -1,""ZUTA"[GRESKA] Ne mozete napraviti vise od 100 imanja!");
    new cena, lvl, precnik;
    if(sscanf(params, "iii", lvl , cena, precnik))
   {
      SCM(playerid, -1,""ZUTA" /napraviimanje [level] [cena] [precnik]");
      return 1;
   }
   ImanjeInfo[imanjeid][iCena] = cena;
   ImanjeInfo[imanjeid][iLevel] = lvl;
   ImanjeInfo[imanjeid][iPrecnik] = precnik;
    ImanjeInfo[imanjeid][iUlazX] = dX;
    ImanjeInfo[imanjeid][iUlazY] = dY;
    ImanjeInfo[imanjeid][iUlazZ] = dZ;
    ImanjeInfo[imanjeid][iImaVlasnika] = 0;
    ImanjeInfo[imanjeid][iPostavljena] = 1;
    strmid(ImanjeInfo[imanjeid][iVlasnik],"Niko",0,strlen("Niko"),255);
    format(string,sizeof(string),"{FFFFFF}[{FBFBFB} ~ Imanje na Prodaju! ~{FFFFFF} ]\n{FBFB00}- Cena: {FFFFFF}%d$\n{FBFB00}- Level: {FFFFFF}%d\n{FBFB00}- Precnik: {FFFFFF}%dm\n{FBFB00}({FFFFFF}/kupiimanje{FBFB00})",ImanjeInfo[imanjeid][iCena],ImanjeInfo[imanjeid][iLevel]);
      ImanjeLabel[imanjeid] = CreateDynamic3DTextLabel(string ,0x9EC73DAA,ImanjeInfo[imanjeid][iUlazX], ImanjeInfo[imanjeid][iUlazY], ImanjeInfo[imanjeid][iUlazZ],15);
      ImanjePickup[imanjeid] = CreateDynamicPickup(1273, 1, ImanjeInfo[imanjeid][iUlazX], ImanjeInfo[imanjeid][iUlazY], ImanjeInfo[imanjeid][iUlazZ]);
    format(string,sizeof(string),"Imanje ID:%d je napravljeno.",imanjeid);
   SCM(playerid, -1,string);
   ImanjeLabelIPickup(imanjeid);
   SacuvajImanje(imanjeid);
   return 1;
}
////////////////////////////////////////////////////////////////////////////////
YCMD:izbrisiimanje(playerid, params[], help)
{
   #pragma unused help
   if(UlogovanProvera[playerid] == 0) return SCM(playerid, -1, ""ZUTA"[GRESKA] Moras se ulogovati da bi koristio ovu komandu!");
   if(PlayerInfo[playerid][pAdmin] < 5) return SCM(playerid, -1,""ZUTA"[GRESKA] Ne mozes ti to!");
   new kFile[50], id;
   if(sscanf(params,"i",id)) return SCM(playerid,-1,""ZUTA"/izbrisiimanje [ID imanja]");
   format(kFile, sizeof(kFile), IMANJE_FILE, id);
   if(fexist(kFile))
   {
      fremove(kFile);
      DestroyDynamic3DTextLabel(ImanjeLabel[id]);
       DestroyDynamicPickup(ImanjePickup[id]);
      ImanjeInfo[id][iCena] = -1;
      ImanjeInfo[id][iLevel] = -1;
       ImanjeInfo[id][iUlazX] = 0.00000;
       ImanjeInfo[id][iUlazY] = 0.00000;
       ImanjeInfo[id][iUlazZ] = 0.00000;
       ImanjeInfo[id][iImaVlasnika] = 0;
       strmid(ImanjeInfo[id][iVlasnik],"Izbrisana",0,strlen("Izbrisana"),255);
   }
   else { SCM(playerid,-1,""ZUTA"[GRESKA] Taj ID imanja ne postoji!");
   }
   return 1;
}[/pawn]
Cuvanje/Citanje
[pawn]// IMANJE SYSTEM
function SacuvajImanje(idimanja)
{
   new dFile[128];
   format(dFile, sizeof(dFile),"Imanja/Imanje_%d.ini",idimanja);
   new INI:File = INI_Open(dFile);
   INI_WriteInt(File,"iImaVlasnika",ImanjeInfo[idimanja][iImaVlasnika]);
   INI_WriteString(File,"iVlasnik",ImanjeInfo[idimanja][iVlasnik]);
   INI_WriteFloat(File,"iUlazX",ImanjeInfo[idimanja][iUlazX]);
   INI_WriteFloat(File,"iUlazY",ImanjeInfo[idimanja][iUlazY]);
   INI_WriteFloat(File,"iUlazZ",ImanjeInfo[idimanja][iUlazZ]);
   INI_WriteInt(File,"iCena",ImanjeInfo[idimanja][iCena]);
   INI_WriteInt(File,"iLevel",ImanjeInfo[idimanja][iLevel]);
   INI_WriteInt(File,"iPostavljena",ImanjeInfo[idimanja][iPostavljena]);
   INI_WriteInt(File,"iPrecnik",ImanjeInfo[idimanja][iPrecnik]);
   INI_Close(File);
   return 1;
}
function SacuvajDrvo(iddrveta)
{
   new dFile[128];
   format(dFile, sizeof(dFile),"Imanja/drva/Drvo_%d.ini",iddrveta);
   new INI:File = INI_Open(dFile);
   INI_WriteFloat(File,"dDrvoX",DrvaInfo[iddrveta][dDrvoX]);
   INI_WriteFloat(File,"dDrvoY",DrvaInfo[iddrveta][dDrvoY]);
   INI_WriteFloat(File,"dDrvoZ",DrvaInfo[iddrveta][dDrvoZ]);
   INI_WriteInt(File,"dIDImanja",DrvaInfo[iddrveta][dIDImanja]);
   INI_WriteInt(File,"dVrijeme",DrvaInfo[iddrveta][dVrijeme]);
   INI_WriteInt(File,"dPostavljeno",DrvaInfo[iddrveta][dPostavljeno]);
   INI_WriteInt(File,"dObjd",DrvaInfo[iddrveta][dObjd]);
   INI_WriteInt(File,"dText",DrvaInfo[iddrveta][dText]);
   INI_WriteInt(File,"dVrsta",DrvaInfo[iddrveta][dVrsta]);
   INI_WriteInt(File,"dMinuta",DrvaInfo[iddrveta][dMinuta]);
   INI_WriteInt(File,"dSat",DrvaInfo[iddrveta][dSat]);
   INI_WriteInt(File,"dDrvo",DrvaInfo[iddrveta][dDrvo]);
   INI_Close(File);
   return 1;
}
function UcitajDrvo(iddrveta, name[], value[])
{
   INI_Float("dDrvoX",DrvaInfo[iddrveta][dDrvoX]);
   INI_Float("dDrvoY",DrvaInfo[iddrveta][dDrvoY]);
   INI_Float("dDrvoZ",DrvaInfo[iddrveta][dDrvoZ]);
   INI_Int("dIDImanja",DrvaInfo[iddrveta][dIDImanja]);
   INI_Int("dVrijeme",DrvaInfo[iddrveta][dVrijeme]);
   INI_Int("dPostavljeno",DrvaInfo[iddrveta][dPostavljeno]);
   INI_Int("dObjd",DrvaInfo[iddrveta][dObjd]);
   INI_Int("dText",DrvaInfo[iddrveta][dText]);
   INI_Int("dVrsta",DrvaInfo[iddrveta][dVrsta]);
   INI_Int("dMinuta",DrvaInfo[iddrveta][dMinuta]);
   INI_Int("dSat",DrvaInfo[iddrveta][dSat]);
   INI_Int("dDrvo",DrvaInfo[iddrveta][dDrvo]);
   return 1;
}
function UcitajImanje(idimanja, name[], value[])
{
   INI_Int("iImaVlasnika",ImanjeInfo[idimanja][iImaVlasnika]);
   INI_String("iVlasnik",ImanjeInfo[idimanja][iVlasnik],32);
   INI_Float("iUlazX",ImanjeInfo[idimanja][iUlazX]);
   INI_Float("iUlazY",ImanjeInfo[idimanja][iUlazY]);
   INI_Float("iUlazZ",ImanjeInfo[idimanja][iUlazZ]);
   INI_Int("iLevel",ImanjeInfo[idimanja][iLevel]);
   INI_Int("iCena",ImanjeInfo[idimanja][iCena]);
   INI_Int("iPostavljena",ImanjeInfo[idimanja][iPostavljena]);
   INI_Int("iPrecnik",ImanjeInfo[idimanja][iPrecnik]);
   return 1;
}
forward PredRaste();
public PredRaste()
{
   DrvoRaste();
   return 1;
}

forward DrvoRaste();
public DrvoRaste()
{
    for(new i; i < sizeof(DrvaInfo); i++)
    {
       new gFajl[35];
       new stringv[160];
      format(gFajl, 50, "Imanja/drva/Drvo_%d.ini" ,i);
      new vrsta[64];
       if(DrvaInfo[dVrsta] == 1) { vrsta = "Sljiva"; }
       else if(DrvaInfo[dVrsta] == 2) { vrsta = "Kruska"; }
       else if(DrvaInfo[dVrsta] == 3) { vrsta = "Jabuka"; }
      if(fexist(gFajl))
      {
      if(DrvaInfo[dSat] >= 0 && DrvaInfo[dMinuta] >= 1)
      {
          DrvaInfo[dMinuta] --;
          format(stringv,256,""ZUTA" ["BELA" %s"ZUTA" ]\n"BELA"Voce jos nije izraslo...\n"BELA"Vreme do izrastanja :"ZELENA"%d"BELA" sati, "ZELENA"%d"BELA" minuta",vrsta,DrvaInfo[dSat],DrvaInfo[dMinuta]);
          UpdateDynamic3DTextLabelText(DrvoLabel, -1, stringv);
          SacuvajDrvo(i);
       }
       else if(DrvaInfo[dMinuta] == 0 && DrvaInfo[dSat] >= 1)
       {
          DrvaInfo[dSat] --;
          DrvaInfo[dMinuta] = 60;
          format(stringv,256,""ZUTA" ["BELA" %s"ZUTA" ]\n"BELA"Voce jos nije izraslo...\n"BELA"Vreme do izrastanja :"ZELENA"%d"BELA" sati, "ZELENA"%d"BELA" minuta",vrsta,DrvaInfo[dSat],DrvaInfo[dMinuta]);
          UpdateDynamic3DTextLabelText(DrvoLabel, -1, stringv);
          SacuvajDrvo(i);
       }
       else if(DrvaInfo[dSat] == 0 && DrvaInfo[dMinuta] == 0)
       {
             format(stringv,256,""ZUTA" ["BELA" %s"ZUTA" ]\n"BELA"Voce je izraslo!\n"BELA"Da oberes voce kucaj"ZELENA"/oberivoce",vrsta);
             UpdateDynamic3DTextLabelText(DrvoLabel, -1, stringv);
             SacuvajDrvo(i);
       }
    }
}
return 1;
}
////////////////////////////////////////////////////////////////////////////////
stock SledeceDrvo()
{
    new
                drvo[64];

        for(new f = 0; f<= MAX_DRVA; f++)
        {
                format(drvo, sizeof(drvo), "Imanja/drva/Drvo_%i.ini", f);
                if(!fexist(drvo)) return f;
        }
        return true;
}[/pawn]

Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log): [ code ]//[ /code ]
Slika/video ingame problema(obavezno ako je ingame problem): //
Naslov: Odg: Previše erora
Poruka od: Paul Castellano poslato Maj 15, 2018, 09:43:51 PRE PODNE
Ne razumijem što sad očekuješ od nas?

Pokušaj sve staviti pod komentar ( /* */) osim definicija isl,i onda dio po dio vraćaj i traži gdje je error.

Ukoliko nisi shvatio,ovo Å¡to si označio kao "početak moda" ostavljaÅ¡,ostalo pod komentar stavi i onda dio po dio vraćaj i gledaj errore.A da mi nagaÄ'amo ovdje nema smisla.