baterson55
Новичок
Код:
}
//==============================================================================
if(strcmp(cmd, "/изменить", true) == 0 || strcmp(cmd, "/change", true) == 0)
{
if(PlayerInfo[playerid][pAdmin] < 3)
{
SendClientMessage(playerid, COLOR_GRAD1, "У вас нет прав использовать эту команду!");
return 1;
}
if(PlayerInfo[playerid][pLeader] < 1)
{
SendClientMessage(playerid, COLOR_GRAD1, "Сначала сделай себя лидером фракции которую будешь редактировать!");
SendClientMessage(playerid, COLOR_GRAD1, "Подсказка: /makeleader - назначить лидера!");
return 1;
}
new nazvanie[32];
format(nazvanie, sizeof(nazvanie), FractionInfo[PlayerInfo[playerid][pLeader]][fName]);
new x_nr[32];
x_nr = strtok(cmdtext, idx);
if(!strlen(x_nr))
{
SendClientMessage(playerid, COLOR_GRAD2, "Используйте: /изменить [название] [значение]");
SendClientMessage(playerid, COLOR_GRAD2, "Доступные названия: ранг, скин, название, цвет, спавн");
return 1;
}
if(strcmp(x_nr,"скин",true) == 0)
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, " Используйте: /изменить скин [номер ранга] [id скина] (установить скин по рангу)");
return 1;
}
new rang = strval(tmp);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, " Используйте: /изменить скин [номер ранга] [id скина] (установить скин по рангу)");
return 1;
}
new skin = strval(tmp);
if(skin > 299 || skin < 1) { SendClientMessage(playerid, COLOR_GREY, "Нет такого ID скина"); return 1; }
if(rang > 20 || rang < 1) { SendClientMessage(playerid, COLOR_GREY, "Нет такого ранга!"); return 1; }
ranksSkin[PlayerInfo[playerid][pLeader]][rang] = skin;
format(string,sizeof(string)," Скин %d для ранга %d фракции %s успешно установлен",skin,rang,nazvanie);
SendClientMessage(playerid,COLOR_LIGHTBLUE,string);
SaveFraction();
return 1;
}
if(strcmp(x_nr,"ранг",true) == 0)
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, " Используйте: /изменить ранг [номер ранга] [звание] (установить звание для ранга)");
return 1;
}
new rang = strval(tmp);
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[32];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
{
SendClientMessage(playerid, COLOR_GRAD2, "Используйте: /изменить ранг [номер ранга] [звание] (установить звание для ранга)");
return 1;
}
if(rang > 25 || rang < 1) { SendClientMessage(playerid, COLOR_GREY, "Нет такого ранга!"); return 1; }
if(strlen(result)>25) { SendClientMessage(playerid, COLOR_GREY, "Слишком длинное звание!"); return 1; }
ranksName[PlayerInfo[playerid][pLeader]][rang] = result;
format(string,sizeof(string)," Звание %s для ранга %d фракции %s успешно установлено",result,rang,nazvanie);
SendClientMessage(playerid,COLOR_LIGHTBLUE,string);
SaveFraction();
return 1;
}
if(strcmp(x_nr,"название",true) == 0)
{
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[32];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
{
SendClientMessage(playerid, COLOR_GRAD2, " Используйте: /изменить название [название фракции]");
return 1;
}
if(strlen(result)>25) { SendClientMessage(playerid, COLOR_GREY, "Слишком длинное звание!"); return 1; }
FractionInfo[PlayerInfo[playerid][pLeader]][fName] = result;
format(string,sizeof(string)," Название фракции %s изменено на %s",nazvanie,result);
SendClientMessage(playerid,COLOR_LIGHTBLUE,string);
SaveFraction();
return 1;
}
if(strcmp(x_nr,"спавн",true) == 0)
{
new Float:x, Float:y, Float:z, Float:a;
GetPlayerPos(playerid, x, y, z);
GetPlayerFacingAngle(playerid,a);
FractionInfo[PlayerInfo[playerid][pLeader]][fPoz_x] = x;
FractionInfo[PlayerInfo[playerid][pLeader]][fPoz_y] = y;
FractionInfo[PlayerInfo[playerid][pLeader]][fPoz_z] = z;
FractionInfo[PlayerInfo[playerid][pLeader]][fFace] = a;
FractionInfo[PlayerInfo[playerid][pLeader]][fInt] = GetPlayerInterior(playerid);
FractionInfo[PlayerInfo[playerid][pLeader]][fVirtual] = GetPlayerVirtualWorld(playerid);
format(string,sizeof(string)," Место спавна фракции %s изменено на (%f,%f,%f) ",nazvanie,FractionInfo[PlayerInfo[playerid][pLeader]][fPoz_x],FractionInfo[PlayerInfo[playerid][pLeader]][fPoz_y],FractionInfo[PlayerInfo[playerid][pLeader]][fPoz_z]);
SendClientMessage(playerid,COLOR_LIGHTBLUE,string);
SaveFraction();
return 1;
}
if(strcmp(x_nr,"цвет",true) == 0)
{
new rabotadialog[3000];
format(rabotadialog,sizeof(rabotadialog), "{00ff00}%s{bfff00}%s{66ff00}%s{30d5c8}%s{adff2f}%s{013220}%s{5da130}%s{ff0000}%s{ff2400}%s{ffa500}%s{964b00}%s{c41e3a}%s{bb4488}%s{ff9900}%s{dc143c}%s{ffc0cb}%s{0000ff}%s{42aaff}%s{1e90ff}%s{008080}%s{4169E1}%s{8b00ff}%s{cd00cd}%s{a2a0f6}%s{ffff00}%s{fbec5d}%s{ffd700}%s{cfb53b}%s{808000}%s{bbbbbb}%s{c0c0c0}%s{000000}%s{ffffff}%s",
clist[1],
clist[2],clist[3],
clist[4],clist[5],
clist[6],clist[7],
clist[8],clist[9],
clist[10],clist[11],
clist[12],clist[13],
clist[14],clist[15],
clist[16],clist[17],
clist[18],clist[19],
clist[20],clist[21],
clist[22],clist[23],
clist[24],clist[25],
clist[26],clist[27],
clist[28],clist[29],
clist[30],clist[31],
clist[32],clist[33],
clist[34]);
format(string,sizeof(string),"Выбери цвет для фракции %s",nazvanie);
ShowPlayerDialog(playerid,56,DIALOG_STYLE_LIST,string,rabotadialog,"Выбрать","Отмена");
return 1;
}
}
