Доступ к архиву

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Немного полезных команд

Статус
В этой теме нельзя размещать новые ответы.

#pragma

Компетентный
Не так давно я начал изучать pawn скриптинг, и вот наконец решил что то смастерить))
Делал чисто для себя но решил всё таки выкласть, возможно даже кому-то и пригодиться О_о


Команды используют DC_CMD + sscanf2​

[HR][/HR]

PHP:
CMD:pay(playerid, params[])
{
    extract params -> new targetid, cash; else
		return SendClientMessage(playerid, -1, "Используйте /pay [id] [сумма]");
    if(!IsPlayerConnected(targetid))
		return SendClientMessage(playerid, -1, "Человек не найден!");
    if(cash < 1 || cash > 100000)
		return SendClientMessage(playerid, -1, "Нельзя передать меньше 1$ и больше 100000$.");
    if(p_info[playerid][p_cash] < cash)
		return SendClientMessage(playerid, -1, "У вас нет столько денег.");
    if(targetid == INVALID_PLAYER_ID)
		return SendClientMessage(playerid, -1, "Вы не можете передать деньги себе.");

	p_info[targetid][p_cash] += cash;
	p_info[playerid][p_cash] -= cash;

	static const
		fmt_str[] = "Вы передали игроку %s[%d], %d$",
		fmt_str1[] = "Вы получили от игрока %d$ от %s[%d]";
	new str[sizeof fmt_str + MAX_PLAYER_NAME (- 6 + 11)];
	
	format(str, sizeof(str), fmt_str, p_info[targetid][p_name], targetid, cash);
	SendClientMessage(playerid, -1, str);
	
	format(str, sizeof(str), fmt_str1, cash, p_info[playerid][p_name], playerid);
	SendClientMessage(targetid, -1, str);

	SetPlayerChatBubble(playerid, "Достал бумажник и передал деньги", COLOR_PURPLE, 30.0, 10000);
	return true;
}
PHP:
CMD:eject(playerid, params[])
{
	if(!IsPlayerInAnyVehicle(playerid))
		return SendClientMessage(playerid, -1, "Вы должны быть в транспорте!");
    extract params -> new targetid; else
		return SendClientMessage(playerid, -1, "Используйте: /eject [id]");
	if(!IsPlayerConnected(targetid))
		return SendClientMessage(playerid, -1, "Игрок не найден!");
	if(targetid == playerid)
		return SendClientMessage(playerid, -1, "Вы не можете выкинуть из машины себя!");

	static const
		fmt_str[] = "Вы выкинули из машины %s",
		fmt_str1[] = "%s выкинул вас из машины";
	new str[sizeof fmt_str + MAX_PLAYER_NAME (- 2)];

	format(str, sizeof(str), fmt_str, p_info[targetid][p_name]);
	SendClientMessage(playerid, -1, str);
	format(str, sizeof(str), fmt_str1, p_info[playerid][p_name]);
	SendClientMessage(targetid, -1, str);

	RemovePlayerFromVehicle(targetid);
	TogglePlayerControllable(targetid, true);
	return true;
}
PHP:
CMD:try(playerid, params[])
{
    extract params -> new string:message[82]; else
		return SendClientMessage(playerid, -1, "Используйте: /try [сообщение]");
		
	static const
		fmt_str[] = "* %s %s | %s";
	new str[sizeof fmt_str + MAX_PLAYER_NAME (- 3 + 82 + 9)];
	
    format(str, sizeof(str), fmt_str, p_info[playerid][p_name], message, (random(2)) ? ("Неудачно") : ("Удачно"));
	OnPlayerDistanceChat(playerid, 10.0, str, -1);
	return true;
}
PHP:
CMD:me(playerid, params[])
{
    extract params -> new string:message[82]; else
		return SendClientMessage(playerid, -1, "Используйте: /me [сообщение]");
		
	static const
		fmt_str[] = "* %s %s";
	new str[sizeof fmt_str + MAX_PLAYER_NAME (- 2 + 82)];
	
	format(str, sizeof(str), fmt_str, p_info[playerid][p_name], message);
	OnPlayerDistanceChat(playerid, 10.0, str, COLOR_PURPLE);
	return true;
}
PHP:
CMD:do(playerid, params[])
{
    extract params -> new string:message[100]; else
        return SendClientMessage(playerid, -1, "Используйте: /do [сообщение]");

    static const
        fmt_str[] = "* %s (%s)";
    new str[sizeof fmt_str + MAX_PLAYER_NAME (- 2 + 100)];

    format(str, sizeof(str), fmt_str, message, p_info[playerid][p_name]);
    OnPlayerDistanceChat(playerid, 10.0, str, -1);
    return true;
}
PHP:
CMD:n(playerid, params[])
{
    extract params -> new string:message[100]; else
		return SendClientMessage(playerid, -1, "Используйте: /n [сообщение]");

	static const
		fmt_str[] = "- (( %s[%d]: %s ))";
	new str[sizeof fmt_str + MAX_PLAYER_NAME (- 3 + 110)];
		
	format(str, sizeof(str), fmt_str, p_info[playerid][p_name], playerid, message);
	OnPlayerDistanceChat(playerid, 10.0, str, -1);
	return true;
}
PHP:
CMD:clearchat(playerid, params[])
{
	// Проверка на админа
    for(new i = 0; i < 10; i++) SendClientMessageToAll(-1, "");
	SendClientMessageToAll(-1, "Чат очищен администрацией!");
	return true;
}


Не забываем поменять переменную p_info[playerid][p_name] и p_info[playerid][p_cash] на свою.​

PHP:
stock OnPlayerDistanceChat(playerid, Float:range, string[], color)
{
	new
		Float: position[3], Float:radius;
	GetPlayerPos(playerid, position[0], position[1], position[2]);
	foreach(new i: Player)
	{
		if(GetPlayerVirtualWorld(playerid) == GetPlayerVirtualWorld(i))
		{
			radius = GetPlayerDistanceFromPoint(i, position[0], position[1], position[2]);
			if(radius < range/16) SendClientMessage(i, color, string);
			else if(radius < range/8) SendClientMessage(i, color, string);
			else if(radius < range/4) SendClientMessage(i, color, string);
			else if(radius < range/2) SendClientMessage(i, color, string);
			else if(radius < range) SendClientMessage(i, color, string);
  		}
	}
	return true;
}
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу