Problem(error/warning): Ovako radim na UP modu i sada na serveru ima kuce kreitane i firme i stanovi i sve to i sada kada udjem oni nemaju onaj pickup kao onu malu zelenu kucicu a kada kreitam kucu ja ima zelena kucica ali kada izadjem sa srv nema uopste onaj pickup kada se kupi kuca a stavio sam imate sliku ovaj up je kao nesto sjeban mape se nisu videle ubacio sam svoje sad se vide ali nzm u cemu je problem sa modom ako neko moze da mi kaze pre mi je radio skinuo sam opet sa neta ali i dalje ima te bugove sa mapama i sa tim pickup ako neko zna i radio je na ovom modu nek mi pomogne pls
https://ibb.co/kJ4xnZ2
Deo skripte:
Pawno Code: [Izaberi]
Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log):
Kod: [Izaberi]
Slika/video ingame problema(obavezno ako je ingame problem):
Provjeri u skripti gdje ucitava kuce iz mysqla/inija sta vec koristi jel kreira pickupove, evo primjer kako je kod mene.
[pawn]forward UcitajKuce();
public UcitajKuce()
{
if(!cache_num_rows()) return printf("\n[MYSQL:NR_DATABASE]: Broj ucitanih kuca: 0.\n");
new PropertyString[256], rows;
cache_get_row_count(rows);
for(new h=0;h<rows;h++)
{
cache_get_value_int(h, "Adresa", HouseInfo[h][hWorld]);
cache_get_value_float(h, "Entrance_X", HouseInfo[h][hEntrancex]);
cache_get_value_float(h, "Entrance_Y", HouseInfo[h][hEntrancey]);
cache_get_value_float(h, "Entrance_Z", HouseInfo[h][hEntrancez]);
cache_get_value_float(h, "Exit_X", HouseInfo[h][hExitx]);
cache_get_value_float(h, "Exit_Y", HouseInfo[h][hExity]);
cache_get_value_float(h, "Exit_Z", HouseInfo[h][hExitz]);
cache_get_value(h, "Owner", HouseInfo[h][hOwner], 24);
cache_get_value(h, "Description", HouseInfo[h][hDiscription], 24);
cache_get_value(h, "Message", HouseInfo[h][hMessage], 64);
cache_get_value_int(h, "Interior", HouseInfo[h][hInt]);
cache_get_value_int(h, "Owned", HouseInfo[h][hOwned]);
cache_get_value_int(h, "Price", HouseInfo[h][hPrice]);
cache_get_value_int(h, "Level", HouseInfo[h][hLevel]);
cache_get_value_int(h, "Locked", HouseInfo[h][hLock]);
cache_get_value_int(h, "Health", HouseInfo[h][hHel]);
cache_get_value_int(h, "Armour", HouseInfo[h][hArm]);
cache_get_value_int(h, "Drugs", HouseInfo[h][hDrugs]);
cache_get_value_int(h, "Materials", HouseInfo[h][hMaterials]);
cache_get_value_int(h, "Weapon1", HouseInfo[h][hWeapon1]);
cache_get_value_int(h, "Ammo1", HouseInfo[h][hAmmo1]);
cache_get_value_int(h, "Weapon2", HouseInfo[h][hWeapon2]);
cache_get_value_int(h, "Ammo2", HouseInfo[h][hAmmo2]);
cache_get_value_int(h, "Weapon3", HouseInfo[h][hWeapon3]);
cache_get_value_int(h, "Ammo3", HouseInfo[h][hAmmo3]);
cache_get_value_int(h, "Weapon4", HouseInfo[h][hWeapon4]);
cache_get_value_int(h, "Ammo4", HouseInfo[h][hAmmo4]);
cache_get_value_int(h, "Weapon5", HouseInfo[h][hWeapon5]);
cache_get_value_int(h, "Ammo5", HouseInfo[h][hAmmo5]);
cache_get_value_int(h, "Weapon6", HouseInfo[h][hWeapon6]);
cache_get_value_int(h, "Ammo6", HouseInfo[h][hAmmo6]);
cache_get_value_int(h, "Setted", HouseInfo[h][hSetted]);
cache_get_value_int(h, "Neaktivnost", HouseInfo[h][hNeaktivnost]);
HouseInfo[h][hUsed] = true;
printf("id: %d Entrance_X : %f ", HouseInfo[h][hWorld], HouseInfo[h][hEntrancex]);
//Assigning the Values and all:
if(HouseInfo[h][hOwned] == 0)
{
format(PropertyString, sizeof(PropertyString), "{FFFFFF}Kuca nema Vlasnika!\n{FFFFFF}Adresa: {00FF00}%d\n{FFFFFF}Cijena: {00FF00}$%d\n{FFFFFF}Opis: {00FF00}%s\n{FFFFFF}Potreban level: {00FF00}%d\n{FFFFFF}Da kupite kucu kucajte {00FF00}/kupikucu", HouseInfo[h][hWorld], HouseInfo[h][hPrice], HouseInfo[h][hDiscription], HouseInfo[h][hLevel]);
HouseLabel[h] = CreateDynamic3DTextLabel(PropertyString, 0xFFFFFFAA, HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez], 7, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 0, -1, -1, -1, 7.0);
HousePickup[h] = CreateDynamicPickup(1273, 1, HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez]);
}
else if(HouseInfo[h][hOwned] == 1)
{
format(PropertyString, sizeof(PropertyString), "{FFFFFF}%s\n{FFFFFF}Vlasnik: {0099FF}%s\n{FFFFFF}Adresa: {0099FF}%d\n{FFFFFF}Neaktivnost: {0099FF}%d h\n{FFFFFF}Opis: {0099FF}%s\n{FFFFFF}Da bi usli pritisnite {0099FF}F{FFFFFF} ili {0099FF}Enter", HouseInfo[h][hMessage], HouseInfo[h][hOwner], HouseInfo[h][hWorld], HouseInfo[h][hNeaktivnost], HouseInfo[h][hDiscription]);
HouseLabel[h] = CreateDynamic3DTextLabel(PropertyString, 0xFFFFFFAA, HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez], 7, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 0, -1, -1, -1, 7.0);
HousePickup[h] = CreateDynamicPickup(1272, 1, HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez]); // ova linija
}
}
printf("\n[MYSQL:NR_DATABASE]: Broj ucitanih kuca: %d.\n",rows);
return 1;
}[/pawn]
Ovako bi to odprilike izgledalo u y_iniju
[pawn]for(new h = 0; h < sizeof(HouseInfo); h++)
{
new str3[40]; format(str3, sizeof(str3), HPATH, h);
if(fexist(str3))
{
INI_ParseFile(str3, "UcitajKuce", .bExtra = true, .extra = h);
if(HouseInfo[h][hSetted] == 1)
{
if(HouseInfo[h][hOwned] == 0)
{
format(PropertyString, sizeof(PropertyString), "{FFFFFF}Kuca nema Vlasnika!\n{FFFFFF}Adresa: {00FF00}%d\n{FFFFFF}Cijena: {00FF00}$%d\n{FFFFFF}Opis: {00FF00}%s\n{FFFFFF}Potreban level: {00FF00}%d\n{FFFFFF}Da kupite kucu kucajte {00FF00}/kupikucu", HouseInfo[h][hWorld], HouseInfo[h][hPrice], HouseInfo[h][hDiscription], HouseInfo[h][hLevel]);
HouseLabel[h] = CreateDynamic3DTextLabel(PropertyString, 0xFFFFFFAA, HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez], 7, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 0, -1, -1, -1, 7.0);
HousePickup[h] = CreateDynamicPickup(1273, 1, HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez]);
}
else if(HouseInfo[h][hOwned] == 1)
{
format(PropertyString, sizeof(PropertyString), "{FFFFFF}%s\n{FFFFFF}Vlasnik: {0099FF}%s\n{FFFFFF}Adresa: {0099FF}%d\n{FFFFFF}Neaktivnost: {0099FF}%d h\n{FFFFFF}Opis: {0099FF}%s\n{FFFFFF}Da bi usli pritisnite {0099FF}F{FFFFFF} ili {0099FF}Enter", HouseInfo[h][hMessage], HouseInfo[h][hOwner], HouseInfo[h][hWorld], HouseInfo[h][hNeaktivnost], HouseInfo[h][hDiscription]);
HouseLabel[h] = CreateDynamic3DTextLabel(PropertyString, 0xFFFFFFAA, HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez], 7, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 0, -1, -1, -1, 7.0);
HousePickup[h] = CreateDynamicPickup(1272, 1, HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez]); // ova linija
}
}
}
}[/pawn]
Meni ovako ali ovo ne radi ovo mi je za ucitavanje valjda
[pawn]
for(new k = 0; k < sizeof(KucaInfo); k++)
{
new kFile[80], string[500];
format(kFile, sizeof(kFile), KUCE_FILE, k);
if(fexist(kFile))
{
INI_ParseFile(kFile, "UcitajKuce", .bExtra = true, .extra = k);
if(KucaInfo[k][kProveraVlasnika] == 0)
{
format(string,sizeof(string),""HZELENA"Kuca na Prodaju!\nVrsta: "BELA"%s\n"HZELENA"Cena: "BELA"%d$\n"HZELENA"Level: "BELA"%d\n"HZELENA"Adresa: "BELA"%s\n"HZELENA"Za kupovinu kuce /kupikucu",KucaInfo[k][kVrsta],KucaInfo[k][kCena],KucaInfo[k][kLevel],UlicaKuce(k));
KucaLabel[k] = Create3DTextLabel(string ,0x33CCFFAA,KucaInfo[k][kUlazX],KucaInfo[k][kUlazY],KucaInfo[k][kUlazZ],30.0,0,1);
KucaPickup[k] = CreateDynamicPickup(1273, 1, KucaInfo[k][kUlazX], KucaInfo[k][kUlazY], KucaInfo[k][kUlazZ]);
}
else if(KucaInfo[k][kProveraVlasnika] == 1)
{
if(KucaInfo[k][kRent] == 0)
{
format(string,sizeof(string),""HZELENA"Vlasnik: "BELA"%s\n"HZELENA"Vrsta: "BELA"%s\n"HZELENA"Level: "BELA"%d\n"HZELENA"Cena: "BELA"%d$\n"HZELENA"Adresa: "BELA"%s",KucaInfo[k][kVlasnik],KucaInfo[k][kVrsta],KucaInfo[k][kLevel],KucaInfo[k][kCena],UlicaKuce(k));
}
else if(KucaInfo[k][kRent] == 1)
{
format(string,sizeof(string),""HZELENA"Vlasnik: "BELA"%s\n"HZELENA"Vrsta: "BELA"%s\n"HZELENA"Level: "BELA"%d\n"HZELENA"Cena: "BELA"%d$\n"HZELENA"Cena Renta: "BELA"%d$\n"HZELENA"Adresa: "BELA"%s\n"HZELENA"Za rent kuce /rentajkucu",KucaInfo[k][kVlasnik],KucaInfo[k][kVrsta],KucaInfo[k][kLevel],KucaInfo[k][kCena],UlicaKuce(k));
}
KucaLabel[k] = Create3DTextLabel(string ,0x33CCFFAA,KucaInfo[k][kUlazX],KucaInfo[k][kUlazY],KucaInfo[k][kUlazZ],30.0,0,1);
KucaPickup[k] = CreateDynamicPickup(1239, 1, KucaInfo[k][kUlazX], KucaInfo[k][kUlazY], KucaInfo[k][kUlazZ]);
}
}
}[/pawn]
Radi ti za ucitavanje kuca jer kreira Label(ovo kupikucu) a koristi iste koordinate tako da ucitavanje istih fukncionira, pobaj updateovati streamer plugin.
Eto ti stock za KuceLabel nzm u cemu mu je problem zasto se ne prikazuje pickup
[pawn]stock KuceLP(idkuce)
{
new string[500];
if(KucaInfo[idkuce][kProveraVlasnika] == 0)
{
Delete3DTextLabel(KucaLabel[idkuce]);
DestroyDynamicPickup(KucaPickup[idkuce]);
format(string,sizeof(string),""HZELENA"Kuca na Prodaju!\nVrsta: "BELA"%s\n"HZELENA"Cena: "BELA"%d$\n"HZELENA"Level: "BELA"%d\n"HZELENA"Adresa: "BELA"%s\n"HZELENA"Za kupovinu kuce /kupikucu",KucaInfo[idkuce][kVrsta],KucaInfo[idkuce][kCena],KucaInfo[idkuce][kLevel],UlicaKuce(idkuce));
KucaLabel[idkuce] = Create3DTextLabel(string ,0x33CCFFAA,KucaInfo[idkuce][kUlazX],KucaInfo[idkuce][kUlazY],KucaInfo[idkuce][kUlazZ],30.0,0,1);
KucaPickup[idkuce] = CreateDynamicPickup(1273, 1, KucaInfo[idkuce][kUlazX], KucaInfo[idkuce][kUlazY], KucaInfo[idkuce][kUlazZ]);
}
else if(KucaInfo[idkuce][kProveraVlasnika] == 1)
{
Delete3DTextLabel(KucaLabel[idkuce]);
DestroyDynamicPickup(KucaPickup[idkuce]);
if(KucaInfo[idkuce][kRent] == 0)
{
format(string,sizeof(string),""HZELENA"Vlasnik: "BELA"%s\n"HZELENA"Vrsta: "BELA"%s\n"HZELENA"Level: "BELA"%d\n"HZELENA"Cena: "BELA"%d$\n"HZELENA"Adresa: "BELA"%s",KucaInfo[idkuce][kVlasnik],KucaInfo[idkuce][kVrsta],KucaInfo[idkuce][kLevel],KucaInfo[idkuce][kCena],UlicaKuce(idkuce));
}
else if(KucaInfo[idkuce][kRent] == 1)
{
format(string,sizeof(string),""HZELENA"Vlasnik: "BELA"%s\n"HZELENA"Vrsta: "BELA"%s\n"HZELENA"Level: "BELA"%d\n"HZELENA"Cena: "BELA"%d$\n"HZELENA"Cena Renta: "BELA"%d$\n"HZELENA"Adresa: "BELA"%s\n"HZELENA"Za rent kuce /rentajkucu",KucaInfo[idkuce][kVlasnik],KucaInfo[idkuce][kVrsta],KucaInfo[idkuce][kLevel],KucaInfo[idkuce][kCena],KucaInfo[idkuce][kCenaRenta],UlicaKuce(idkuce));
}
KucaLabel[idkuce] = Create3DTextLabel(string ,0x33CCFFAA,KucaInfo[idkuce][kUlazX],KucaInfo[idkuce][kUlazY],KucaInfo[idkuce][kUlazZ],30.0,0,1);
KucaPickup[idkuce] = CreateDynamicPickup(1239, 1, KucaInfo[idkuce][kUlazX], KucaInfo[idkuce][kUlazY], KucaInfo[idkuce][kUlazZ]);
}
return 1;
}[/pawn]
https://prnt.sc/ukl46j
Update streamer plugina i recompile scriptu napisao sam ti vec evo meni radi....
Eto ti i link
https://github.com/samp-incognito/samp-streamer-plugin/releases/tag/v2.9.4
radi burazeru trebo sam da include streamer novi ubacim hvala svakako sad radi sve