▲Denny▲
Умник
Ошибки:
1.После pinfo[playerid][avtocheckpointid][3] идёт pinfo[playerid][avtocheckpointid][2].
2.Не появляется объект колеса.
3.Можно ли это как-то оптимизировать?
Все new:
new avtozavod - пикап устройства на работу.
В public OnPlayerPickUpDynamicPickup(playerid, pickupid):
в Диалогах:
Паблики:
в OnPlayerEnterDynamicCP:
1.После pinfo[playerid][avtocheckpointid][3] идёт pinfo[playerid][avtocheckpointid][2].
2.Не появляется объект колеса.
3.Можно ли это как-то оптимизировать?
Все new:
PHP:
enum AvtoChecks
{
Float:xCoord,
Float:yCoord,
Float:zCoord,
type,
id[4],
}
new AvtoCheckpoint[13][AvtoChecks] =
{
{824.8062, -582.2228, 1377.50, 0},
{848.4474, -546.0866, 1377.50, 1},
{841.8116, -546.0869, 1377.50, 1},
{848.4520, -551.1677, 1377.50, 1},
{841.8927, -551.0367, 1377.50, 1},
{836.6008, -542.0421, 1377.50, 2},
{840.1486, -542.0433, 1377.50, 2},
{843.8096, -542.0419, 1377.50, 2},
{850.7552, -542.0417, 1377.50, 2},
{825.4662, -570.8472, 1377.50, 3},
{825.4662, -575.0864, 1377.50, 3},
{829.5508, -574.8870, 1377.50, 3},
{829.5508, -570.9003, 1377.50, 3}
};
new avtozavod, avtoanim[MAX_PLAYERS], truefalse[MAX_PLAYERS];
В public OnPlayerPickUpDynamicPickup(playerid, pickupid):
PHP:
if(pickupid == avtozavod && GetPVarInt(playerid, "UpdatePickup") < gettime())
{
SetPVarInt(playerid, "UpdatePickup", gettime() + 4);
return ShowPlayerDialog(playerid, dAvtozav, DIALOG_STYLE_LIST, "Трудоустройство", "Устроиться на работу\nЗакончить смену", "Принять", "Отмена");
}
PHP:
case dAvtozav:
{
if(!response) return 1;
switch(listitem)
{
case 0:
{
if(pinfo[playerid][avtojob] == 1) return SendClientMessage(playerid, -1, MESWARNING"Вы уже работаете на автозаводе!");
pinfo[playerid][avtojob] = 1;
switch(pinfo[playerid][sex])
{
case 1: SetPlayerSkin(playerid, 27);
case 2: SetPlayerSkin(playerid, 157);
}
pinfo[playerid][avtocheckpointid][0] = CreateDynamicCP(AvtoCheckpoint[0][xCoord], AvtoCheckpoint[0][yCoord], AvtoCheckpoint[0][zCoord], 1.0, -1, -1, playerid);
return SendClientMessage(playerid, -1, MESWARNING"Вы начали работу на автозаводе!");
}
case 1:
{
if(pinfo[playerid][avtojob] == 0) return SendClientMessage(playerid, -1, MESERROR"Вы не работаете на автозаводе!");
new string[144];
format(string, sizeof(string), MESWARNING"Вы успешно окончили рабочий день. Вы получили %i$!", pinfo[playerid][zarplata]);
pinfo[playerid][avtojob] = 0;
SetPlayerSkin(playerid, pinfo[playerid][cloth]);
pinfo[playerid][money] += pinfo[playerid][zarplata], pinfo[playerid][zarplata] = 0, GivePlayerMoney(playerid, pinfo[playerid][money]);
DestroyDynamicCP(pinfo[playerid][avtocheckpointid][0]);
DestroyDynamicCP(pinfo[playerid][avtocheckpointid][1]);
DestroyDynamicCP(pinfo[playerid][avtocheckpointid][2]);
DestroyDynamicCP(pinfo[playerid][avtocheckpointid][3]);
return SendClientMessage(playerid, -1, string);
}
}
}
PHP:
forward Animka(playerid);
public Animka(playerid)
{
ClearAnimations(playerid, 1);
ApplyAnimation(playerid, "CARRY", "crry_prtial", 4.1, 1, 0, 0, 1, 1, 1);
return SetPlayerAttachedObject(playerid, 1, 1098, 6, 0.0, 0.5, 0.4, 0.5, 0.0, 0.0, 0.0, 0.0, 0.0);
}
forward Avtozavod1(playerid);
public Avtozavod1(playerid)
{
new string[80];
ClearAnimations(playerid);
pinfo[playerid][zarplata] += binfo[GetPVarInt(playerid, "bid")][price1][0];
format(string, sizeof(string), MESWARNING"Вы заработали %i$!", pinfo[playerid][zarplata]);
pinfo[playerid][avtocheckpointid][0] = CreateDynamicCP(AvtoCheckpoint[0][xCoord], AvtoCheckpoint[0][yCoord], AvtoCheckpoint[0][zCoord], 1.0, -1, -1, playerid);
return SendClientMessage(playerid, -1, string);
}
forward Avtozavod(playerid);
public Avtozavod(playerid)
{
new pickup_id;
randcp: pickup_id = random(sizeof AvtoCheckpoint);
if(truefalse[playerid] == 1)
{
if(AvtoCheckpoint[pickup_id][type] != 3) goto randcp;
pinfo[playerid][avtocheckpointid][3] = CreateDynamicCP(AvtoCheckpoint[pickup_id][xCoord], AvtoCheckpoint[pickup_id][yCoord], AvtoCheckpoint[pickup_id][zCoord], 1.0, -1, -1, playerid);
truefalse[playerid] = 0;
}
else
{
if(AvtoCheckpoint[pickup_id][type] != 2) goto randcp;
pinfo[playerid][avtocheckpointid][2] = CreateDynamicCP(AvtoCheckpoint[pickup_id][xCoord], AvtoCheckpoint[pickup_id][yCoord], AvtoCheckpoint[pickup_id][zCoord], 1.0, -1, -1, playerid);
truefalse[playerid] = 1;
}
ClearAnimations(playerid);
ApplyAnimation(playerid, "MISC", "pickup_box",2.5, 0, 1, 1, 0, 1);
SetPlayerAttachedObject(playerid, 1, 1098, 6, 0.0, 0.5, 0.4, 0.5, 0.0, 0.0, 0.0, 0.0, 0.0);
ClearAnimations(playerid, 0);
return ApplyAnimation(playerid, "CARRY", "crry_prtial", 4.1, 1, 0, 0, 1, 1, 1);
}
PHP:
new pickup_id;
if(checkpointid == pinfo[playerid][avtocheckpointid][0])
{
DestroyDynamicCP(pinfo[playerid][avtocheckpointid][0]);
ApplyAnimation(playerid, "MISC", "pickup_box",4.1, false, true, true, false, 0, 1);
SetTimerEx("Animka", 950, false, "i", playerid);
pinfo[playerid][avtocheckpointid][0] = -1;
randcp: pickup_id = random(sizeof AvtoCheckpoint);
if(AvtoCheckpoint[pickup_id][type] != 1) goto randcp;
pinfo[playerid][avtocheckpointid][1] = CreateDynamicCP(AvtoCheckpoint[pickup_id][xCoord], AvtoCheckpoint[pickup_id][yCoord], AvtoCheckpoint[pickup_id][zCoord], 1.0, -1, -1, playerid);
return 1;
}
else if(checkpointid == pinfo[playerid][avtocheckpointid][1])
{
ClearAnimations(playerid);
DestroyDynamicCP(pinfo[playerid][avtocheckpointid][1]);
pinfo[playerid][avtocheckpointid][1] = -1;
RemovePlayerAttachedObject(playerid, 1);
ApplyAnimation(playerid, "VENDING", "VEND_USE", 4.1, 1, 0, 0, 0, 0, 0);
avtoanim[playerid] = SetTimerEx("Avtozavod", 10000, false, "i", playerid);
return 1;
}
else if(checkpointid == pinfo[playerid][avtocheckpointid][2])
{
ClearAnimations(playerid);
DestroyDynamicCP(pinfo[playerid][avtocheckpointid][2]);
RemovePlayerAttachedObject(playerid, 1);
ApplyAnimation(playerid, "WEAPONS", "SHP_2H_RET_S", 4.1, 1, 0, 0, 0, 0, 0);
avtoanim[playerid] = SetTimerEx("Avtozavod", 10000, false, "i", playerid);
return 1;
}
else if(checkpointid == pinfo[playerid][avtocheckpointid][3])
{
ClearAnimations(playerid);
DestroyDynamicCP(pinfo[playerid][avtocheckpointid][3]);
RemovePlayerAttachedObject(playerid, 1);
ApplyAnimation(playerid, "VENDING", "VEND_USE", 2.5, 1, 0, 0, 0, 0, 0);
avtoanim[playerid] = SetTimerEx("Avtozavod1", 10000, false, "i", playerid);
return 1;
}
