Olyan gondom lenne hogy mint látható az első részben meg kell adni egy munka id-t. A második részben egy jármű id-t és utána létrehozza de az a baj hogy nem azzal a munkaid-vel teszi le a kocsit amit az első ablakba megadtam, viszont a kocsi modelt már jól teszi amit utoljára adtam meg.. :( Hogyan lehetne ez a script jó ?
A válaszokat előre is köszönöm!
else if(dialogid == DIALOG_ALAPKOCSILERAK)
{
new munka = strval(inputtext);
if(munka < 0 || munka > MAX_MUNKA) return Msg(playerid, \"Hibás munka ID!\");
ShowPlayerDialog(playerid, DIALOG_ALAPKOCSILERAK_MODEL, DIALOG_STYLE_INPUT, \"Alapkocsi Lerakás\", \"Kérem adja meg a jármű ID-jét:\", \"Tovább\", \"Mégse\");
}
else if(dialogid == DIALOG_ALAPKOCSILERAK_MODEL)
{
new model = NINCS;
new munka = strval(inputtext);
if(IsNumeric(inputtext))
{
model = strval(inputtext);
}
else
{
model = GetVehicleModelIDFromName(inputtext);
}
if(model < 400 || model > 611) return Msg(playerid, \"Ilyen járműtípus nem létezik\");
new Float:posx, Float:posy, Float:posz, Float:angle;
GetPlayerPos(playerid, posx, posy, posz);
GetPlayerFacingAngle(playerid, angle);
new vw=GetPlayerVirtualWorld(playerid);
new interior=GetPlayerInterior(playerid);
new id = NINCS;
for(new k = 0; k < MAX_MUNKAKOCSI; k++)
{
if(!MunkaKocsi[munka][k][kVan])
{
id = k;
break;
}
}
if(id == NINCS)
return Msg(playerid, \"Elérte a maxot!\");
MunkaKocsi[munka][id][kVan] = true;
MunkaKocsi[munka][id][kID] = UjKocsi(model, posx, posy, posz, angle,1,1, interior, vw, CAR_TYPE_MK, munka, id);
MunkaKocsi[munka][id][kModel] = model;
MunkaKocsi[munka][id][kInt] = interior;
MunkaKocsi[munka][id][kVW] = vw;
MunkaKocsi[munka][id][kPos][0] = posx;
MunkaKocsi[munka][id][kPos][1] = posy;
MunkaKocsi[munka][id][kPos][2] = posz;
MunkaKocsi[munka][id][kPos][3] = angle;
MunkaKocsi[munka][id][kSzin][0] = 1;
MunkaKocsi[munka][id][kSzin][1] = 1;
KmSzamol[MunkaKocsi[munka][id][kID]]=0;
CarPart[MunkaKocsi[munka][id][kID]][cKerekek] = 0.0;
CarPart[MunkaKocsi[munka][id][kID]][cMotorolaj] = 0.0;
MunkaKocsiMentes(munka, id);
Msg(playerid, \"Jármű lerakva\");
}
A munka változót minden dialognál létrehozod és változtatod is.Az elsőnél helyesen változtatod, de a DIALOG_ALAPKOCSILERAK_MODEL dialognál is változtatod inputtextre, és az inputtext jelen esetben a munkakocsi model idje.
Megoldás:
Modod elejére:
new munka;
a bemásolt kódod pedig:
else if(dialogid == DIALOG_ALAPKOCSILERAK)
{
munka = strval(inputtext);
if(munka < 0 || munka > MAX_MUNKA) return Msg(playerid, \"Hibás munka ID!\");
ShowPlayerDialog(playerid, DIALOG_ALAPKOCSILERAK_MODEL, DIALOG_STYLE_INPUT, \"Alapkocsi Lerakás\", \"Kérem adja meg a jármű ID-jét:\", \"Tovább\", \"Mégse\");
}
else if(dialogid == DIALOG_ALAPKOCSILERAK_MODEL)
{
new model = NINCS;
if(IsNumeric(inputtext))
{
model = strval(inputtext);
}
else
{
model = GetVehicleModelIDFromName(inputtext);
}
if(model < 400 || model > 611) return Msg(playerid, \"Ilyen járműtípus nem létezik\");
new Float:posx, Float:posy, Float:posz, Float:angle;
GetPlayerPos(playerid, posx, posy, posz);
GetPlayerFacingAngle(playerid, angle);
new vw=GetPlayerVirtualWorld(playerid);
new interior=GetPlayerInterior(playerid);
new id = NINCS;
for(new k = 0; k < MAX_MUNKAKOCSI; k++)
{
if(!MunkaKocsi[munka][k][kVan])
{
id = k;
break;
}
}
if(id == NINCS)
return Msg(playerid, \"Elérte a maxot!\");
MunkaKocsi[munka][id][kVan] = true;
MunkaKocsi[munka][id][kID] = UjKocsi(model, posx, posy, posz, angle,1,1, interior, vw, CAR_TYPE_MK, munka, id);
MunkaKocsi[munka][id][kModel] = model;
MunkaKocsi[munka][id][kInt] = interior;
MunkaKocsi[munka][id][kVW] = vw;
MunkaKocsi[munka][id][kPos][0] = posx;
MunkaKocsi[munka][id][kPos][1] = posy;
MunkaKocsi[munka][id][kPos][2] = posz;
MunkaKocsi[munka][id][kPos][3] = angle;
MunkaKocsi[munka][id][kSzin][0] = 1;
MunkaKocsi[munka][id][kSzin][1] = 1;
KmSzamol[MunkaKocsi[munka][id][kID]]=0;
CarPart[MunkaKocsi[munka][id][kID]][cKerekek] = 0.0;
CarPart[MunkaKocsi[munka][id][kID]][cMotorolaj] = 0.0;
MunkaKocsiMentes(munka, id);
Msg(playerid, \"Jármű lerakva\");
}