CMD:sethp(playerid, params[]) { if(PlayerInfo[playerid][pAdmin] <= 2) return SCM(playerid, -1, "[Ошибка] {FFFFFF}У вас нету доступа к команде"); // проверка на администратора new to_player, Float: health; if(sscanf(params, "dd", to_player, health)) return SendClientMessage(playerid, -1, "[Ошибка] {FFFFFF}Используйте /sethp [ ID ][ AMOUNT ]"); if(health > 160 || health < 0) return SendClientMessage(playerid, -1, "[Ошибка] {FFFFFF}Неверное значение"); if(!IsPlayerConnected(playerid)) return 1; if(!IsPlayerConnected(to_player)) return SendClientMessage(playerid, -1, "[Ошибка] {FFFFFF}Данного игрока нет в сети"); new name[24 + 1] GetPlayerName(playerid, name, sizeof name); new to_name[24 + 1]; GetPlayerName(to_player, to_name, sizeof to_name); new string[144]; format(string, sizeof(string), "A: %s[%i] выдал игроку %s[%i] здоровье. Количество: %d", name, playerid, to_name, to_player, health); SendAdmindMessage(-1, string); SetPlayerHealth(to_player, health); return 1; }
Команда для выдачи ХП
#1
Отправлено 20 октября 2023 - 21:36
Ребята, всём привет, сливаю вам свою первую команду если что не судите строго, итак начнем!
#2
Отправлено 20 октября 2023 - 21:52
Dorime (20 октября 2023 - 21:36) писал:
Нажмите сюда, чтобы прочитать это сообщение. [Показать]
Зачем ты используешь спецификатор строки в sscanf для извлечения игрока? Для этих целей существуют спецификаторы u и r, полный список спецификаторов https://github.com/Y...canf#specifiers
Что это за команда? sethp? А что там делает GivePlayerWeapon? Ты вообще этот код запускал?
Зачем ты делаешь бесполезную проверку
if(!IsPlayerConnected(playerid)) return 1;
как игрок впишет команду если он не подключен?
какой смысл в фигурных скобках в
{ SetPlayerHealth(params[0], params[1]) }
?
и пожалуйста, для приличия, для всех пользователей поставь ;
Сообщение отредактировал Tornamic: 20 октября 2023 - 22:15
#3
Отправлено 20 октября 2023 - 21:57
Конкретный тролль на форуме завелся однако
Команда выдачи здоровья, но в результате мы получаем оружие (хотя не получаем, кажется не хватает еще одного параметра с кол-во патрон)
Параметры форматирования "sd", хотя по твоей логике оба параметра - целые числа
Ахах ржу почему-то, проверка if(params[1] > 160 || < 0), условие после ИЛИ как-то не звучит
Далее мы видим проверку if(!IsPlayerConnected(params[0])), у которой два результата, ретёрн и действие в фигурных скобках
юзает макрос SCM и SendClientMessage одновременно, да и что за цвет такой error?
А вообще, будет мне что-нибудь за то что я весь твой кроссворд разгадал?
Дополню: чел реально сам компилятор, он тут решает реальность
Команда выдачи здоровья, но в результате мы получаем оружие (хотя не получаем, кажется не хватает еще одного параметра с кол-во патрон)
Параметры форматирования "sd", хотя по твоей логике оба параметра - целые числа
Ахах ржу почему-то, проверка if(params[1] > 160 || < 0), условие после ИЛИ как-то не звучит
Далее мы видим проверку if(!IsPlayerConnected(params[0])), у которой два результата, ретёрн и действие в фигурных скобках
юзает макрос SCM и SendClientMessage одновременно, да и что за цвет такой error?
А вообще, будет мне что-нибудь за то что я весь твой кроссворд разгадал?
Дополню: чел реально сам компилятор, он тут решает реальность
Сообщение отредактировал shinra.tensei: 20 октября 2023 - 21:59
#9
Отправлено 20 октября 2023 - 22:05
Dorime (20 октября 2023 - 21:36) писал:
Нажмите сюда, чтобы прочитать это сообщение. [Показать]
Я вставил команду а у меня ошибки помоги
mod.pwn(40) : error 017: undefined symbol "PlayerInfo" mod.pwn(40) : warning 215: expression has no effect mod.pwn(40) : error 001: expected token: ";", but found "]" mod.pwn(40) : error 029: invalid expression, assumed zero mod.pwn(40) : fatal error 107: too many error messages on one line Compilation aborted. 4 Errors.
#10
Отправлено 20 октября 2023 - 22:12
Tornamic (20 октября 2023 - 22:05) писал:
Нажмите сюда, чтобы прочитать это сообщение. [Показать]
CMD:sethp(playerid, params[]) { // проверка на администратора if(sscanf(params, "dd", params[0], params[1])) return SendClientMessage(playerid,error, "{FF6347}[Ошибка] {FFFFFF}Используйте /sethp [ ID ][ AMOUNT ]"); if(params[1] > 160 || params[1] < 0) return SendClientMessage(playerid, error, "{FF6347}[Ошибка] {FFFFFF}Неверное значение"); if(!IsPlayerConnected(playerid)) return 1; if(!IsPlayerConnected(params[0])) return SendClientMessage(playerid, error, "{FF6347}[Ошибка] {FFFFFF}Данного игрока нет в сети"); { SetPlayerHealth(params[0], params[1]); } return 1; }