Если Вы нашли ответ на вопрос, пожалуйста, пометьте необходимый ответ лучшим (галочка сбоку от сообщения) и поблагодарите автора этого ответа поднятием репутации (плюс в нижней правой части сообщения). Спасибо.
Подробнее:
FAQ по форуму
Как пометить ответ лучшим

Question

Я заметил на серверах CS, чаще всего обычно вижу это на серверах CS:GO тестовый срок VIP, который используется 1 раз, если такое можете помочь сделать, то с меня плюсик :)

Сам думал, думал и серовно не знаю как сделать именно что бы 1 раз всего можно было использавать

Если нужна команда выдачи VIP:
 

Спойлер

CMD:setvip(playerid, params[])
{
    if(PI[playerid][pAdmin] < 8) return 1;
	else if(AdminLogged[playerid] == false) return SCM(playerid, COLOR_GREY, YouAreNotLoggedInAsAdmin);
	else if(sscanf(params, "ui", params[0], params[1])) return SCM(playerid, COLOR_WHITE, "• {66CC00}[ Подсказка ] {ffffff}Введите: /setvip [id игрока] [кол-во дней]");
	else if(!IsPlayerConnected(params[0])) return SCM(playerid, COLOR_GREY, PlayerIsNotOnline);
	else if(PlayerLogged[params[0]] == false) return SCM(playerid, COLOR_GREY, PlayerIsNotAuthorized);
	else if(params[1] < 0 || params[1] > 365) return SCM(playerid, COLOR_GREY, "Нельзя выдавать VIP статус более чем на 365 дней");
	new string[128];
	if(params[1] > 0)
	{
	    new year, month, day;
		getdate(year, month, day);
		new current_date = getdate(year, month, day);
	    PI[params[0]][pVip] = 1;
	    PI[params[0]][pVipTime] = current_date + params[1];
	    format(string, sizeof(string), "Вы выдали VIP статус игроку %s на %i дней", GetName(params[0]), params[1]);
	    SCM(playerid, COLOR_YELLOW, string);
	    format(string, sizeof(string), "Администратор %s выдал вам VIP статус на %i дней", GetName(playerid), params[1]);
	    SCM(params[0], COLOR_YELLOW, string);
	    format(string, sizeof(string), "%s выдал VIP статус %s на %i дней", GetName(playerid), GetName(params[0]), params[1]);
	    SendLog("SetVip", string);
	}
	else if(params[1] == 0)
	{
	    PI[params[0]][pVip] = 0;
	    PI[params[0]][pVipTime] = 0;
	    format(string, sizeof(string), "Вы забрали VIP статус у игрока %s", GetName(params[0]));
	    SCM(playerid, COLOR_YELLOW, string);
	    format(string, sizeof(string), "Администратор %s забрал у вас VIP статус", GetName(playerid));
	    SCM(params[0], COLOR_YELLOW, string);
	    format(string, sizeof(string), "%s забрал VIP статус у игрока %s", GetName(playerid), GetName(params[0]));
	    SendLog("SetVip", string);
	}
	return 1;
}

 

 

Share this post


Link to post

4 answers to this question

  • 0

@Daniil Roslyakov нужно добавить переменную с сохранением и при активации тестового VIP ставить ей значение на 1 или true. И потом, при повторном вводе этой команды реализовать проверку. Примерно получится так: 

CMD:testvip(playerid)
{
	if(PI[playerid][pTestVip] == true) return SendClientMessage(playerid, -1, "Вы уже активировали тестовый VIP-аккаунт!");
	PI[playerid][pTestVip] = true; 
	//функция выдачи VIP аккаунта
	return true; 
}

 

Share this post


Link to post
  • 0

@Daniil Roslyakov если сделать сохранение, то не будет. 

Share this post


Link to post
Guest
This topic is now closed to further replies.
Sign in to follow this  
Followers 0