Problem(error/warning): Znaci kao da ne ucitava dobro... Npr ja udjem u vozilo i treba da izadje ko je Vlasnik ono izadje samo prazno... vImaVlasnika uopste ne radi jer kad stavim proveru ako je == 1 ono detektuje iako je == 0 a sve je lepo u fajlu...
Dio skripte: [ pawn ]Evo ceo sistem:
[pawn]if(dialogid == DIALOG_KREIRAJ_PRIVATNO)
{
if(!response) return 1;
if(response)
{
new modelvozila, cena, boja1, boja2, Float:PozX, Float: PozY, Float:PozZ, Float:angle;
GetPlayerPos(playerid, PozX, PozY, PozZ);
GetPlayerFacingAngle(playerid, angle);
if(sscanf(inputtext, "iiii", modelvozila, cena, boja1, boja2)) return SPD(playerid, DIALOG_KREIRAJ_PRIVATNO, DSI, ""BELA"Kreiranje priv. vozila - "SERVER"Balkan Direct RP", ""BELA"Unesite model, cenu, boju 1 i boju 2.", "Potvrdi", "Otkazi");
if(modelvozila < 400 || modelvozila > 611) return Error(playerid, "Model vozila mora biti broj izmedju 400 i 611!");
if(cena < 1) return Error(playerid, "Vozilo mora da ima cenu!");
if(boja1 < 0 || boja1 > 255) return Error(playerid, "Boja 1 mora biti izmedju 0 i 255!");
if(boja2 < 0 || boja2 > 255) return Error(playerid, "Boja 2 mora biti izmedju 0 i 255!");
for(new i=1; i<MAX_VOZILA; i++)
{
new vfile[40];
format(vfile, sizeof(vfile), V_FILE, i);
if(!fexist(vfile))
{
strmid(Vozilo[vVlasnik], "Nema", 0, strlen("Nema"), 32);
Vozilo[vCena] = cena;
Vozilo[vImaVlasnika] = 0;
Vozilo[vID] = i;
Vozilo[vModel] = modelvozila;
Vozilo[vPozX] = PozX;
Vozilo[vPozY] = PozY;
Vozilo[vPozZ] = PozZ;
Vozilo[vPozA] = angle;
Vozilo[vTip] = V_TIP_PRIVATNO;
Vozilo[vPosaoID] = -1;
Vozilo[vOrgID] = -1;
Vozilo[vZakljucano] = 0;
Vozilo[vBoja1] = boja1;
Vozilo[vBoja2] = boja2;
Vozilo[vNeon] = -1;
Vozilo[vID] = CreateVehicle(Vozilo[vModel], Vozilo[vPozX], Vozilo[vPozY], Vozilo[vPozZ], Vozilo[vPozA], Vozilo[vBoja1], Vozilo[vBoja2], 500000);
SaveVehicle(i); UpdateVehicleLabel(i);
Prefix(playerid, "Uspesno ste kreirali privatno vozilo!");
Prefix(playerid, "Model: %d (%s) | Cena: %d | Boja 1: %d | Boja 2: %d", modelvozila, ImenaVozila[GetVehicleModel(Vozilo[vID]) - 400],cena, boja1, boja2);
break;
}
}
}
/////////////////////////////////////////
stock UpdateVehicleLabel(i)
{
Delete3DTextLabel(VoziloLabel);
if(Vozilo[PrivatnoVozilo(i)][vTip] == V_TIP_PRIVATNO)
{
if(Vozilo[PrivatnoVozilo(i)][vImaVlasnika] == 1)
{
VoziloLabel[PrivatnoVozilo(i)] = Create3DTextLabel(""SERVER"| "BELA"Privatno Vozilo "SERVER"|", 0xFFFFFFFF, 0.0, 0.0, 0.0, 30.0, GetVehicleVirtualWorld(i), 0);
Attach3DTextLabelToVehicle(VoziloLabel[PrivatnoVozilo(i)], Vozilo[PrivatnoVozilo(i)][vID], 0.0, 0.0, 0.0);
}
else
{
VoziloLabel[PrivatnoVozilo(i)] = Create3DTextLabel(""SERVER"| "BELA"Pijaca Vozilo "SERVER"|", 0xFFFFFFFF, 0.0, 0.0, 0.0, 30.0, GetVehicleVirtualWorld(i), 0);
Attach3DTextLabelToVehicle(VoziloLabel[PrivatnoVozilo(i)], Vozilo[PrivatnoVozilo(i)][vID], 0.0, 0.0, 0.0);
}
}
return 1;
}
//
stock UcitajVozila()
{
for(new i=0; i < MAX_VOZILA; i++)
{
Vozilo[vID] = -1;
new vFile[50];
format(vFile, sizeof(vFile), V_FILE, i);
if(fexist(vFile))
{
INI_ParseFile( vFile, "LoadVehicle", .bExtra = true, .extra = i );
if(Vozilo[vModel] != 0)
{
Vozilo[vID] = CreateVehicle(Vozilo[vModel], Vozilo[vPozX], Vozilo[vPozY], Vozilo[vPozZ], Vozilo[vPozA], Vozilo[vBoja1], Vozilo[vBoja2], 500000);
SetVehicleParamsEx(Vozilo[vID], 0, 0, 0, Vozilo[vZakljucano], 0, 0, 0);
if(VoziloJeBicikla(Vozilo[vID]))
{
SetVehicleParamsEx(Vozilo[vID], 1, 0, 0, Vozilo[vZakljucano], 0, 0, 0);
}
}
new br = Vozilo[vID], tablice[24];
if(Vozilo[vRegistrovano] == 1)
{
if(10 > br)
{
format(tablice, sizeof(tablice), "BG 000%d.", br);
SetVehicleNumberPlate(br, tablice);
}
else if(10 <= br && br < 100)
{
format(tablice, sizeof(tablice), "BG 00%d.", br);
SetVehicleNumberPlate(br, tablice);
}
else if(100 <= br && br < 1000)
{
format(tablice, sizeof(tablice), "BG 0%d.", br);
SetVehicleNumberPlate(br, tablice);
}
else if(1000 <= br && br < 2001)
{
format(tablice, sizeof(tablice), "BG %d.", br);
SetVehicleNumberPlate(br, tablice);
}
}
else
{
SetVehicleNumberPlate(br, "UNKNOWN");
}
UpdateVehicleLabel(i);
}
}
return 1;
}
/////////////////////////////////////////////
#define V_FILE "Vozila/%i.ini"
#define V_TIP_PRIVATNO 1
enum veh
{
vVlasnik[69],
vCena,
vImaVlasnika,
vID,
vModel,
Float:vPozX,
Float:vPozY,
Float:vPozZ,
Float:vPozA,
vTip,
vPosaoID,
vOrgID,
vZakljucano,
vBoja1,
vBoja2,
vNeon,
vRegistrovano,
vPreostaloReg
}
new Vozilo[MAX_VOZILA][veh];
new Text3D:VoziloLabel[MAX_VOZILA];
//////////////////////////////////////////////
forward LoadVehicle(id,name[],value[]);
public LoadVehicle(id,name[],value[])
{
INI_String("Vlasnik", Vozilo[id][vVlasnik]);
INI_Int("Cena", Vozilo[id][vCena]);
INI_Int("ImaVlasnika", Vozilo[id][vImaVlasnika]);
INI_Int("ID", Vozilo[id][vID]);
INI_Int("Model", Vozilo[id][vModel]);
INI_Float("PozX", Vozilo[id][vPozX]);
INI_Float("PozY", Vozilo[id][vPozY]);
INI_Float("PozZ", Vozilo[id][vPozZ]);
INI_Float("PozA", Vozilo[id][vPozA]);
INI_Int("Tip", Vozilo[id][vTip]);
INI_Int("PosaoID", Vozilo[id][vPosaoID]);
INI_Int("OrgID", Vozilo[id][vOrgID]);
INI_Int("Zakljucano", Vozilo[id][vZakljucano]);
INI_Int("Boja1", Vozilo[id][vBoja1]);
INI_Int("Boja2", Vozilo[id][vBoja2]);
INI_Int("Neon", Vozilo[id][vNeon]);
return 1;
}
///////////////
stock SaveVehicle(id)
{
new file4[40]; //Ovu proveru sam kopirao iz ath da ne vidim da nije nesto oko cuvanja, ali nije...
format(file4, sizeof(file4), V_FILE, id);
new INI:File = INI_Open(file4);
INI_SetTag(File, "data");
INI_WriteString(File, "Vlasnik", Vozilo[id][vVlasnik]);
INI_WriteInt(File, "Cena", Vozilo[id][vCena]);
INI_WriteInt(File, "ImaVlasnika", Vozilo[id][vImaVlasnika]);
INI_WriteInt(File, "ID", Vozilo[id][vID]);
INI_WriteInt(File, "Model", Vozilo[id][vModel]);
INI_WriteFloat(File, "PozX", Vozilo[id][vPozX]);
INI_WriteFloat(File, "PozY", Vozilo[id][vPozY]);
INI_WriteFloat(File, "PozZ", Vozilo[id][vPozZ]);
INI_WriteFloat(File, "PozA", Vozilo[id][vPozA]);
INI_WriteInt(File, "Tip", Vozilo[id][vTip]);
INI_WriteInt(File, "PosaoID", Vozilo[id][vPosaoID]);
INI_WriteInt(File, "OrgID", Vozilo[id][vOrgID]);
INI_WriteInt(File, "Zakljucano", Vozilo[id][vZakljucano]);
INI_WriteInt(File, "Boja1", Vozilo[id][vBoja1]);
INI_WriteInt(File, "Boja2", Vozilo[id][vBoja2]);
INI_WriteInt(File, "Neon", Vozilo[id][vNeon]);
INI_Close(File);
return 1;
}
[/pawn][ /pawn ]
Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log): [ code ]vaš odgovor[ /code ]
Slika/video ingame problema(obavezno ako je ingame problem): link slike
EDIT: Ovo za labele je radilo pola sad uopce ne radi, pokusavao sam da fixam pa jos vise sjeb'o... Nzm ako neko nadje sta je problem :)
EDIT: inace kreira vozilo kako treba
EDIT: Inace, ako maknem proveru PrivatnoVozilo(vehid) tek tad nece radit :/
Pa daj nam to kad udjes u vozilo.Najbolje je da napraviš debug poruke.
Mislio sam da sam vec stavio to...
[pawn]if(newstate == PLAYER_STATE_DRIVER)
{
new vehid = GetPlayerVehicleID(playerid);
if(PrivatnoVozilo(vehid))
{
new VehID = PrivatnoVozilo(vehid);
if(Vozilo[VehID][vImaVlasnika] == 0)
{
TogglePlayerControllable(playerid, false);
SetCameraBehindPlayer(playerid);
Prefix(playerid, "Pijaca | Model: %s | Cena: %d$", ImenaVozila[GetVehicleModel(GetPlayerVehicleID(playerid)) - 400], Vozilo[VehID][vCena]);
Pomoc(playerid, "Ukoliko ne zelite da kupite vozilo, /izlaz!");
}
else if(Vozilo[VehID][vImaVlasnika] == 1)
{
Prefix(playerid, "Privatno Vozilo | Vlasnik: %s.", Vozilo[vehid][vVlasnik]);
}
}[/pawn]
[pawn]stock PrivatnoVozilo(vehid)
{
for(new i = 0; i < sizeof(Vozilo); i++)
{
if(vehid == Vozilo[vID])
return 1;
}
return 0;
}[/pawn]
EDIT: Ova poruka za cenu i to mi izbaci lepo (dok nisam nesto cackao), sad mi za svako vozilo izbacuje kao da ima vlasnika... A za ovo sto ima vlasnika ne pise vlasnik: Nobody_Amx. nego Vlasnik: .
[pawn]stock PrivatnoVozilo(vehid)
{
for(new i = 0; i < sizeof(Vozilo); i++)
{
if(vehid == Vozilo[vID])
return i;
}
return 0;
}
[/pawn]
Citat: Paul Castellano poslato Jul 08, 2018, 22:11:28 POSLE PODNE
[pawn]stock PrivatnoVozilo(vehid)
{
for(new i = 0; i < sizeof(Vozilo); i++)
{
if(vehid == Vozilo[vID])
return vehid;
}
return 0;
}
[/pawn]
Vidis... tacno sitnice ne gledam... Odma sam skuzio cim sam drugi put pogledao... Tacno bi pravio sve ispocetka radi toga,,, hvala puno brt <3
Citat: 6YuKiMuRo9 poslato Jul 08, 2018, 22:12:45 POSLE PODNE
Vidis... tacno sitnice ne gledam... Odma sam skuzio cim sam drugi put pogledao... Tacno bi pravio sve ispocetka radi toga,,, hvala puno brt <3
Ispravio sam sada,ide i;
Jer vehid bi samo vratilo istu vrijednost koju gore svakako dobivaš.
Citat: Paul Castellano poslato Jul 08, 2018, 22:13:53 POSLE PODNE
Ispravio sam sada,ide i;
Jer vehid bi samo vratilo istu vrijednost koju gore svakako dobivaš.
Sam sam ispravio to, hvala svakako <3
Msm... Imam sertifikat iz C jezika nego vidis no lajfam skriptanje par dana dosta stvari sam uradio jos upis u srednju...slabo spavam i uopce nemam volje da idem sve red po red da gledam