7 posts in this topic

Команда специальных (устных) предупреждений. 

Суть: Администратор может выдавать игроку устные предупреждения. Как только устных предупреждений станет три, игрока кикнет с сервера. 

Ко всем командам: 

CMD:swarn(playerid, params[])
{
	//проверка на админа
	if(sscanf(params, "us[30]", params[0], params[1])) return SendClientMessage(playerid, -1, "Используйте: /swarn [ id] [причина]");
	if(!IsPlayerConnected(params[0])) return SendClientMessage(playerid, -1, "Такого игрока нет!");
	if(GetPVarInt(params[0], "SWARN") < 2)
	{
        new str[35+MAX_PLAYER_NAME], 
        	name[MAX_PLAYER_NAME]; 
        GetPlayerName(playerid, name, MAX_PLAYER_NAME); 
		SetPVarInt(params[0], "SWARN", GetPVarInt(params[0], "SWARN")+1);
		format(str, sizeof(str), "Админ %s устно предупредил вас!", name); 
		SendClientMessage(params[0], -1, str); 
		SendClientMessage(playerid, -1, "Вы успешно предупредили игрока!");
	}
	if(GetPVarInt(params[0], "SWARN") >= 2)
	{
		SendClientMessage(playerid, -1, "Игрок был кикнут, так как у него ваше предупреждение стало третьим!");
		Kick(params[0]); 
	}
	return true;
}

На этом все!
Если будет warning 217, значит поправьте табуляцию.

Share this post


Link to post
Share on other sites

где для игрока пишется причина?

Share this post


Link to post
Share on other sites

@aaaa_carmona :/

format(str, sizeof(str), "Админ %s устно предупредил вас!", name); 
	SendClientMessage(params[0], -1, str); 

 

Share this post


Link to post
Share on other sites
4 часа назад, MuhammadPawn сказал:

@aaaa_carmona :/


format(str, sizeof(str), "Админ %s устно предупредил вас!", name); 
	SendClientMessage(params[0], -1, str); 

 

спасибо

Share this post


Link to post
Share on other sites
В 12.09.2017 в 19:20, DEST сказал:

SendClientMessage(playerid, -1, "Игрок был кикнут, так как у него ваше предупреждение стало третьим!");
Kick(params[0]); 

А как сделать вместо кика - Варн, "Warn" не работает!

Share this post


Link to post
Share on other sites

@Privikay почитайте внимательней тему, здесь имеются ввиду устные предупреждения, т.е. которые не влекут за собой никаких последствий для игрового аккаунта. Если Вам нужна своя логика этих предупреждений, то просто вместо Kick(params[0]); вставьте код выдачи предупреждения из своего gamemode. 

Share this post


Link to post
Share on other sites

Что может значить? 
 error 035: argument type mismatch (argument 2)
 warning 204: symbol is assigned a value that is never used: "name"

Edited by Angels_Toressi

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • Dworkin
      By Dworkin
      Привет. Мне тяжело дается понимание строк в pawn из за не динамических массивов.
      #include enum pInfo { pRangName[25] } new players[MAX_PLAYERS][pInfo]; new string[20]; main() { format(string, sizeof(string), "Салага"); printf(string); players[0][pRangName] = string; } выдает ошибку "error 047: array sizes do not match, or destination array is too small" на строку "players[0][pRangName] = string;"
      Я понимаю что в ошибке говорится что размер не совпадает, но не могу понять как это сделать в павне