Problem(error/warning): Kada kupim kuću na pickup-u od kuce se stvorju dva texta umjesto jednog
Dio skripte:
[pawn]for(new idkuce = 0; idkuce < sizeof(KucaInfo); idkuce++)
{
new kFile[50], string[400];
format(kFile, sizeof(kFile), KUCA_FILE, idkuce);
if(fexist(kFile))
{
INI_ParseFile(kFile, "UcitajKuce", .bExtra = true, .extra = idkuce);
if(KucaInfo[idkuce][kProvjeraVlasnika] == 0)
{
KucaPickup[idkuce] = CreatePickup(1273, 1, KucaInfo[idkuce][kUlazX],KucaInfo[idkuce][kUlazY],KucaInfo[idkuce][kUlazZ]);
format(string,sizeof(string),"{ffd12b}CIJENA: %d$\n'/BUYHOUSE'\n\n{ffd12b}",KucaInfo[idkuce][kCijena]);
KucaLabel[idkuce] = CreateDynamic3DTextLabel(string, -1, KucaInfo[idkuce][kUlazX],KucaInfo[idkuce][kUlazY],KucaInfo[idkuce][kUlazZ], 15.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 1);
}
else if(KucaInfo[idkuce][kProvjeraVlasnika] == 1)
{
DestroyDynamicPickup(KucaPickup[idkuce]);
KucaPickup[idkuce] = CreatePickup(1318, 1, KucaInfo[idkuce][kUlazX],KucaInfo[idkuce][kUlazY],KucaInfo[idkuce][kUlazZ]);
format(string,sizeof(string),"{ffd12b}VLASNIK: %s\nPRITISNITE 'F' ZA ULAZAK\n\n{ffd12b}",KucaInfo[idkuce][kVlasnik]);
}
KucaLabel[idkuce] = CreateDynamic3DTextLabel(string, -1, KucaInfo[idkuce][kUlazX],KucaInfo[idkuce][kUlazY],KucaInfo[idkuce][kUlazZ], 15.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 1);
}
}
CMD:buyhouse(playerid, params[], help)
{
if(gPlayerLogged[playerid] == 0) return SendClientMessage(playerid, 0xFF8284FF, "ERROR: Ne mozete koristiti komande jer niste jos prijavljeni na svoj account / ili ste mrtvi.");
for(new i; i < sizeof(KucaInfo); i++)
{
if(IsPlayerInRangeOfPoint(playerid, 3.0, KucaInfo[kUlazX], KucaInfo[kUlazY], KucaInfo[kUlazZ]))
{
if(!strcmp(KucaInfo[kVlasnik], "Nitko", true) && KucaInfo[kProvjeraVlasnika] == 0)
{
if(PlayerInfo[playerid][pKuca] > 0) return SCM(playerid,0xFF8284FF, "ERROR: Ne mozete koristiti ovu komandu jer vec imate kucu.");
if(GetPlayerCash(playerid) < KucaInfo[kCijena]) return SCM(playerid, 0xFF8284FF, "ERROR: Niste u mogucnosti kupiti ovu kucu jer nemate dovoljno novca.");
strmid(KucaInfo[kVlasnik], GetName(playerid), 0, strlen(GetName(playerid)), 255);
KucaInfo[kProvjeraVlasnika] = 1; SetPlayerInterior(playerid, KucaInfo[kInt]);
PlayerInfo[playerid][pKuca] = i;
DestroyPickup(KucaPickup);
KucaPickup = CreatePickup(1318, 1, KucaInfo[kUlazX],KucaInfo[kUlazY],KucaInfo[kUlazZ]);
SetPlayerVirtualWorld(playerid, KucaInfo[kVW]); SetPlayerPos(playerid, KucaInfo[kIzlazX], KucaInfo[kIzlazY], KucaInfo[kIzlazZ]); SetPlayerFacingAngle(playerid, KucaInfo[kIzlazA]); SetCameraBehindPlayer(playerid);
KucaInfo[kZatvoreno] = 0; GivePlayerCash(playerid, -KucaInfo[kCijena]); KuceLP(i); SacuvajKucu(i);
PlayerInfo[playerid][pKuca] = i;
SCM(playerid, 0x21DD00FF, "KUCA INFO: Kupili ste kucu - ukoliko vam je potrebna pomoc koristite /help house.");
SacuvajKucu(i);
SavePlayer(playerid);
return 1;
}
else return SendClientMessage(playerid, 0xFF8284FF, "ERROR: Niste u mogucnosti kupiti ovu kucu jer je ona vec u necijem vlasnistvu.");
}
}
return 1;
}
stock KuceLP(idkuce)
{
new string[400];
if(KucaInfo[idkuce][kProvjeraVlasnika] == 0)
{
format(string,sizeof(string),"{ffd12b}CIJENA: %d$\n'/BUYHOUSE'\n\n{ffd12b}",KucaInfo[idkuce][kCijena]);
UpdateDynamic3DTextLabelText(KucaLabel[idkuce], 0x33CCFF00, string);
}
else if(KucaInfo[idkuce][kProvjeraVlasnika] == 1)
{
format(string,sizeof(string),"{ffd12b}VLASNIK: %s\nVRSTA: %s\nPRITISNITE 'F' ZA ULAZAK\n\n{ffd12b}",KucaInfo[idkuce][kVlasnik]);
UpdateDynamic3DTextLabelText(KucaLabel[idkuce], -1, string);
}
return 1;
}[/pawn]
Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log): [ code ]ima dio skripte[ /code ]
Slika/video ingame problema(obavezno ako je ingame problem): https://imgur.com/a/62SlGl5
Probaj sa Delete3DTextLabel(...) pa kreiranje novog labela stock KuceLP(idkuce)
{
new string[400];
if(KucaInfo[idkuce][kProvjeraVlasnika] == 0)
{
Delete3DTextLabel(KucaLabel[idkuce]);
format(string,sizeof(string),"{ffd12b}CIJENA: %d$\n`/BUYHOUSE`\n\n{ffd12b}",KucaInfo[idkuce][kCijena]);
KucaLabel[idkuce] = CreateDynamic3DTextLabel(string, -1, KucaInfo[idkuce][kUlazX],KucaInfo[idkuce][kUlazY],KucaInfo[idkuce][kUlazZ], 15.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 1);
}
else if(KucaInfo[idkuce][kProvjeraVlasnika] == 1)
{
Delete3DTextLabel(KucaLabel[idkuce]);
format(string,sizeof(string),"{ffd12b}VLASNIK: %s\nVRSTA: %s\nPRITISNITE `F` ZA ULAZAK\n\n{ffd12b}",KucaInfo[idkuce][kVlasnik]);
KucaLabel[idkuce] = CreateDynamic3DTextLabel(string, -1, KucaInfo[idkuce][kUlazX],KucaInfo[idkuce][kUlazY],KucaInfo[idkuce][kUlazZ], 15.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 1);
}
return 1;
}
@buLLeT_ , ne preporucujem mu to, bolje da uradi
Update3DTextLabelText nego da ga ponovo pravi :D
daj komandu buyhouse