Previše erora


Započeo Kamberovic, Maj 14, 2018, 21:50:04 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

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
#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 ]
OnGameModeInit
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[b][iPostavljena] == 1)
			{
				if(ImanjeInfo[b][iImaVlasnika] == 0)
				{
			        new string[256];
			 		DestroyDynamicPickup(ImanjePickup[b]);
			        UpdateDynamic3DTextLabelText(ImanjeLabel[b], 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[b][iCena],ImanjeInfo[b][iLevel],ImanjeInfo[b][iPrecnik]);
			    	ImanjeLabel[b] = CreateDynamic3DTextLabel(string ,0x9EC73DAA,ImanjeInfo[b][iUlazX], ImanjeInfo[b][iUlazY], ImanjeInfo[b][iUlazZ],15);
			    	ImanjePickup[b] = CreateDynamicPickup(1273, 1, ImanjeInfo[b][iUlazX], ImanjeInfo[b][iUlazY], ImanjeInfo[b][iUlazZ]);
			    	ImanjeMark[b] = CreateDynamicMapIcon(ImanjeInfo[b][iUlazX], ImanjeInfo[b][iUlazY], ImanjeInfo[b][iUlazZ],56,0);
				}
				else if(ImanjeInfo[b][iImaVlasnika] == 1)
				{
					new string[256];
				 	DestroyDynamicPickup(ImanjePickup[b]);
			        UpdateDynamic3DTextLabelText(ImanjeLabel[b], 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[b][iVlasnik],ImanjeInfo[b][iLevel],ImanjeInfo[b][iCena],b,ImanjeInfo[b][iPrecnik]);
			    	ImanjeLabel[b] = CreateDynamic3DTextLabel(string ,0x9EC73DAA,ImanjeInfo[b][iUlazX], ImanjeInfo[b][iUlazY], ImanjeInfo[b][iUlazZ],15);
			    	ImanjePickup[b] = CreateDynamicPickup(1273, 1, ImanjeInfo[b][iUlazX], ImanjeInfo[b][iUlazY], ImanjeInfo[b][iUlazZ]);
			    	ImanjeMark[b] = CreateDynamicMapIcon(ImanjeInfo[b][iUlazX], ImanjeInfo[b][iUlazY], ImanjeInfo[b][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[b][dPostavljeno] == 1)
   			{
      			new vrsta[64];
         		if(DrvaInfo[b][dVrsta] == 1) { vrsta = "Sljiva"; }
           		else if(DrvaInfo[b][dVrsta] == 2) { vrsta = "Kruska"; }
             	else if(DrvaInfo[b][dVrsta] == 3) { vrsta = "Jabuka"; }
   	         	DrvaInfo[b][dObjd] = rastko_CreateDynamicObject(DrvaInfo[b][dDrvo], DrvaInfo[b][dDrvoX]+2,DrvaInfo[b][dDrvoY],DrvaInfo[b][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[b][dSat],DrvaInfo[b][dMinuta]);
             	DrvoLabel[b] = CreateDynamic3DTextLabel(stringv, 0x33CCFFAA, DrvaInfo[b][dDrvoX]+2,DrvaInfo[b][dDrvoY],DrvaInfo[b][dDrvoZ], 15);
             	if(DrvaInfo[b][dSat] == 0 && DrvaInfo[b][dMinuta] == 0)//,ImanjeInfo[b][iVlasnik]
             	{
                	format(stringv,256,""ZELENA"["BELA" %s"ZELENA" ]\n"BELA"Voce je izraslo!\n"BELA"Da oberes voce kucaj"ZELENA"/oberivoce",vrsta);
                	UpdateDynamic3DTextLabelText(DrvoLabel[b], -1, stringv);
                }
    		}
		}
	}
	SetTimer("PredRaste", 60000, true);

Komanda /prihvati imanje
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;
	}

Ostale komande od sistema
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[i][dDrvoX], DrvaInfo[i][dDrvoY], DrvaInfo[i][dDrvoZ]))
		{
		if(DrvaInfo[i][dVrsta] == 1)
  		{
    		new nijet = DrvaInfo[i][dIDImanja];
      		if(PlayerInfo[playerid][pImaImanje] == 2555) return SCM(playerid, -1,""ZUTA"[GRESKA] Ne posedujete imanje!");
        	if(DrvaInfo[i][dSat] >= 1 && DrvaInfo[i][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[i]);
	                 DestroyDynamicObject(DrvaInfo[i][dObjd]);
	                 Delete3DTextLabel(DrvoLabel[i]);
	                 DrvaInfo[i][dDrvoX] = 0;
	                 DrvaInfo[i][dDrvoY] = 0;
	                 DrvaInfo[i][dDrvoZ] = 0;
	                 PlayerInfo[playerid][pDrvaMax] --;
	                 //DrvaInfo[i][dIDImanja] = idi;
		             DrvaInfo[i][dPostavljeno] = 0;
		             new vrsta[64];
	                 if(DrvaInfo[i][dVrsta] == 1) { vrsta = "Sljiva"; }
	                 else if(DrvaInfo[i][dVrsta] == 2) { vrsta = "Kruska"; }
	                 else if(DrvaInfo[i][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[i][dVrsta] == 2)
		    {
                new nijet = DrvaInfo[i][dIDImanja];
		        if(PlayerInfo[playerid][pImaImanje] == 2555) return SCM(playerid, -1,""ZUTA"[GRESKA] Ne posedujete imanje!");
		        if(DrvaInfo[i][dSat] >= 1 && DrvaInfo[i][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[i]);
	                  DestroyDynamicObject(DrvaInfo[i][dObjd]);
	                  Delete3DTextLabel(DrvoLabel[i]);
	                  DrvaInfo[i][dDrvoX] = 0;
	                  DrvaInfo[i][dDrvoY] = 0;
	                  DrvaInfo[i][dDrvoZ] = 0;
	                  PlayerInfo[playerid][pDrvaMax] --;
	                  DrvaInfo[i][dPostavljeno] = 0;
		              new vrsta[64];
	                  if(DrvaInfo[i][dVrsta] == 1) { vrsta = "Sljiva"; }
	                  else if(DrvaInfo[i][dVrsta] == 2) { vrsta = "Kruska"; }
	                  else if(DrvaInfo[i][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[i][dVrsta] == 3)
		    	{
                new nijet = DrvaInfo[i][dIDImanja];
		        if(PlayerInfo[playerid][pImaImanje] == 2555) return SCM(playerid, -1,""ZUTA"[GRESKA] Ne posedujete imanje!");
		        if(DrvaInfo[i][dSat] >= 1 && DrvaInfo[i][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[i]);
	                  DestroyDynamicObject(DrvaInfo[i][dObjd]);
	                  Delete3DTextLabel(DrvoLabel[i]);
	                  DrvaInfo[i][dDrvoX] = 0;
	                  DrvaInfo[i][dDrvoY] = 0;
	                  DrvaInfo[i][dDrvoZ] = 0;
	                  PlayerInfo[playerid][pDrvaMax] --;
	                  DrvaInfo[i][dPostavljeno] = 0;
		              new vrsta[64];
	                  if(DrvaInfo[i][dVrsta] == 1) { vrsta = "Sljiva"; }
	                  else if(DrvaInfo[i][dVrsta] == 2) { vrsta = "Kruska"; }
	                  else if(DrvaInfo[i][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[b][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[i][dDrvoX], DrvaInfo[i][dDrvoY], DrvaInfo[i][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[i][dDrvoX], DrvaInfo[i][dDrvoY], DrvaInfo[i][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[i][dDrvoX], DrvaInfo[i][dDrvoY], DrvaInfo[i][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[i][iUlazX], ImanjeInfo[i][iUlazY], ImanjeInfo[i][iUlazZ]))
		{
			    if(ImanjeInfo[i][iImaVlasnika] == 1) return SCM(playerid,-1,""ZUTA"[GRESKA]To imanje nije na prodaju");
				if(PlayerInfo[playerid][pLevel] < ImanjeInfo[i][iLevel]) return SCM(playerid, -1,""ZUTA"[GRESKA] Treba vam %d level za ovo imanje!", ImanjeInfo[i][iLevel]);
				if(PlayerInfo[playerid][pImaImanje] != 2555) return SCM(playerid, -1,""ZUTA"[GRESKA] Vec imas imanje !");
                if(PlayerInfo[playerid][pNovacDzep] < ImanjeInfo[i][iCena]) return SCM(playerid,-1,""ZUTA"[GRESKA] Nemas dovoljno novca!");
			    new send[30];
				GetPlayerName(playerid, send, sizeof(send));
				strmid(ImanjeInfo[i][iVlasnik], send, 0, strlen(send), 255);
				ImanjeInfo[i][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[i][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[i][iUlazX], ImanjeInfo[i][iUlazY], ImanjeInfo[i][iUlazZ]))
		{
			if(!strcmp(sta, "level", true))
			{
		        ImanjeInfo[i][iLevel] = ide;
				ImanjeLabelIPickup(i);
				SacuvajImanje(i);
				format(string,sizeof(string),"{80FF00}  Izmenili ste level imanja(ID: %d) u %d!",i,ImanjeInfo[i][iLevel]);
				SCM(playerid,-1,string);
			}
			else if(!strcmp(sta, "cena", true))
			{
		        ImanjeInfo[i][iCena] = ide;
		        ImanjeLabelIPickup(i);
				SacuvajImanje(i);
				format(string,sizeof(string),"{80FF00}  Izmenili ste cenu imanja(ID: %d) u %d!",i,ImanjeInfo[i][iCena]);
				SCM(playerid,-1,string);
			}
			else if(!strcmp(sta, "precnik", true))
			{
		        ImanjeInfo[i][iPrecnik] = ide;
		        ImanjeLabelIPickup(i);
				SacuvajImanje(i);
				format(string,sizeof(string),"{80FF00}  Izmenili ste velicinu imanja(ID: %d) u %d!",i,ImanjeInfo[i][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[b][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;
}

Cuvanje/Citanje
// 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[i][dVrsta] == 1) { vrsta = "Sljiva"; }
       else if(DrvaInfo[i][dVrsta] == 2) { vrsta = "Kruska"; }
       else if(DrvaInfo[i][dVrsta] == 3) { vrsta = "Jabuka"; }
	   if(fexist(gFajl))
	   {
	   if(DrvaInfo[i][dSat] >= 0 && DrvaInfo[i][dMinuta] >= 1)
	   {
	       DrvaInfo[i][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[i][dSat],DrvaInfo[i][dMinuta]);
	       UpdateDynamic3DTextLabelText(DrvoLabel[i], -1, stringv);
	       SacuvajDrvo(i);
       }
       else if(DrvaInfo[i][dMinuta] == 0 && DrvaInfo[i][dSat] >= 1)
       {
	       DrvaInfo[i][dSat] --;
	       DrvaInfo[i][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[i][dSat],DrvaInfo[i][dMinuta]);
	       UpdateDynamic3DTextLabelText(DrvoLabel[i], -1, stringv);
	       SacuvajDrvo(i);
       }
       else if(DrvaInfo[i][dSat] == 0 && DrvaInfo[i][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[i], -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;
}


Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log): [ code ]//[ /code ]
Slika/video ingame problema(obavezno ako je ingame problem): //
Amazing Gaming ~Bayside~
Owner & Developer

amazinggamingrp.e-gear.net:7737

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.