Перейти к содержанию
Авторизация  
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-файлов, или продолжить без изменения настроек.