PDA

Просмотр полной версии : [CMD] /callsign (Маркировка полицейского крузера)



*middlematt
18.05.2016, 14:16
Доброе времени суток, пользователи Pro-Pawn.Ru
Вот, первый раз с оптимизацией создал команду /callsign

Описание команды:
Данная команда добавляет для полицейского крузера маркировку.
Сойдет для RP серверов.

Ко всем инклудам:

#include dc_cmd
#tryinclude sscanf2


Ко всем переменным:

new Text3D: call_sign_text[MAX_VEHICLES];

И к другим командам:

CMD:callsign(playerid, params[])
{
new
nick[20]
;

if GetPVarInt(playerid, "callsign_create") *then // Если "callsign_create" равно одному, то:
{
SendClientMessage(playerid, 0xFF000055, !"[ ВЫ УДАЛИЛИ МАРКИРОВКУ АВТОМОБИЛЯ ]"); // отправляем сообщение игроку
Delete3DTextLabel(Text3D: call_sign_text); // удаляем 3д текст
return SetPVarInt(playerid, "callsign_create", 0); // удаляем пвар
}
if(sscanf(params, "s[20]", nick))
return SendClientMessage(playerid, -1, !"/callsign number1-nickname-number2");
if(GetVehicleModel(GetPlayerVehicleID(playerid)) != 596
|| GetVehicleModel(GetPlayerVehicleID(playerid)) != 597
|| GetVehicleModel(GetPlayerVehicleID(playerid)) != 598) // если игрок не сидит в машине под указанном ID (596, 597, 598), то:
return SendClientMessage(playerid, 0xFF000055, !"[ ВЫ НЕ СИДИТЕ В ПОЛИЦЕЙСКОЙ МАШИНЕ ]"); // отправляем сообщение игроку
new
number[2],
nickname[14]
;
sscanf(nick, "p<->s[1]s[14]s[1]", number[0], nickname[14], number[0]); // разделяем написанное в команде
static const fmt_str[] = !"{ffffff}%s-%s-%s";
new string[sizeof fmt_str + (-2 + 14)];
format(string, sizeof string, fmt_str, number[0], nickname[14], number[0]);
call_sign_text[GetPlayerVehicleID(playerid)] = Create3DTextLabel(string, 0x0082E666, 0.0, 0.0, 0.0, 10.0, GetPlayerVirtualWorld(playerid), 1); // создаем 3д текст
Attach3DTextLabelToVehicle(Text3D: call_sign_text[GetPlayerVehicleID(playerid)], GetPlayerVehicleID, -2.0, -1.0, 0.0); // прикрепляем 3д текст к машине
return SetPVarInt(playerid, "callsign_create", 1); // устанавливаем пвар
}

TheMallard
18.05.2016, 17:02
Почему tryinclude? А если у меня не будет sscanf'a?

Desulaid
18.05.2016, 17:39
Почему tryinclude? А если у меня не будет sscanf'a?

Ты в понтокоде не шаришь.

Код выглядит как каша. В одних случаях вы пакуете строки, в других нет. Бе :С

*middlematt
18.05.2016, 18:28
Ты в понтокоде не шаришь.

Код выглядит как каша. В одних случаях вы пакуете строки, в других нет. Бе :С

В смысле?

L0ndl3m
18.05.2016, 18:46
Поработайте над кодом ещё. Я уверен, вы найдёте множество ненужных вещей.

vovandolg
18.05.2016, 19:05
В смысле?

Красава абажаю посмеяться:grin:
Написал код и не знаешь его смысла
Ctrl + C/V:crazy: