Problem(error/warning): Bug sa 3D Text Labelom kod kupovine kuce
Deo skripte: [pawn]YCMD:kupikucu(playerid,params[],help)
{
new i = GetHouse(playerid); new name1[MAX_PLAYER_NAME],string[150];
if(i == -1)return SCM(playerid,COLOR_RED,"Niste u blizini nikakve kuce!");
if(GetPlayerMoney(playerid) < HouseInfo[hCijena])return SCM(playerid,COLOR_RED,"Nemate dovoljno novca!");
if(PlayerInfo[playerid][pKuca] != -1)return SCM(playerid,COLOR_RED,"Vi imate vec kucu");
if(PlayerInfo[playerid][pLevel] < HouseInfo[hLevel])return SCM(playerid,COLOR_RED,"Nemate dovoljan level za ovu kucu!");
if(HouseInfo[hOwned] == 1)return SCM(playerid,COLOR_RED,"Ova kuca je vec kupljena!");
DestroyDynamicPickup(HousePickup);
Delete3DTextLabel(HouseText);
format(name1,sizeof(name1),"%s",GetName(playerid));
PlayerInfo[playerid][pKuca] = i;
HouseInfo[hOwned] = 1;
HouseInfo[hLock] = 1;
HouseInfo[hOwnerName] = name1;
GivePlayerMoney(playerid,-HouseInfo[hCijena]);
if(HouseInfo[hVrsta] == 1) { format(string,sizeof(string),"Vlasnik: %s\nCijena: %d\nLevel: %d\nVrsta: Mala kuca\nNeaktivnost: %d",HouseInfo[hOwnerName],HouseInfo[hCijena],HouseInfo[hLevel],HouseInfo[hNeaktivnost]); }
else if(HouseInfo[hVrsta] == 2) { format(string,sizeof(string),"Vlasnik: %s\nCijena: %d$\nLevel: %d\nVrsta: Srednja kuca\nNeaktivnost: %d",HouseInfo[hOwnerName],HouseInfo[hCijena],HouseInfo[hLevel],HouseInfo[hNeaktivnost]); }
else if(HouseInfo[hVrsta] == 3) { format(string,sizeof(string),"Vlasnik: %s\nCijena: %d$\nLevel: %d\nVrsta: Velika kuca\nNeaktivnost: %d",HouseInfo[hOwnerName],HouseInfo[hCijena],HouseInfo[hLevel],HouseInfo[hNeaktivnost]); }
else if(HouseInfo[hVrsta] == 4) { format(string,sizeof(string),"Vlasnik: %s\nCijena: %d$\nLevel: %d\nVrsta: Vila\nNeaktivnost: %d",HouseInfo[hOwnerName],HouseInfo[hCijena],HouseInfo[hLevel],HouseInfo[hNeaktivnost]); }
HouseText = Create3DTextLabel(string, COLOR_RED, HouseInfo[hUlazX],HouseInfo[hUlazY],HouseInfo[hUlazZ], 4.0, 0, 0);
HousePickup = CreateDynamicPickup(1272,0,HouseInfo[hUlazX],HouseInfo[hUlazY],HouseInfo[hUlazZ],0);
SaveHouse(i);
PlayerInfo[playerid][pSpawn] = 1;
SavePlayer(playerid);
return 1;
}
[/pawn]
Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log): [pawn][/pawn]
Slika/video ingame problema(obavezno ako je ingame problem): https://ibb.co/PFMP0Ld
DeleteDynamic3DTextLabel(HouseText);
a ti si napisao
Delete3DTextLabel(HouseText);
Hvala ti lol ja stavio to
nisam stavio dynamic vec obican
proveri da li je HouseText negde kreiran kao dynamican 3d text label, ako jeste tu je problem...
nigdje nema provjerio sam i uradio sam i find i nije bilo
To sto ti pise Vlasnik: je label koji nije destroyan to je sigurno, moras da ga pronadjes, definises i izbrises
nema nigdje sve sam pregledao cijelu skriptu od 1 do zadnje linije
da nije mozda streamer
Provjeri kada kreiras kucu je li ti seta housepickup i housetext
Citat: Bandit234 poslato Decembar 15, 2021, 20:36:07 POSLE PODNE
Problem(error/warning): Bug sa 3D Text Labelom kod kupovine kuce
Deo skripte: [pawn]YCMD:kupikucu(playerid,params[],help)
{
new i = GetHouse(playerid); new name1[MAX_PLAYER_NAME],string[150];
if(i == -1)return SCM(playerid,COLOR_RED,"Niste u blizini nikakve kuce!");
if(GetPlayerMoney(playerid) < HouseInfo[hCijena])return SCM(playerid,COLOR_RED,"Nemate dovoljno novca!");
if(PlayerInfo[playerid][pKuca] != -1)return SCM(playerid,COLOR_RED,"Vi imate vec kucu");
if(PlayerInfo[playerid][pLevel] < HouseInfo[hLevel])return SCM(playerid,COLOR_RED,"Nemate dovoljan level za ovu kucu!");
if(HouseInfo[hOwned] == 1)return SCM(playerid,COLOR_RED,"Ova kuca je vec kupljena!");
DestroyDynamicPickup(HousePickup);
Delete3DTextLabel(HouseText);
format(name1,sizeof(name1),"%s",GetName(playerid));
PlayerInfo[playerid][pKuca] = i;
HouseInfo[hOwned] = 1;
HouseInfo[hLock] = 1;
HouseInfo[hOwnerName] = name1;
GivePlayerMoney(playerid,-HouseInfo[hCijena]);
if(HouseInfo[hVrsta] == 1) { format(string,sizeof(string),"Vlasnik: %s\nCijena: %d\nLevel: %d\nVrsta: Mala kuca\nNeaktivnost: %d",HouseInfo[hOwnerName],HouseInfo[hCijena],HouseInfo[hLevel],HouseInfo[hNeaktivnost]); }
else if(HouseInfo[hVrsta] == 2) { format(string,sizeof(string),"Vlasnik: %s\nCijena: %d$\nLevel: %d\nVrsta: Srednja kuca\nNeaktivnost: %d",HouseInfo[hOwnerName],HouseInfo[hCijena],HouseInfo[hLevel],HouseInfo[hNeaktivnost]); }
else if(HouseInfo[hVrsta] == 3) { format(string,sizeof(string),"Vlasnik: %s\nCijena: %d$\nLevel: %d\nVrsta: Velika kuca\nNeaktivnost: %d",HouseInfo[hOwnerName],HouseInfo[hCijena],HouseInfo[hLevel],HouseInfo[hNeaktivnost]); }
else if(HouseInfo[hVrsta] == 4) { format(string,sizeof(string),"Vlasnik: %s\nCijena: %d$\nLevel: %d\nVrsta: Vila\nNeaktivnost: %d",HouseInfo[hOwnerName],HouseInfo[hCijena],HouseInfo[hLevel],HouseInfo[hNeaktivnost]); }
HouseText = Create3DTextLabel(string, COLOR_RED, HouseInfo[hUlazX],HouseInfo[hUlazY],HouseInfo[hUlazZ], 4.0, 0, 0);
HousePickup = CreateDynamicPickup(1272,0,HouseInfo[hUlazX],HouseInfo[hUlazY],HouseInfo[hUlazZ],0);
SaveHouse(i);
PlayerInfo[playerid][pSpawn] = 1;
SavePlayer(playerid);
return 1;
}
[/pawn]
Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log): [pawn][/pawn]
Slika/video ingame problema(obavezno ako je ingame problem): https://ibb.co/PFMP0Ld
1. Ako vec koristis streamer koristi i funkcije iz njega
2. Prvo proveri da li su validni ti pickupovi i labeli ako jesu onda ih unistis
if(IsValidDynamicPickup(HousePickup
)) DestroyDynamicPickup(HousePickup);
if(IsValidDynamic3DTextLabel(HouseText)) DestroyDynamic3DTextLabel(HouseText);
3. Gore imas Delete3DTextLabel treba da ti ide, kao navedeno gore pod broj 2.