chogovadze
Компетентный
Приветствую. Создал команду для теста, ради того чтобы лучше научится делать код. Посмотрите и оцените код гнилой код? (Ясное дело что да
) и дайте совет что как лучше всего сделать. Если не трудно помогите.
Сам код:
В первые создал такую большую команду и систему (P.s Для меня большая а для кого маленькая
)
Сам код:
PHP:
new fireon = 1;
new firekill = 0;
new objname;
new fireobj;
new buyfire = 0;
new Float:fx, Float:fy, Float:fz;
new gotovomeat, meatobject;
new buymeat = 0;
new firemeat = 0;
new eatmeat = 0;
PHP:
forward timefire(playerid);
forward timemeat();
PHP:
if(strcmp(cmd, "/buymeat", true) == 0)
{
if(buymeat != 0) return SendClientMessage(playerid,COLOR_GRAD1,"У вас уже имеется мясо");
if(pInfo[playerid][pCash] < 100) return SendClientMessage(playerid,COLOR_GRAD1,"У вас нету столько денег");
pInfo[pCash] -=100;
buymeat = 1;
SendClientMessage(playerid,COLOR_WHITE,"Вы купили мясо");
return true;
}
if(strcmp(cmd, "/putmeat", true) == 0)
{
if(buymeat != 1) return SendClientMessage(playerid,COLOR_GRAD1,"У вас нету мясо");
if(!PlayerToPoint(4.0,giveplayerid,fx,fy+1.5,fz)) return SendClientMessage(playerid, COLOR_GRAD1, "Вы далеко от костры");
if(firekill != 0) return SendClientMessage(playerid,COLOR_GRAD1,"cecxli ar antia");
meatobject = CreateDynamicObject(19582, fx,fy,fz-0.7, 0.0000, 0.0000, 100.000);
buymeat = 0;
firemeat = 1;
SetTimer("timemeat", 10000,0);
return true;
}
if(strcmp(cmd, "/takemeat", true) == 0)
{
if(firemeat != 1) return SendClientMessage(playerid,COLOR_GRAD1,"На костре нету мясо");
if(!PlayerToPoint(4.0,giveplayerid,fx,fy+1.5,fz)) return SendClientMessage(playerid, COLOR_GRAD1, "Вы далеко от огня и мясо в огне");
firemeat = 0;
eatmeat = 1;
DestroyDynamicObject(gotovomeat);
SetPlayerAttachedObject(playerid, 0, 19882, 6, 0.093999, 0.025000, 0.076999, -97.499992, 0.000000, 155.199920);
return true;
}
if(strcmp(cmd, "/eatmeat", true) == 0)
{
if(eatmeat != 1) return SendClientMessage(playerid,COLOR_GRAD1,"У вас нету мясо");
eatmeat = 0;
ApplyAnimation(playerid, "FOOD", "EAT_Burger",4.1,0,1,1,0,0);
SetPlayerHealthAC(playerid, 100.0);
SendClientMessage(playerid,COLOR_WHITE,"Вы покушали мясо");
RemovePlayerAttachedObject(playerid, 0);
return true;
}
if(strcmp(cmd, "/buyfire", true) == 0)
{
if(buyfire != 0) return SendClientMessage(playerid,COLOR_GRAD1,"У вас уже есть дрова");
if(pInfo[playerid][pCash] < 100) return SendClientMessage(playerid,COLOR_GRAD1,"У вас нет денег");
pInfo[pCash] -=100;
buyfire = 1;
SendClientMessage(playerid,COLOR_WHITE,"Вы купили дрова");
return true;
}
if(strcmp(cmd, "/fire", true) == 0)
{
if(buyfire != 1) return SendClientMessage(playerid,COLOR_GRAD1,"У вас нет дрова");
if(fireon == 1)
{
GetPlayerPos(playerid, fx,fy,fz);
objname = CreateDynamicObject(1463, fx,fy,fz-0.7, 0.0000, 0.0000, 100.000);
fireon = 0;
}
else if(fireon == 0)
{
if(!PlayerToPoint(4.0,giveplayerid,fx,fy+1.5,fz)) return SendClientMessage(playerid, COLOR_GRAD1, "Вы далеко от дров");
fireobj = CreateDynamicObject(18692, fx,fy,fz-2.0, 0.0000, 0.0000, 100.000);
SendClientMessage(playerid,COLOR_WHITE,"Вы развели огонь");
fireon = 2;
buyfire = 0;
SetTimer("timefire", 20000, 0);
}
else if(fireon == 2)
{
SendClientMessage(playerid,COLOR_WHITE,"Огонь уже горит");
}
return true;
}
if(strcmp(cmd, "/dfire", true) == 0)
{
if(fireon == 1) return SendClientMessage(playerid,COLOR_GRAD1,"Огонь не горит");
{
DestroyDynamicObject(fireobj);
DestroyDynamicObject(objname);
fireon = 1;
firekill = 1;
KillTimer(daiwveba(playerid));
}
return true;
}
PHP:
public timefire(playerid)
{
if(firekill != 0)
{
firekill = 0;
SendClientMessage(playerid,COLOR_GRAD1,"Огонь не горит");
}
else if(firekill == 0)
{
SendClientMessage(playerid,0xEBEB3BAA,"Огонь потух");
DestroyDynamicObject(fireobj);
DestroyDynamicObject(objname);
fireon = 1;
firekill = 0;
}
return true;
}
public timemeat()
{
DestroyDynamicObject(meatobject);
gotovomeat = CreateDynamicObject(19882, fx,fy,fz-0.7, 0.0000, 0.0000, 100.000);
return true;
}
