Ucitavanje kuca


Započeo Bandit234, Septembar 26, 2021, 13:30:05 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 2 gostiju pregledaju ovu temu.

Problem(error/warning): Postoji bug kojeg ne mogu rijesiti. U ocitavanju sve radi bez erora ili warninga ali kuca se ne pojavi(ne ocita).
Deo skripte:
enum hInfo
{
   hOwned,
   hOwnerName[MAX_PLAYER_NAME],
   hCijena,
   hLevel,
   Float:hUlazX,
   Float:hUlazY,
   Float:hUlazZ,
   Float:hIzlazX,
   Float:hIzlazY,
   Float:hIzlazZ,
   hSef,
   hMoney,
   hDroga,
   hMaterijali,
   hNeaktivnost,
   hVW,
   hInt,
   hLock,
   hRentCijena
};
new HouseInfo[MAX_HOUSES][hInfo];
new hPickup[MAX_HOUSES];
new Text3D:hText[MAX_HOUSES];
stock SaveHouse(id)
{
  new hfile[128];
  format(hfile,sizeof(hfile),HPATH,id);
  new INI:File = INI_Open(hfile);
  INI_WriteInt(File,"Owned",HouseInfo[id][hOwned]);
  INI_WriteString(File,"OwnerName",HouseInfo[id][hOwnerName]);
  INI_WriteInt(File,"Cijena",HouseInfo[id][hCijena]);
  INI_WriteInt(File,"Level",HouseInfo[id][hLevel]);
  INI_WriteFloat(File,"UlazX",HouseInfo[id][hUlazX]);
  INI_WriteFloat(File,"UlazY",HouseInfo[id][hUlazY]);
  INI_WriteFloat(File,"UlazZ",HouseInfo[id][hUlazZ]);
  INI_WriteFloat(File,"IzlazX",HouseInfo[id][hIzlazX]);
  INI_WriteFloat(File,"IzlazY",HouseInfo[id][hIzlazY]);
  INI_WriteFloat(File,"IzlazZ",HouseInfo[id][hIzlazZ]);
  INI_WriteInt(File,"Sef",HouseInfo[id][hSef]);
  INI_WriteInt(File,"Money",HouseInfo[id][hMoney]);
  INI_WriteInt(File,"Materijali",HouseInfo[id][hMaterijali]);
  INI_WriteInt(File,"Int",HouseInfo[id][hInt]);
  INI_WriteInt(File,"VW",HouseInfo[id][hVW]);
  INI_WriteInt(File,"Lock",HouseInfo[id][hLock]);
  INI_WriteInt(File,"RentCijena",HouseInfo[id][hRentCijena]);
  INI_Close(File);
  return 1;
}YCMD:kreirajkucu(playerid,params[],help)
{
   new id,level,cijena,vrsta,Float:x,Float:y,Float:z, niko[MAX_PLAYER_NAME];
   format(niko, sizeof(niko),"Niko");
   if(PlayerInfo[playerid][pAdmin] >= 5 && Aduty[playerid] == 1 || IsPlayerAdmin(playerid))
   {
       if(sscanf(params,"dddd",id,cijena,level,vrsta))return SCM(playerid,plava,"/kreirajkucu: [ id ] [ cijena ] [ level ] [ vrsta ]");
	   {
		   SCM(playerid,plava,"Vrsta 1 - Mala kuca | Vrsta 2 - Srednja kuca | Vrsta 3 - Velika kuca | Vrsta 4 - Vila");
	       if(cijena < 1)return SCM(playerid,crvena,"Cijena ne moze biti manja od 1$");
		   else if (level < 1)return SCM(playerid,crvena,"Level ne moze biti manji od 1!");
		   else if(vrsta < 1 || vrsta > 1)return SCM(playerid,crvena,"Vrsta moze biti samo 1 do 4");
		   else if(id < 0 )return SCM(playerid,crvena,"ID kuce ne moze biti manji od 1!");
		   GetPlayerPos(playerid,x,y,z);
		   HouseInfo[id][hUlazX] = x;
		   HouseInfo[id][hUlazY] = y;
		   HouseInfo[id][hUlazZ] = z;
		   HouseInfo[id][hCijena] = cijena;
		   HouseInfo[id][hLevel] = level;
		   HouseInfo[id][hOwned] = 0;
		   HouseInfo[id][hOwnerName] = niko;
		   HouseInfo[id][hSef] = 0;
		   HouseInfo[id][hMoney] = 0;
		   HouseInfo[id][hMaterijali] = 0;
		   HouseInfo[id][hNeaktivnost] = 0;
		   HouseInfo[id][hLock] = 1;
		   HouseInfo[id][hRentCijena] = 0;
		   HouseInfo[id][hVW] = id;
		   if(vrsta == 1)
		   {
			 HouseInfo[id][hInt] = 1;
			 HouseInfo[id][hIzlazX] = 244.411987;
			 HouseInfo[id][hIzlazY] = 305.032989;
			 HouseInfo[id][hIzlazZ] = 999.148437;
		   }
		   else if(vrsta == 2)
		   {
		     HouseInfo[id][hInt] = 2;
			 HouseInfo[id][hIzlazX] = 225.756989;
			 HouseInfo[id][hIzlazY] = 1240.000000;
			 HouseInfo[id][hIzlazZ] = 1082.149902;
		   }
		   else if(vrsta == 3)
		   {
		     HouseInfo[id][hInt] = 7;
			 HouseInfo[id][hIzlazX] = 225.630997;
			 HouseInfo[id][hIzlazY] = 1022.479980;
			 HouseInfo[id][hIzlazZ] = 1084.069946;
		   }
		   else if(vrsta == 4)
		   {
		     HouseInfo[id][hInt] = 5;
			 HouseInfo[id][hIzlazX] = 1299.14;
			 HouseInfo[id][hIzlazY] = -794.77;
			 HouseInfo[id][hIzlazZ] = 1084.00;
		   }
           SaveHouse(id);
           new str[128]; format(str,sizeof(str),"Kuca na prodaju\nVlasnik: Niko\nCijena: %d\nLevel: %d\nAdresa: %d",HouseInfo[id][hCijena],HouseInfo[id][hLevel],id);
		   hPickup[id] = CreateDynamicPickup(1273,0,HouseInfo[id][hUlazX],HouseInfo[id][hUlazY],HouseInfo[id][hUlazZ],0);
   		   hText[id] = Create3DTextLabel(str,plava,HouseInfo[id][hUlazX],HouseInfo[id][hUlazY],HouseInfo[id][hUlazZ],3.0,0,0);
	   }


   }
   else
   {
	 SCM(playerid,crvena,"Niste ovlasteni da korstite ovu komandu!");

   }
   
   return 1;
}

YCMD:kupikucu(playerid,params[],help)
{
   new ime[MAX_PLAYER_NAME];
   for(new id = 0; id < MAX_HOUSES; id++)
   {
	  if(IsPlayerInRangeOfPoint(playerid,2.0,HouseInfo[id][hUlazX],HouseInfo[id][hUlazY],HouseInfo[id][hUlazZ]))
	  {
		  if(PlayerInfo[playerid][pKuca] != -1)return SCM(playerid,crvena,"Vec imate kucu!");
		  if(GetPlayerMoney(playerid) < HouseInfo[id][hCijena])return SCM(playerid,crvena,"Nemate dovoljno novca ne mozete kupiti ovu kucu!");
		  if(PlayerInfo[playerid][pLevel] < HouseInfo[id][hLevel])return SCM(playerid,crvena,"Ne mozete kupiti kucu nemate dovoljan level!");
		  GetPlayerName(playerid,ime,sizeof(ime));
		  GivePlayerMoney(playerid,-HouseInfo[id][hCijena]);
		  HouseInfo[id][hOwned] = 1;
		  HouseInfo[id][hOwnerName] = ime;
		  Delete3DTextLabel(hText[id]);
		  DestroyDynamicPickup(hPickup[id]);
		  PlayerInfo[playerid][pKuca] = id;
		  new str[128]; format(str,sizeof(str),"Vlasnik: %s\nCijena: %d\nLevel: %d\nAdresa: %d",HouseInfo[id][hOwnerName],HouseInfo[id][hCijena],HouseInfo[id][hLevel],id);
		  hText[id] = Create3DTextLabel(str,plava,HouseInfo[id][hUlazX],HouseInfo[id][hUlazY],HouseInfo[id][hUlazZ],3.0,0,0);
		  hPickup[id] = CreateDynamicPickup(1272,0,HouseInfo[id][hUlazX],HouseInfo[id][hUlazY],HouseInfo[id][hUlazZ],0);
		  SaveHouse(id);
		  
	  }
   }
   return 1;
}
for(new i = 0; i < MAX_HOUSES; i++)
	{
		 new hfile[128];
		 format(hfile,sizeof(hfile),HPATH,i);
		 if(fexist(hfile))
		 {
             INI_ParseFile(hfile,"LoadHouse_data",.bExtra = true, .extra = i);
			 if(HouseInfo[i][hOwned] == 0)
			 {
				new str[128]; format(str,sizeof(str),"Kuca na prodaju\nVlasnik: Niko\nCijena: %d\nLevel: %d\nAdresa: %d",HouseInfo[i][hCijena],HouseInfo[i][hLevel],i);
				hText[i] = Create3DTextLabel(str,plava,HouseInfo[i][hUlazX],HouseInfo[i][hUlazY],HouseInfo[i][hUlazZ],3.0,0,0);
				hPickup[i] = CreateDynamicPickup(1273,0,HouseInfo[i][hUlazX],HouseInfo[i][hUlazY],HouseInfo[i][hUlazZ],0);
			 }
			 if(HouseInfo[i][hOwned] == 1)
			 {
               	new str[128]; format(str,sizeof(str),"Vlasnik: %s\nCijena: %d\nLevel: %d\nAdresa: %d",HouseInfo[i][hOwnerName],HouseInfo[i][hCijena],HouseInfo[i][hLevel],i);
				hText[i] = Create3DTextLabel(str,plava,HouseInfo[i][hUlazX],HouseInfo[i][hUlazY],HouseInfo[i][hUlazZ],3.0,0,0);
				hPickup[i] = CreateDynamicPickup(1272,0,HouseInfo[i][hUlazX],HouseInfo[i][hUlazY],HouseInfo[i][hUlazZ],0);
			 }
		 
		 }

	}

Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log):
Vaš odgovor
Poslednja Izmena: Septembar 27, 2021, 21:53:53 POSLE PODNE od M Ө M Σ N Z I

Kako ces da ti loada kucu kad u ovom kodu to nepostoi???

for(new i = 0; i < MAX_HOUSES; i++)
	{
		 new hfile[128];
		 format(hfile,sizeof(hfile),HPATH,i);
		 if(fexist(hfile))
		 {
             INI_ParseFile(hfile,"LoadHouse_data",.bExtra = true, .extra = i);
			 if(HouseInfo[i][hOwned] == 0)
			 {
				new str[128]; format(str,sizeof(str),"Kuca na prodaju\nVlasnik: Niko\nCijena: %d\nLevel: %d\nAdresa: %d",HouseInfo[i][hCijena],HouseInfo[i][hLevel],i);
				hText[i] = Create3DTextLabel(str,plava,HouseInfo[i][hUlazX],HouseInfo[i][hUlazY],HouseInfo[i][hUlazZ],3.0,0,0);
				hPickup[i] = CreateDynamicPickup(1273,0,HouseInfo[i][hUlazX],HouseInfo[i][hUlazY],HouseInfo[i][hUlazZ],0);
			 }
			 if(HouseInfo[i][hOwned] == 1)
			 {
               	new str[128]; format(str,sizeof(str),"Vlasnik: %s\nCijena: %d\nLevel: %d\nAdresa: %d",HouseInfo[i][hOwnerName],HouseInfo[i][hCijena],HouseInfo[i][hLevel],i);
				hText[i] = Create3DTextLabel(str,plava,HouseInfo[i][hUlazX],HouseInfo[i][hUlazY],HouseInfo[i][hUlazZ],3.0,0,0);
				hPickup[i] = CreateDynamicPickup(1272,0,HouseInfo[i][hUlazX],HouseInfo[i][hUlazY],HouseInfo[i][hUlazZ],0);
			 }
		
		 }

	}