Вопросы

Привет всем, можете дать команду по типу - /goadminka чтобы игрок мог отыграть  30 часов и получить админку 1-3 лвл. 

Мой движок - DC_CMD

Поделиться сообщением


Ссылка на сообщение

6 ответов на этот вопрос

  • 0

@Banana Подумав... и сделали. тип на сервере 3 урв, это и есть 30 часов. Закрывай тему, ставь плюсик pls.

 

Спойлер

CMD:goadm(playerid)
{
	if(PlayerInfo[playerid][pLevel] != 3)return SendClientMessage(playerid, COLOR_RED, "Вы ещё не отыграли 30 часов.");
	if(PlayerInfo[playerid][bAdmin] > 1 ) return SendClientMessage(playerid, COLOR_RED, "Вы уже получили админку.");
	new strings[246];
	GetPlayerName(playerid, PlayerInfo[playerid][pNames], 24);
	new years, months, days,data[32]; r_getdate(years, months, days);
	format(data, 32, "%02d.%02d.%04d", days, months, years);
	mysql_format(connects,strings, sizeof strings, "INSERT INTO `admin` (`Name`, `level`, `LastCon`, `Postavil`, `Data`) VALUES ('%s', %d, '%s', 'System', '%s')", PlayerInfo[playerid][pNames], 2, data, data);
	mysql_empty(connects, strings);	
	return 1;
}

 

 

Отредактировано пользователем odosenok

Поделиться сообщением


Ссылка на сообщение
  • 0

@Banana Кинь код команды /setadmin || /makeadmin типо того

Отредактировано пользователем Nekit_Krut18
Причина: Подправил.

Поделиться сообщением


Ссылка на сообщение
  • 0
19 часов назад, Nekit_Krut18 сказал:

@Banana Кинь код команды /setadmin || /makeadmin типо того

Ok сейчас

 

Спойлер

}
CMD:addadmin(playerid, params[])
{
    if(adminCommand[playerid][1])
    {
        new Name[24],Level;
        
        if(!strcmp(PlayerInfo[playerid][pNames], FD1, true) ||
        !strcmp(PlayerInfo[playerid][pNames], FD2, true) ||
        !strcmp(PlayerInfo[playerid][pNames], FD3, true) ||
        !strcmp(PlayerInfo[playerid][pNames], FD4, true))
        {
            if(sscanf(params, "s[24]d",Name,Level) || !(0 <= Level <= 7)) return SendClientMessage(playerid, COLOR_WHITE, ""good"Используйте /addadmin [Ник] [Уровень]");
        }
        else
        {
            //if(!UseGiveRub) return SendClientMessage(playerid, -1, ""cError"В данный момент нельзя использовать команду!");
            if(sscanf(params, "s[24]d",Name,Level) || !(0 <= Level <= 4)) return SendClientMessage(playerid, COLOR_WHITE, ""good"Используйте /addadmin [Ник] [Уровень] (1-5)");
        }
        if(Level == 0)
        {
            new player_id = GetPlayerID(Name);
            if(!IsPlayerConnected(player_id)) return SendClientMessage(playerid, -1, ""good"Игрок оффлайн!");
            if(PlayerInfo[player_id][bAdmin] < 1 ) return 1;
            DeleteAdministration(player_id,Name);
            format(string, 250, ""SERVER"%s "WHITE"успешно снят с поста администрирования.", Name);
            ABroadCast(-1, string);
            PlayerInfo[playerid][pAntiVig] = 0; UpdatePlayerData(playerid, "pAntiVig", 0);
        }
        else
        {
            string[0] = EOS;
            format(string, MAX_STR, "SELECT * FROM `admin` WHERE `name` = '%s'", Name);
            mysql_tquery(connects, string, "Moderator", "dsd",playerid,Name,Level);
            
            format(string, 250, ""SERVER"%s"WHITE" успешно добавлен в список модераторов. Уровень полномочий "SERVER"%d", Name, Level);
            ABroadCast(-1, string);
            
            new day,month,year,hour,minuite,second;
            r_getdate(year, month, day);
            r_gettime(hour,minuite,second);
            new data2[64];
            format(data2, 64, "%02d.%02d.%d в %02d:%d",day,month,year,hour,minuite);
            string[0] = EOS;
            mysql_format(connects, string, MAX_SQL, "INSERT INTO `logs` (`Text`, `Date`) VALUES ('%s выдал админку %s Уровень %d','%s')",PlayerInfo[playerid][pNames],Name,Level,data2);
            mysql_empty(connects, string);
        }
    }
    return 1;
}

 

 

Отредактировано пользователем odosenok

Заметка от Cawfee , создано

3.2. Код больше 10 строк брать еще и под спойлер. Как это сделать рассказано в разделе "FAQ"

Устное предупреждение.

Поделиться сообщением


Ссылка на сообщение
  • 0

@Banana, Ну вот через /addadmin и добавляйте себя, а ещё проще найти какой-то логин или свой логин в папке с аккаунтами и прописать себе админку там.

Отредактировано пользователем odosenok

Поделиться сообщением


Ссылка на сообщение
  • 0
26 минут назад, iQua сказал:

Ну вот через /addadmin и добавляйте себя, а ещё проще найти какой-то логин или свой логин в папке с аккаунтами и прописать себе админку там.

Мы не про выдачу админки. Мы тип если игрок отыграет 30 часов он получит админку 2 лвл систематично

Поделиться сообщением


Ссылка на сообщение
  • 0

В чем собственно проблема? Каждый час добавлять +1 в переменную (в пейдей) и сохранять ее в базу данных.

И кстати, код более 10 строк лучше всего закидывать под спойлер, после чего нажимать на "Код" и выбирать Языки C

Поделиться сообщением


Ссылка на сообщение
Гость
Эта тема закрыта для публикации ответов.
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Похожий контент

    • Артём Профиков
      От Артём Профиков
      У меня есть система подсказок вот так она выглядет
      ShowNotification(playerid, тип, "текст", время, "команда через /", "текст кнопки");
      Только есть вопрос как сделать так чтоб она активировалась в определенном радиусе? Заранее спасибо