В теме 1 сообщение

1. Описание команды.

Данная команда позволяет изменить здоровье игроку на указанное Вами. Вы можете не вписывать количество здоровья, чтобы выдать 0.0. Также, помимо /sethp, Вы можете использовать и /sethealth.

2. Код команды (для командных процессоров pawncmd, zcmd, dc_cmd).

CMD:sethp(playerid, params[])
{
	static const MSG_USE_CMD[] = !"Используйте /sethp [playerid] [количество здоровья]";
	
	if(isnull(params))
		return SendClientMessage(playerid, -1, MSG_USE_CMD) & 0;
	new id, Float:health;
	if(sscanf(params, "uf(0.0)", id, health))
		return SendClientMessage(playerid, -1, MSG_USE_CMD) & 0;
	else if(id == INVALID_PLAYER_ID)
		return SendClientMessage(playerid, -1, !"Указанный игрок не в сети.") & 0;
	else if(!(0.0 <= health <= 100.0))
		return SendClientMessage(playerid, -1, !"Количество здоровья должно находиться в диапозоне 0.0-100.0") & 0;
	
	SetPlayerHealth(id, health);
	return 1;
}
alias:sethp("sethealth");

3. Примечание.

У вас может возникнуть ошибка на неизвестный символ isnull. В случае ее возникновения в начало мода следует добавить следующее:

#if !defined isnull
	#define isnull(%0) \
		((!(%0[0])) || (((%0[0]) == '\1') && (!(%0[1]))))
#endif	

 

Отредактировано пользователем odosenok
Причина: изменение оформления и команды.

Заметка от Cawfee , создано

К сожалению, данное решение актуально не для всех модов. Большинство пользователей, вставивших эту команду в свой мод, лишь встретятся с ошибками, которые не смогут исправить... Пожалуйста, перед публикацией новых тем, продумайте этот момент, в противном случае последующие темы будем удалять.

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


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

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

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

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

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


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

Войти

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


Войти

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

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

  • Похожий контент

    • SheikhMAN
      От SheikhMAN
      Приветствую коллеги, столкнулся с проблемой считаю что решить её достаточно легко (но мой мозг отказывается думать). 
      Пытаюсь загрузить "Password" в итоге он не загружается по каким-то причинам. Вот сам код.
      new rows;     cache_get_row_count(rows);     cache_get_value_name(0, "Password", player_info[playerid][S_PASSWORD], 32);     if(rows) ShowLogin(playerid);     else ShowRegistration(playerid) Ошибка находится в
       
      public OnPlayerConnect(playerid) {     GetPlayerName(playerid, player_info[playerid][S_NAME], MAX_PLAYER_NAME);     static const fmt_query[] = "SELECT `id` FROM `users` WHERE `name` = '%s'";     new query[sizeof(fmt_query)+(-2+MAX_PLAYER_NAME)];     format(query, sizeof(query), fmt_query, player_info[playerid][S_NAME]);     mysql_tquery(dbHandle, query, "CheckRegistration", "i", playerid);     return 1; }     new rows;     cache_get_row_count(rows);     cache_get_value_name(0, "Password", player_info[playerid][S_PASSWORD], 32);     if(rows) ShowLogin(playerid);     else ShowRegistration(playerid);  
      cache_get_value_name(0, "Password", player_info[playerid][S_PASSWORD], 32); Код ошибки 
      [04/28/24 12:46:40] [ERROR] cache_get_value_name: field 'Password' not found Буду рад всем помогающим, желаю всем добра!
    • SheikhMAN
      От SheikhMAN
      Цель: Хочу сделать систему авторизации, нужно сделать чтобы шла проверка через mysql игрока т.е какой пароль у данного игрока так-же узнавался пароль, если данный пароль не совпадает тогда пишет что "Пароль не верен!"
      Что нужно сделать: Нашёл данный скрипт, помогите решить проблему (прикрепил файлик)
      new db_password[sizeof(player_info[playerid][S_PASSWORD])];     cache_get_field_content(0, "password", db_password, dbHandle);     new resultat = !strcmp(inputtext, db_password);     if(resultat) SCM(playerid, COLOR_WHITE, "Пароль верный!"), SpawnPlayer(playerid);     else SCM(playerid, COLOR_RED, "Не верный!"), ShowLogin(playerid);  Проблема находится в  -
      new db_password[sizeof(player_info[playerid][S_PASSWORD])]; Сама ошибка - 
      error 001: expected token: "]", but found "-identifier-" warning 215: expression has no effect error 001: expected token: ";", but found "]" error 029: invalid expression, assumed zero  fatal error 107: too many error messages on one line Коллеги прошу помощи, мне кажется здесь не столь так тяжело, возможно я устал мне нужен отдых, но очень хочу дописать скрипт.