Перейти к содержанию
Авторизация  
Demons_Queens

Создание команды с 0.

Рекомендуемые сообщения

Demons_Queens

Всем привет , нет так я давно научился программированию.Так вот , хотел бы научить ещё кого-то программированию , а точнее создание команд на DC_CMD + SSCANF.
 

Начнём с простой команды , например: /hp выдать себе ХП.

CMD:hp(playerid) // Мы будем использовать только id игрока.
{
    if(PlayerInfo[playerid][pAdmin] < 1); // "playerid"-ид игрока "pAdmin"- проверка на админа"< 1" Проверка админа на его ранг.Если у администратора меньше ранг то ,  какой-либо команды он не сможет её использовать.
    SetPlayerHealth(playerid,100); // SetPlayerHealth = функция выдачи игроку ХП. "Playerid"-id игрока "100" урвоень ХП получается SetPlayerHealth(ид игрока,100 уровень хп) как-то так)
    return 1; // Прекращение работы команды 
}

Вот и написана самая простая команда.
 

  • Теперь немного по сложнее с выбором id's пример команды: /sp [id] - зареспавнить игрока по id's
    CMD:sp(playerid,params[]) // playerid id игрока - парамс - параметры команды.
    {
       if(PlayerInfo[playerid][pAdmin] < 1); // Мы уже знаем , что это.
       if(sscanf(params, "d", params[0])) return SCM(playerid, COLOR_WHITE, "Введите: /sp [id]"); // И так. params это параметр команды , "d" это id кого-то игрока , если мы введём просто /sp нам выдаст сообщение "Введите: /sp id" А если мы укажем ид то будет работать команда.
       SpawnPlayer(params[0]); // SpawnPlayer - спавним игрока , params[0] это id игрока , то есть мы ввели /sp id(params[0]) игрока , и мы игрока заспавнили его..
       return 1;
    }

Позже ещё уроков по созданию команд напишу т.к мало времени , вроде понятно объяснил :) Всем добро и позитива.
P.S Если есть на форуме похожие уроки , простите не заметил тогда :3

 

  • Like 1

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


Ссылка на сообщение
Поделиться на другие сайты
SCRIPTMAN

А можно что-то посложнее?) 

Создание авто как минимум.

Кстати, вот тема лучше данной: Клик

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


Ссылка на сообщение
Поделиться на другие сайты
Vladimir_Kulkov

CMD:hp(playerid, params[])
{
if(PlayerInfo[playerid][pAdmin] < 1);
if(sscanf(params, "d", "s", params[0], params[1])) return SCM(playerid, COLOR_RED, "[Подсказка] /hp [id игрока] [количество hp]);
SetPlayerHealth(playerid,params[1]);
return 1;
}

Мне кажется более нормальным выдавать определенное здоровье.

P.s. прошу строго не судить если не так написал, писал с телефона

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


Ссылка на сообщение
Поделиться на другие сайты
SCRIPTMAN

@Vladimir_Kulkov,этого я не заметил, что он 100 дает) Опять-таки автор сам не умеет писать команды, вот так правильнее: 

CMD:hp(playerid, params[]){if(PlayerInfo[playerid][pAdmin] < 1);if(sscanf(params, "dd", params[0], params[1])) return SCM(playerid, COLOR_RED, "[Подсказка] /hp [id игрока] [количество hp]);SetPlayerHealth(playerid,params[1]);return 1;}

s - текст

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


Ссылка на сообщение
Поделиться на другие сайты
фучжинейк

Ну вот так вообще будет нормально

CMD:hp(playerid, params[]){    if(PlayerInfo[playerid][pAdmin] < 1);    if(sscanf(params, "dd", params[0], params[1])) return SCM(playerid, COLOR_RED, "[Подсказка] /hp [id игрока] [количество hp]");    SetPlayerHealth(playerid,params[1]);    return 1;}

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


Ссылка на сообщение
Поделиться на другие сайты
SCRIPTMAN

@фучжинейк,ой, точно. Кавычку не заметил, я еще думал, вот функция зеленого цвета. 

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


Ссылка на сообщение
Поделиться на другие сайты
Evgexa646
C:\Users\Evgenya\Desktop\GTA RolePlay\gamemodes\gtarp.pwn(3487) : error 017: undefined symbol "pAdmin"

C:\Users\Evgenya\Desktop\GTA RolePlay\gamemodes\gtarp.pwn(3487) : error 036: empty statement

C:\Users\Evgenya\Desktop\GTA RolePlay\gamemodes\gtarp.pwn(3488) : error 017: undefined symbol "COLOR_WHITE"

Pawn compiler 3.2.3664 Copyright © 1997-2016, ITB CompuPhase

 

 

3 Errors.

Выдает Ошибки

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


Ссылка на сообщение
Поделиться на другие сайты
Demons_Queens

@Evgexa646, pAdmin , замени на bAdmin. А COLOR_WHITE замени на 0xFFFFFFFF

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


Ссылка на сообщение
Поделиться на другие сайты
Rici

и в чем собственно урок? Вы просто взяли команду из мода и вставили сюда.Если бы это был урок,вы бы рассказали как делать команды на других движках,а тут что? Не вижу смысла этого урока.

  • Like 1

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


Ссылка на сообщение
Поделиться на другие сайты
Evgexa646
C:\Users\Evgenya\Desktop\GTA RolePlay\gamemodes\gtarp.pwn(3134) : error 036: empty statement

Pawn compiler 3.2.3664 Copyright © 1997-2016, ITB CompuPhase

 

 

1 Error.

 

 


 

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


Ссылка на сообщение
Поделиться на другие сайты
SCRIPTMAN

@Evgexa646,строку. 

Поправляли, поправляли выше команду, так и не поправили, так точно будет то, что нужно:

CMD:hp(playerid, params[])
{
    if(PlayerInfo[playerid][pAdmin] < 1);
    if(sscanf(params, "dd", params[0], params[1])) return SCM(playerid, COLOR_RED, "[Подсказка] /hp [id игрока] [количество hp]");
    SetPlayerHealth(params[0],params[1]);
    //еще много где используется массив, примерно "pHealth", можем сделать так:
    Player[playerid][pHealth] = params[1];
    return 1;
}

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


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

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

×

Важная информация

Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек.