Demons_Queens 11 Опубликовано 18 августа, 2017 Всем привет , нет так я давно научился программированию.Так вот , хотел бы научить ещё кого-то программированию , а точнее создание команд на 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 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
SCRIPTMAN 358 Опубликовано 18 августа, 2017 А можно что-то посложнее?) Создание авто как минимум. Кстати, вот тема лучше данной: Клик Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Vladimir_Kulkov 87 Опубликовано 18 августа, 2017 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 358 Опубликовано 19 августа, 2017 @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 - текст Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
фучжинейк 16 Опубликовано 19 августа, 2017 Ну вот так вообще будет нормально 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 358 Опубликовано 19 августа, 2017 @фучжинейк,ой, точно. Кавычку не заметил, я еще думал, вот функция зеленого цвета. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Evgexa646 0 Опубликовано 23 сентября, 2017 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 11 Опубликовано 24 сентября, 2017 @Evgexa646, pAdmin , замени на bAdmin. А COLOR_WHITE замени на 0xFFFFFFFF Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Rici 158 Опубликовано 24 сентября, 2017 и в чем собственно урок? Вы просто взяли команду из мода и вставили сюда.Если бы это был урок,вы бы рассказали как делать команды на других движках,а тут что? Не вижу смысла этого урока. 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Evgexa646 0 Опубликовано 24 сентября, 2017 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 358 Опубликовано 29 сентября, 2017 @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; } Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты