NightMane
Дебютант
Здравствуйте, хотел бы вас попросить о помощи...
Вот сам скрипт его принцип заключается в том что-бы игрок состоящий в Армии мог брать патроны с точки A и донести их до точки B что-бы пополнить склад армии...
Командами /ammo get[Взять со склада точки A] /ammo put положить их на склад...
Но вот не задача я плохо знаю pawno и сам баг в том что можно просто прописывать /ammo put даже не брав в руки патроны, и склад пополняется.
Так-же тут стоит ограничение в 50.000 пт. Но оно может выйти за рамки этих ограничений...
Возможно надо создать переменную при которой мы не сможем положить на склад патроны не взях их.
Сам код:
Заранее всем спасибо 
Если нужны скрины я могу их предоставить вам)
Вот сам скрипт его принцип заключается в том что-бы игрок состоящий в Армии мог брать патроны с точки A и донести их до точки B что-бы пополнить склад армии...
Командами /ammo get[Взять со склада точки A] /ammo put положить их на склад...
Но вот не задача я плохо знаю pawno и сам баг в том что можно просто прописывать /ammo put даже не брав в руки патроны, и склад пополняется.
Так-же тут стоит ограничение в 50.000 пт. Но оно может выйти за рамки этих ограничений...
Возможно надо создать переменную при которой мы не сможем положить на склад патроны не взях их.
Сам код:
PHP:
CMD:ammo(playerid,params[]) {
if(!IsAArmy(playerid)) return SendClientMessage(playerid,COLOR_GREY,T_CMD);
if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER) return SendClientMessage(playerid, COLOR_GREY, "Âû äîëæíû íàõîäèòñÿ âîçëå àâòî!");
if(sscanf(params,"s[4]",params[0])) {
SendClientMessage(playerid,COLOR_GREEN,"Ââåäèòå: /ammo [äåéñòâèå]");
SendClientMessage(playerid,COLOR_GREEN,"Äåéñòâèÿ: get âçÿòü, put - ïîëîæèòü");
return 1;
}
if(!strcmp("get",params[0],true)) {
if(IsPlayerInRangeOfPoint(playerid,10.0,-1384.3207,809.8448,1550.0859))
{
ArmyMats[1] -= 50;
strin = "";
format(strin, 124, "{72c100}<< Ïàòðîíîâ íà ñêëàäå >>\n{e2ba00}%d èç 50000 øò",ArmyMats[1]);
Update3DTextLabelText(WareHouse[5], COLOR_YELLOW, strin);
SetPVarInt(playerid,"PlayerMats",50);
SetPlayerAttachedObject(playerid, 1 , 2358, 1,0.11,0.36,0.0,0.0,90.0);
ApplyAnimation(playerid,"CARRY","crry_prtial",4.1,0,1,1,1,1);
}
else {
SendClientMessage(playerid,COLOR_GREY,"Âû íå íà ñêëàäå àðìèè ëèáî íà ñêëàäå íåò ïàòðîí!");
}
}
if(!strcmp("put",params[0],true)) {
if(IsPlayerInRangeOfPoint(playerid,8.0,-1384.3207,809.8448,1550.0859))//320.6225,1979.2566,17.6406
{
ArmyMats[0] += 50;
strin = "";
format(strin, 124, "{72c100}<< Ïàòðîíîâ íà ñêëàäå >>\n{e2ba00}%d èç 50000 øò",ArmyMats[0]);
Update3DTextLabelText(WareHouse[4], COLOR_YELLOW, strin);
strin = "";
format(strin, 124, "{72c100}<< Ïàòðîíîâ íà ñêëàäå >>\n{e2ba00}%d èç 50000 øò",ArmyMats[0]);
Update3DTextLabelText(WareHouse[6], COLOR_YELLOW, strin);
if(IsPlayerAttachedObjectSlotUsed(playerid, 1)) RemovePlayerAttachedObject(playerid, 1);
ApplyAnimation(playerid,"PED","IDLE_tired",4.1,0,1,1,0,1);
SetPVarInt(playerid,"PlayerMats",0);
}
else SendClientMessage(playerid,COLOR_GREY,"Âû íå íà ñêëàäå àðìèè!");
}
return 1;
}
Если нужны скрины я могу их предоставить вам)
Последнее редактирование модератором:
