Перейти к содержимому



Добро пожаловать на пользовательский форум CR-MP.RU
Зарегистрируйтесь или авторизуйтесь на нашем форуме, чтобы получить доступ ко всем функциям.
Если у Вас уже имеется аккаунт, нажмите, чтобы войти.
Если у Вас нет аккаунта на нашем форуме, нажмите, чтобы перейти к регистрации. Возникли проблемы с регистрацией ? Обратитесь на почту admin@cr-mp.ru с вашей проблемой.
Фотография

Система объявлений Advance RolePlay [100%]

- - - - - Мануал crmp criminal russia gta всё для crmp pawn pawno

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 4

#1
Vladimir_Kulkov

Разработчик GREENPRIZE RP


Репутация: 82
Описание:

Подавать объявления ( /ad ) можно когда угодно НО после того как предыдущее проверят в СМИ, таймера на /ad нету, как проверили так можно подавать следующее.
Для СМИ команда /edit (без iD без ничего)
Если оставить диалог пустой то объявление подастся без изменений и в чате будет написано " Объявление проверил ... "
Или же можно изменить тогда в чате будет писаться " Объявление отредактировал ... "
Ну и в крайнем случае отклонить.

Скрины:

Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытый текст


код
Ко всем define

#define advert 777
Ко всем new

new ADV[MAX_PLAYERS];
new OBV[MAX_PLAYERS];
new ADVERTISE;
в public OnPlayerCommandText

if(strcmp(cmd, "/edit", true) == 0)
{
if(PlayerInfo[playerid][pMember] == 14 || PlayerInfo[playerid][pMember] == 15 || PlayerInfo[playerid][pMember] == 16 || PlayerInfo[playerid][pMember] == 17 || PlayerInfo[playerid][pMember] == 30)
{
new giveplayer[MAX_PLAYER_NAME],giveplayerid,sendername[MAX_PLAYER_NAME],string[256]
;
if(IsPlayerConnected(giveplayerid))
{
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
if(ADVERTISE == 0) return SendClientMessage(playerid,-1,"Никто не подавал объявление");
OBV[playerid] = giveplayerid;
format(string, sizeof(string), "{ffffff}Отправитель: %s\nТекст:{fde910} %s\n\n{ffffff}Введите новый текст для этого объявления или оставьте поле пустым если редактирование не нужно\n\
Вы также можете отклонить объявление с причиной нажав кнопку \"Отклонить\"",giveplayer,ADV[giveplayerid]);
ShowPlayerDialog(playerid,advert,DIALOG_STYLE_INPUT,"{00ff00}Публикация объявления",string,"Готово","Отклонить");
}
}
else
{
return true;
}
}
if(strcmp(cmd, "/advertise", true) == 0 || strcmp(cmd, "/ad", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(ADVERTISE == 1) return SendClientMessage(playerid,-1, "Кто-то уже подал объявление");
new sendername[ MAX_PLAYER_NAME ];
if(PlayerInfo[playerid][pLevel] < 3) return SendClientMessage(playerid, COLOR_GRAD, "{FF0000}[Недоступно]{ffffff} Команда доступна с 3-го уровня.");
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)) return SendClientMessage(playerid, COLOR_WHITE, "{00C0FF}Используйте{FFFFFF} : (/ad)vertise [сообщение]");
new string[145];
if(PlayerInfo[playerid][pCash] < 10) return SendClientMessage(playerid, COLOR_WHITE, "{FF0000}[Недоступно]{ffffff} У вас недостаточно денег для подачи рекламы.");
GetPlayerName(playerid, sendername, sizeof(sendername));
SendClientMessage(playerid, COLOR_WHITE, "Ваше объявление было отправлено в СМИ для утверждения");
format(string, sizeof(string), "{f4c430}[Для утверждения] Автор: %s[%d]. Текст: %s",sendername, playerid,(result));
SendFamilyMessage(14, -1, string),SendFamilyMessage(15, -1, string),SendFamilyMessage(16, -1, string),SendFamilyMessage(17, -1, string),SendFamilyMessage(30, -1, string);
PlayerInfo[playerid][pCash] -= 10,ADVERTISE = 1;
strmid(ADV[playerid], result, 0, strlen(result), 255);
}
return true;
}
В OnDialogResponse

case advert: // если без case, то if(dialogid == advert)
{
new sendername[MAX_PLAYER_NAME];
GetPlayerName(OBV[playerid], sendername, sizeof(sendername));
if(response)
{
new texts[1000];
new name[MAX_PLAYER_NAME];
if(strlen(inputtext) == 0)
{
format(texts, sizeof(texts), "%s | Отправил %s[%d] (тел. %d)",ADV[playerid], GN(OBV[playerid]),OBV[playerid],PlayerInfo[OBV[playerid]][pNumber]
);
SendClientMessageToAll(TEAM_GROVE_COLOR,texts);
new rangz[256];
switch(PlayerInfo[playerid][pMember]){
case 15,16,17:{
switch(PlayerInfo[playerid][pRang]){
case 10:rangz = "Директор радиоцентра";
case 9:rangz = "Главный редактор";
case 8:rangz = "Редактор";
case 7:rangz = "Попощник редактора";
case 6:rangz = "Корректор";
case 5:rangz = "Старший журналист";
case 4:rangz = "Журналист";
case 3:rangz = "Радиотехник";
case 2:rangz = "Верстальщик новостей";
case 1:rangz = "Начинающий работник";}}
case 30:{
switch(PlayerInfo[playerid][pRang]){
case 10:rangz = "Директор ТВ-центра";
case 9:rangz = "Управляющий студией";
case 8:rangz = "Ведущий";
case 7:rangz = "Режиссёр";
case 6:rangz = "Звукорежиссёр";
case 5:rangz = "Оператор";
case 4:rangz = "Светотехник";
case 3:rangz = "Телемастер";
case 2:rangz = "Помощник телемастера";
case 1:rangz = "Помощник редакций";}}
case 14:{
switch(PlayerInfo[playerid][pRang]){
case 10:rangz = "Управляющий СМИ";}}}
format(texts, sizeof(texts), "{228B22}Объявление проверил %s %s[%d]", rangz, GN(playerid), playerid),SendClientMessageToAll(-1,texts);
ADV[OBV[playerid]] = 0,OBV[playerid] = 501,ADVERTISE = 0;
}
else
{
GetPlayerName(playerid, name, sizeof(name));
format(texts, sizeof(texts), "%s | Отправил %s[%d] (тел. %d)", (inputtext), sendername,OBV[playerid],PlayerInfo[OBV[playerid]][pNumber]);
SendClientMessageToAll(TEAM_GROVE_COLOR,texts);
new rangz[256];
switch(PlayerInfo[playerid][pMember]){
case 15,16,17:{
switch(PlayerInfo[playerid][pRang]){
case 10:rangz = "Директор радиоцентра";
case 9:rangz = "Главный редактор";
case 8:rangz = "Редактор";
case 7:rangz = "Попощник редактора";
case 6:rangz = "Корректор";
case 5:rangz = "Старший журналист";
case 4:rangz = "Журналист";
case 3:rangz = "Радиотехник";
case 2:rangz = "Верстальщик новостей";
case 1:rangz = "Начинающий работник";}}
case 30:{
switch(PlayerInfo[playerid][pRang]){
case 10:rangz = "Директор ТВ-центра";
case 9:rangz = "Управляющий студией";
case 8:rangz = "Ведущий";
case 7:rangz = "Режиссёр";
case 6:rangz = "Звукорежиссёр";
case 5:rangz = "Оператор";
case 4:rangz = "Светотехник";
case 3:rangz = "Телемастер";
case 2:rangz = "Помощник телемастера";
case 1:rangz = "Помощник редакций";}}
case 14:{
switch(PlayerInfo[playerid][pRang]){
case 10:rangz = "Управляющий СМИ";}}}
format(texts, sizeof(texts), "{228B22}Объявление отредактировал %s %s[%d]", rangz, GN(playerid), playerid),SendClientMessageToAll(-1,texts);
ADV[OBV[playerid]] = 0,OBV[playerid] = 501,ADVERTISE = 0;
}
return true;
}
else
{
format(string, sizeof(string), "{FF6600}Вы отклонили объявление",sendername, playerid, (inputtext)),SendClientMessage(playerid, COLOR_YELLOW, string);
new rangz[256];
switch(PlayerInfo[playerid][pMember]){
case 15,16,17:{
switch(PlayerInfo[playerid][pRang]){
case 10:rangz = "Директор радиоцентра";
case 9:rangz = "Главный редактор";
case 8:rangz = "Редактор";
case 7:rangz = "Попощник редактора";
case 6:rangz = "Корректор";
case 5:rangz = "Старший журналист";
case 4:rangz = "Журналист";
case 3:rangz = "Радиотехник";
case 2:rangz = "Верстальщик новостей";
case 1:rangz = "Начинающий работник";}}
case 30:{
switch(PlayerInfo[playerid][pRang]){
case 10:rangz = "Директор ТВ-центра";
case 9:rangz = "Управляющий студией";
case 8:rangz = "Ведущий";
case 7:rangz = "Режиссёр";
case 6:rangz = "Звукорежиссёр";
case 5:rangz = "Оператор";
case 4:rangz = "Светотехник";
case 3:rangz = "Телемастер";
case 2:rangz = "Помощник телемастера";
case 1:rangz = "Помощник редакций";}}
case 14:{
switch(PlayerInfo[playerid][pRang]){
case 10:rangz = "Управляющий СМИ";}}}
format(string, sizeof(string), "{FF6600}%s %s[%d] отклонил объявление. Причина: %s",rangz, sendername, playerid, (inputtext)),SendClientMessage(OBV[playerid], COLOR_YELLOW, string);
ADV[OBV[playerid]] = 0,OBV[playerid] = 501,ADVERTISE = 0;
}
}


Автор: Unreal
P.s. Если подобная есть, то удалите.

Сообщение отредактировал Vladimir_Kulkov: 15 Ноябрь 2016 - 10:44


#2
Marvellous

Мапер-Скриптер


Репутация: 221

У меня ерроры на 

Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытый текст

P:\??? ??????\??? ???\gamemodes\cream1.2.pwn(2560) : error 017: undefined symbol "string"
P:\??? ??????\??? ???\gamemodes\cream1.2.pwn(2560) : error 017: undefined symbol "string"
P:\??? ??????\??? ???\gamemodes\cream1.2.pwn(2560) : error 029: invalid expression, assumed zero
P:\??? ??????\??? ???\gamemodes\cream1.2.pwn(2560) : fatal error 107: too many error messages on one line
 
Compilation aborted.Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase
 
 
4 Errors.
 

На строку

Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытый текст


Модераторы объедините сообщения пожалуйста,а то у меня нет отредактировать кнопки

 

Верхнее я решил,теперь другие ерроры

Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытый текст

На вот эти команды

Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытый текст


Сообщение отредактировал komodik: 27 Ноябрь 2016 - 22:51


#3
na1x

Photoshop Master :D


Репутация: 38

Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытый текст



#4
vladislavkapalkin

Гражданин


Репутация: 1

весь код в кучу не понятно что куда .для новичков вообше не разобрать 



#5
#Pawno

Старейшин crmp


Репутация: 284

Если копируете , то код хотя бы проверяйте на работу способность. 
Да и оптимизаций нет , и уже наверно не кто не использует старый забытый процессор strcmp.
 







Темы с аналогичным тегами Мануал, crmp, criminal russia, gta, всё для crmp, pawn, pawno

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных