04:24
ОбновитьСмайлыУправление мини-чатом
МИНИ-ЧАТ
Главная страница!

 



 
          





Рекомендуем:





Последние Файлы GTA 4 Последние Файлы GTA-MP Реклама
Скрипт GTA 4 элементы Watch... 07.09.2014
Ferrari 360 Spider [EPM con... 13.12.2013
Porsche Cayenne Turbo 2012 ... 13.12.2013
Shelby Terlingua Mustang v1... 13.12.2013
Hamann Lamborghini Gallardo... 27.10.2013
[GM] The Big PEN1:LS v2.00 ... 04.12.2017
Dgun (AvnanceRP,SampRP,Dimo... 19.03.2016
SAMP скрипт SX Events (MySQ... 03.03.2016
Карта ASL мэрия для SAMP се... 03.03.2016
AIM для SA-MP 0.3.7 22.02.2016
  • Страница 1 из 1
  • 1
Модератор форума: Alcoholik  
[Мануал] Хелперы
SaibotДата: Понедельник, 09.09.2013, 21:27 | Сообщение # 1
Освоившийся
Группа: Продвинутые
Сообщений: 112
Награды: 0
Репутация: 34
Замечания: 0%
Статус:
Система Хелперов.

В enum pInfo вставляем:
[pwn]
pHelper,
pOtkatn,[/pwn]

Ко всем #define вставляем:
[pwn]#define COLOR_GREENQ 0x009933AA[/pwn]

В public OnPlayerConnect(playerid) вставляем:
[pwn]PlayerInfo[playerid][pHelper] = 0;[/pwn]

В public OnPlayerRegister(playerid, password[]) вставляем:
[pwn]dini_FloatSet(string, "pHelper=%d",PlayerInfo[playerid][pHelper]);[/pwn]

В public OnPlayerSave(playerid) вставляем:
[pwn]dini_FloatSet(string, "pHelper=%d",PlayerInfo[playerid][pHelper]);[/pwn]

В public OnPlayerLogin(playerid,password[]) вставляем:
[pwn]PlayerInfo[playerid][pHelper] = dini_Int(string2,"pHelper=%d");[/pwn]

В любом месте вставляем:
[pwn]
forward ShatHelperov(color,const string[],level);
public ShatHelperov(color,const string[],level)
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if (PlayerInfo[i][pHelper] >= level)
{
SendClientMessage(i, color, string);
}
}
}
printf("%s", string);
return 1;
}[/pwn]

В public SetPlayerUnjail() вставляем:
[pwn]
if(PlayerInfo[i][pOtkatn] >= 1)
{
PlayerInfo[i][pOtkatn] --;
}[/pwn]

В public OnPlayerCommandText(playerid, cmdtext[]) вставляем:
[pwn]
if (strcmp(cmd, "/helpers", true) == 0) //Чтоб игроки могли посмотреть кто онланй из хелперов.
{
string[0] = 0;
for(new i=0;i<MAX_PLAYERS;i++)
{
if(!IsPlayerConnected(i) || IsPlayerNPC(i)) continue;
{
if(PlayerInfo[i][pHelper] <= 0) continue;
{
GetPlayerName(i, sendername, sizeof(sendername));
format(string,sizeof(string),"Хелпер: %s[%d]\n",sendername,i);
}
}
}
ShowPlayerDialog(playerid,0,DIALOG_STYLE_MSGBOX, "Хелперы Онлайн:", string, "Отмена", "");
return 1;
}
if(strcmp(cmd, "/n", true) == 0) //Задать вопрос хелперу.
{
if(IsPlayerConnected(playerid))
{
GetPlayerName(playerid, sendername, sizeof(sendername));
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[100];
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, "/n [текст]");
return 1;
}
if(PlayerInfo[playerid][pOtkatn] >= 1)
{
format(string,sizeof(string), "Ты сможеш задать следйщий вопрос через %d секунд(ы).", PlayerInfo[playerid][pOtkatn]);
SendClientMessage(playerid, COLOR_GRAD2, string);
return 1;
}
format(string, sizeof(string), "Вопрос от %s[%d]: %s", sendername, playerid, (result));
ShatHelperov(COLOR_GREENQ,string,1);
SendClientMessage(playerid, COLOR_GREENQ, "Твоё сообщение отправлено хелперам. Ожидай...");
PlayerInfo[playerid][pOtkatn] = 200;
}
return 1;
}
if(strcmp(cmd, "/an", true) == 0) //Ответить игроку на вопрос.
{
if(IsPlayerConnected(playerid))
{
if (PlayerInfo[playerid][pHelper] >= 1)
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "/an [ид игрока] [текст]");
return 1;
}
giveplayerid = ReturnUser(tmp);
if (IsPlayerConnected(giveplayerid))
{
if(giveplayerid != INVALID_PLAYER_ID)
{
GetPlayerName(playerid, sendername, sizeof(sendername));
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[100];
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, "/an [ид игрока] [текст]");
return 1;
}
if(PlayerInfo[playerid][pHelper] > 0)
{
format(string, sizeof(string), "Ответ от хелпера %s отвечает: %s", sendername, (result));
}
SendClientMessage(giveplayerid, COLOR_GREENQ, string);
format(string, sizeof(string), "Хелпер %s ответил %s: %s", sendername, giveplayer, (result));
ShatHelperov(COLOR_CON_GREEN,string,1);
return 1;
}
}
else
{
SendClientMessage(playerid, COLOR_GRAD2, "Нет такого игрока.");
}
}
else
{
SendClientMessage(playerid, COLOR_GRAD2, "Вы не Хелпер!");
return 1;
}
}
return 1;
}
if(strcmp(cmd, "/helper", true) == 0 || strcmp(cmd, "/h", true) == 0) //Чат хелперов
{
if(IsPlayerConnected(playerid))
{
GetPlayerName(playerid, sendername, sizeof(sendername));
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[64];
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, "(/h)elper [текст]");
return 1;
}
format(string, sizeof(string), "{E3BE88}({009933}H-Чат{E3BE88}) Хелпер {009933}%s[%d]: {ffff00}%s", sendername, playerid, result);
if (PlayerInfo[playerid][pHelper] >= 1)
{
SendHelperMessage(COLOR_YELLOW, string);
}
}
return 1;
}
if(strcmp(cmd, "/makehelper", true) == 0)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "/makehelper [playerid/PartOfName] [level(1]");
return 1;
}
new para1;
new level;
para1 = ReturnUser(tmp);
tmp = strtok(cmdtext, idx);
level = strval(tmp);
if(level > 1 || level < 0)
{
SendClientMessage(playerid, COLOR_GRAD2, "Больше 1 уровня нельзя.");
return 1;
}
if(level == 0)
{
GetPlayerName(para1, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
PlayerInfo[para1][pHelper] = 0;
format(string, sizeof(string), "Администратор: %s снял(а) вас с Хелперки.", sendername);
SendClientMessage(para1, COLOR_LIGHTBLUE, string);
format(string, sizeof string, "Ты снял %s с Хелперки.", giveplayer);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
return 1;
}
if(PlayerInfo[playerid][pAdmin] >= 5)
{
if(IsPlayerConnected(para1))
{
if(para1 != INVALID_PLAYER_ID)
{
GetPlayerName(para1, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
PlayerInfo[para1][pHelper] = level;
format(string, sizeof(string), "Администратор: %s назначил(а) тебя Хелпером.", sendername);
SendClientMessage(para1, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), "Ты назначил(а) %s Хелпером.", giveplayer);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
}
}
}
else
{
SendClientMessage(playerid, COLOR_GRAD2, "Вы неуполномочены использовать эту команду!");
}
}
return 1;
}[/pwn]

Commands:
/makehelper - Назначить игрока хелпером. 1 назначить, 0 снять.
/n - Задать вопрос Хелперу.
/an - Ответить игроку
/h - Чат Хелперов

Автор: Saibot

Данный скрипт является эксклюзивом для SRC, и размещать его на других сайтах запрещено, без оговоренности с администрацией сайта или автором работы.



Сообщение отредактировал Saibot - Четверг, 03.10.2013, 17:41
DiSEДата: Вторник, 10.09.2013, 10:31 | Сообщение # 2
Группа: I'm V.I.P.
Сообщений: 1759
Награды: 23
Город: Уфа
Репутация: 337
Замечания: 80%
Статус:
Неужели люди всё еще используют стандартный командный процессор?
SaibotДата: Вторник, 10.09.2013, 14:47 | Сообщение # 3
Освоившийся
Группа: Продвинутые
Сообщений: 112
Награды: 0
Репутация: 34
Замечания: 0%
Статус:
Да, yes
FabervoxДата: Среда, 11.09.2013, 23:52 | Сообщение # 4
Уверенный в себе
Группа: I'm V.I.P.
Сообщений: 235
Награды: 1
Город: Краматорск
Репутация: 217
Замечания: 0%
Статус:
DiSE, новичкам из стандартного легче будет переделать под используемый у них.



RP в мире - как мух в сортире, а нужного чуда не видать покуда..©_Z_
Как посмотришь, сколько тысяч строчек кода, в одном файле, сразу понимаешь почему моды делают годами.
Закон сохранения сложности
BorogДата: Четверг, 12.09.2013, 00:40 | Сообщение # 5
Долгожитель
Группа: I'm V.I.P.
Сообщений: 1362
Награды: 43
Город: Москва
Репутация: 1249
Замечания: 20%
Статус:
Saibot, Ты забыл отнимать переменную pOtkat и зачем тут проверка if(IsPlayerConnected(playerid)) ?


Silver Break
http://s-break.ru/
http://vk.com/sbreak
SaibotДата: Воскресенье, 15.09.2013, 11:08 | Сообщение # 6
Освоившийся
Группа: Продвинутые
Сообщений: 112
Награды: 0
Репутация: 34
Замечания: 0%
Статус:
Цитата (Borog)
Saibot, Ты забыл отнимать переменную pOtkat и зачем тут проверка if(IsPlayerConnected(playerid)) ?


В public SetPlayerUnjail() вставляем:
[pwn]
if(PlayerInfo[pOtkatn] >= 1)
{
PlayerInfo[i][pOtkatn] --;
}[/pwn]

[i]Всегда когда делал комануд ставил проверку эту, уже по привычка.

  • Страница 1 из 1
  • 1
Поиск:





 


 


 
Хостинг от uCoz samp.at.ua