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

 



 
        
[SA-MP] Hosted Tab (128)
JasonGordon 21.10.2017 10:43
[MAP+FS] Тюрьма (15)
SubjectKalcor 09.10.2017 07:59
 





Рекомендуем:
Добавить IP: 95.172.59.51:7777





Последние Файлы 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
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
Скачать GTA SAMP 0.3.7 - Кл... 20.07.2015
Страница 1 из 11
Модератор форума: Alcoholik 
Форум SAMP о мультиплеерах для GTA. » Популярные моды » The Godfather » [Мануал] Хелперы
[Мануал] Хелперы
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]Всегда когда делал комануд ставил проверку эту, уже по привычка.

Форум SAMP о мультиплеерах для GTA. » Популярные моды » The Godfather » [Мануал] Хелперы
Страница 1 из 11
Поиск:





 

Оперативная продажа новостроек в Одессе

 


 
Хостинг от uCoz SAMP-RUS.COM