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: [pawn]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[hOwned] == 0)
{
new str[128]; format(str,sizeof(str),"Kuca na prodaju\nVlasnik: Niko\nCijena: %d\nLevel: %d\nAdresa: %d",HouseInfo[hCijena],HouseInfo[hLevel],i);
hText = Create3DTextLabel(str,plava,HouseInfo[hUlazX],HouseInfo[hUlazY],HouseInfo[hUlazZ],3.0,0,0);
hPickup = CreateDynamicPickup(1273,0,HouseInfo[hUlazX],HouseInfo[hUlazY],HouseInfo[hUlazZ],0);
}
if(HouseInfo[hOwned] == 1)
{
new str[128]; format(str,sizeof(str),"Vlasnik: %s\nCijena: %d\nLevel: %d\nAdresa: %d",HouseInfo[hOwnerName],HouseInfo[hCijena],HouseInfo[hLevel],i);
hText = Create3DTextLabel(str,plava,HouseInfo[hUlazX],HouseInfo[hUlazY],HouseInfo[hUlazZ],3.0,0,0);
hPickup = CreateDynamicPickup(1272,0,HouseInfo[hUlazX],HouseInfo[hUlazY],HouseInfo[hUlazZ],0);
}
}
}[/pawn]
Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log): Vaš odgovor
Kako ces da ti loada kucu kad u ovom kodu to nepostoi???
[pawn]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[hOwned] == 0)
{
new str[128]; format(str,sizeof(str),"Kuca na prodaju\nVlasnik: Niko\nCijena: %d\nLevel: %d\nAdresa: %d",HouseInfo[hCijena],HouseInfo[hLevel],i);
hText = Create3DTextLabel(str,plava,HouseInfo[hUlazX],HouseInfo[hUlazY],HouseInfo[hUlazZ],3.0,0,0);
hPickup = CreateDynamicPickup(1273,0,HouseInfo[hUlazX],HouseInfo[hUlazY],HouseInfo[hUlazZ],0);
}
if(HouseInfo[hOwned] == 1)
{
new str[128]; format(str,sizeof(str),"Vlasnik: %s\nCijena: %d\nLevel: %d\nAdresa: %d",HouseInfo[hOwnerName],HouseInfo[hCijena],HouseInfo[hLevel],i);
hText = Create3DTextLabel(str,plava,HouseInfo[hUlazX],HouseInfo[hUlazY],HouseInfo[hUlazZ],3.0,0,0);
hPickup = CreateDynamicPickup(1272,0,HouseInfo[hUlazX],HouseInfo[hUlazY],HouseInfo[hUlazZ],0);
}
}
}[/pawn]
Rijeseno LOCK!