ко всем new
new PlayerDelo[MAX_PLAYERS]; new PlayerDeloStr[MAX_PLAYERS];
в public OnPlayerConnect вставляем это
PlayerDelo[playerid]=999; PlayerDeloStr[playerid]=0;
в public onplayercommandtext
if (strcmp(cmd, "/delo", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(PlayerInfo[playerid][pMember]==1||PlayerInfo[playerid][pLeader]==1)
{
if (!PlayerToPoint(3.0, playerid, 234.6752,77.2745,1005.0391))
//if (PlayerToPoint(3, playerid,255.3,77.4,1003.6) || PlayerToPoint(3,playerid,-1616.1294,681.1594,7.1875) || PlayerInfo[playerid][pLocal] != 255 || PlayerToPoint(3,playerid, 2745.4392,-2453.8701,13.8623))
{
SendClientMessage(playerid, COLOR_GRAD2, " Вы не в департаменте полиции!");
return 1;
}
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)){ SendClientMessage(playerid, COLOR_GRAD1, "USAGE: /delo [playerid] [действие]"); return 1; }
new pl = strval(tmp);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)){
SendClientMessage(playerid, COLOR_GRAD1, "USAGE: /delo [playerid] [действие]");
SendClientMessage(playerid, COLOR_GRAD1, "* Действия: открыть / записать / удалить");
return 1;
}
new nam[32];
GetPlayerName(pl, nam, 32);
format(string, 256, "%s.delo", nam);
if(strcmp(tmp, "открыть", true)==0) {
new str[5][128];
new strii[666];
if(fexist(string)) {
new File:f = fopen(string, io_read);
if(f) { fread(f, strii); }
fclose(f);
new ln = strlen(strii);
if(ln<=125) { strmid(str[0], strii, 0, ln); }
if(ln<=250) { strmid(str[0], strii, 0, 125); strmid(str[1], strii, 125, ln); }
if(ln<=375) { strmid(str[0], strii, 0, 125); strmid(str[2], strii, 125, 250); strmid(str[3], strii, 250, ln); }
if(ln<=500) { strmid(str[0], strii, 0, 125); strmid(str[3], strii, 125, 250); strmid(str[3], strii, 250, 375); strmid(str[4], strii, 375, ln); }
if(ln<=615) { strmid(str[0], strii, 0, 125); strmid(str[4], strii, 125, 250); strmid(str[3], strii, 250, 375); strmid(str[4], strii, 375, 500); strmid(str[4], strii, 500, ln); }
format(string, 256, "________ Дело %s ________", nam);
SendClientMessage(playerid, COLOR_WHITE, string);
format(string, 256, "%s", str[0]); SendClientMessage(playerid, COLOR_WHITE, string);
format(string, 256, "* %s", str[1]); SendClientMessage(playerid, COLOR_WHITE, string);
format(string, 256, "* %s", str[2]); SendClientMessage(playerid, COLOR_WHITE, string);
format(string, 256, "* %s", str[3]); SendClientMessage(playerid, COLOR_WHITE, string);
format(string, 256, "* %s", str[4]); SendClientMessage(playerid, COLOR_WHITE, string);
format(string, 256, "__________________________________"); SendClientMessage(playerid, COLOR_WHITE, string);
} else { SendClientMessage(playerid, COLOR_GRAD1, " Дело не найдено."); return 1; }
} else if(strcmp(tmp, "записать", true)==0) {
if(fexist(string)) { SendClientMessage(playerid, COLOR_GRAD1, " Дело уже существует, вы будите до записывать его..."); }
PlayerDelo[playerid]=pl;
SendClientMessage(playerid, COLOR_GRAD1, " Для записи используйте /delow [запись] ");
} else if(strcmp(tmp, "удалить", true)==0) {
if(!fexist(string)) { SendClientMessage(playerid, COLOR_GRAD1, " Дело не существует."); return 1; }
fremove(string);
SendClientMessage(playerid, COLOR_GRAD1, " Дело удалено... ");
PlayerDelo[playerid]=0;
PlayerDeloStr[playerid]=0;
}
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, " Вы не коп ");
}
}
return 1;
}
if (strcmp(cmd, "/delow", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(PlayerInfo[playerid][pMember]==1 || PlayerInfo[playerid][pLeader]==1 && PlayerDelo[playerid]!=999)
{
//if (PlayerToPoint(3, playerid,255.3,77.4,1003.6) || PlayerToPoint(3,playerid,-1616.1294,681.1594,7.1875) || PlayerInfo[playerid][pLocal] != 255 || PlayerToPoint(3,playerid, 2745.4392,-2453.8701,13.8623))
if (!PlayerToPoint(3.0, playerid, 236.3610,71.7131,1005.0391))
{
SendClientMessage(playerid, COLOR_GRAD2, " Вы не в отделении полиции!");
return 1;
}
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[666];
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, "USAGE: /delow [запись]");
return 1;
}
new namee[32];
new stri[256];
GetPlayerName(PlayerDelo[playerid], namee, 32);
format(string, 256, "%s.delo", namee);
if(!fexist(string)) {
new File:f = fopen(string, io_write);
format(stri, 1024, "* %s", result);
fwrite(f, stri);
fclose(f);
PlayerDelo[playerid]=999;
} else {
new File:f = fopen(string, io_append);
format(stri, 1024, " %s", result);
fwrite(f, stri);
fclose(f);
PlayerDelo[playerid]=999;
}
SendClientMessage(playerid, COLOR_GRAD1, " Строка записана ");
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, " Вы не коп ");
}
}
return 1;
}
в public OnGameModeInit
Create3DTextLabel(" /delo ",COLOR_YELLOW,233.1805,76.0081,1005.0391,40.0,0,1);
Create3DTextLabel(" /delow ",COLOR_YELLOW,236.3729,71.3999,1005.0391,40.0,0,1);
и
CreatePickup(1239,23,233.1805,76.0081,1005.0391);//delo CreatePickup(1239,23,236.3729,71.3999,1005.0391);//delow
Работает без ошибок варнингов на модах GF!
Сообщение отредактировал Alessandro Giordano: 25 января 2012 - 06:45
Причина редактирования: Поправил название
Вход
Регистрация
Помощь














