Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 5 из 5
  1. #1
    Аватар для Straik32423
    Пользователь

    Статус
    Оффлайн
    Регистрация
    16.06.2015
    Адрес
    Ростов-на-Дону, Россия
    Сообщений
    23
    Репутация:
    1 ±

    Восстановить изначальный вид T/C

    Привет. Такой вопрос. Допустим, я хочу сделать команду /hp.
    Если человек в машине, то починить машину и установить игроку 244 хп.
    Если же игрок не в машине, тогда просто установить ему 244 хп.
    И вот сам вопрос, как вернуть машине ее первоначальный вид? То есть, когда я ввожу /hp, моей машине ставится 1000 хп, но при этом она выглядит разломанной. С помощью какой функции ей можно придать целый вид?
    PHP код:
    CMD:hp(playeridparams[])
    {
        if(
    pInfo[playerid][pLogged] == false) return SCM(playeridCOLOR_RED"[Server]: Вы не авторизованы!");
        if(
    pInfo[playerid][pAdmin] < 3) return SCM(playeridCOLOR_RED"Вам недоступна данная команда!");
        if(
    GetPlayerState(playerid) == PLAYER_STATE_ONFOOT) return SetPlayerHealth(playerid244.0);
        new 
    vehid GetPlayerVehicleID(playerid);
        
    SetVehicleHealth(vehid1000);
        
    SetPlayerHealth(playerid244.0);
        return 
    true;


  2. #2
    Аватар для Wise
    Пользователь

    Статус
    Оффлайн
    Регистрация
    30.10.2014
    Сообщений
    148
    Репутация:
    37 ±
    PHP код:
    CMD:hp(playeridparams[])
    {
        if(
    pInfo[playerid][pLogged] == false) return SCM(playeridCOLOR_RED"[Server]: Вы не авторизованы!");
        if(
    pInfo[playerid][pAdmin] < 3) return SCM(playeridCOLOR_RED"Вам недоступна данная команда!");
        if(
    IsPlayerInAnyVehicle(playerid)) RepairVehicle(GetPlayerVehicleID(playerid));
        
    SetPlayerHealth(playerid244.0);
        return 
    1;

    Держи. Убрал лишний код.
    Будет работать, как ты описал выше.

  3. #3
    Аватар для $continue$
    Пользователь

    Статус
    Оффлайн
    Регистрация
    02.08.2014
    Адрес
    г. Киров (aka Вятка)
    Сообщений
    1,487
    Репутация:
    276 ±
    Цитата Сообщение от Wise Посмотреть сообщение
    PHP код:
    CMD:hp(playeridparams[])
    {
        if(
    pInfo[playerid][pLogged] == false) return SCM(playeridCOLOR_RED"[Server]: Вы не авторизованы!");
        if(
    pInfo[playerid][pAdmin] < 3) return SCM(playeridCOLOR_RED"Вам недоступна данная команда!");
        if(
    IsPlayerInAnyVehicle(playerid)) RepairVehicle(GetPlayerVehicleID(playerid));
        
    SetPlayerHealth(playerid244.0);
        return 
    1;

    Держи. Убрал лишний код.
    Будет работать, как ты описал выше.
    Скорее всего SetPlayerHealt тоже выполниться... Надо if/else
    PHP код:
    CMD:hp(playeridparams[])
    {
        if(
    pInfo[playerid][pLogged] == false)
            return 
    SendClientMessage(playeridCOLOR_RED"[Server]: Вы не авторизованы!");
        if(
    pInfo[playerid][pAdmin] < 3)
            return 
    SendClientMessage(playeridCOLOR_RED"Вам недоступна данная команда!");
        new 
    vehicle_id GetPlayerVehicleID(playerid);
        if(
    vehicle_id == 0)
        {
            const 
    FloatPLAYER_HEALTH 244.0;
            
    SetPlayerHealth(playeridPLAYER_HEALTH);
        }
        else return 
    RepairVehicle(vehicle_id);


  4. #4
    Аватар для Wise
    Пользователь

    Статус
    Оффлайн
    Регистрация
    30.10.2014
    Сообщений
    148
    Репутация:
    37 ±
    Цитата Сообщение от Bublik_Public Посмотреть сообщение
    Скорее всего SetPlayerHealt тоже выполниться... Надо if/else
    PHP код:
    CMD:hp(playeridparams[])
    {
        if(
    pInfo[playerid][pLogged] == false)
            return 
    SendClientMessage(playeridCOLOR_RED"[Server]: Вы не авторизованы!");
        if(
    pInfo[playerid][pAdmin] < 3)
            return 
    SendClientMessage(playeridCOLOR_RED"Вам недоступна данная команда!");
        new 
    vehicle_id GetPlayerVehicleID(playerid);
        if(
    vehicle_id == 0)
        {
            const 
    FloatPLAYER_HEALTH 244.0;
            
    SetPlayerHealth(playeridPLAYER_HEALTH);
        }
        else return 
    RepairVehicle(vehicle_id);

    Так он и хотел так сделать. Прочти внимательно.
    Если человек в машине, то починить машину и установить игроку 244 хп.
    Если же игрок не в машине, тогда просто установить ему 244 хп.
    Мы здесь не так часто используем функцию GetPlayerVehicleID. Создавать переменную бессмысленно.

  5. 3 пользователя(ей) сказали cпасибо:
    $continue$ (10.07.2015) L0ndl3m (10.07.2015) Straik32423 (10.07.2015)
  6. #5
    Аватар для $continue$
    Пользователь

    Статус
    Оффлайн
    Регистрация
    02.08.2014
    Адрес
    г. Киров (aka Вятка)
    Сообщений
    1,487
    Репутация:
    276 ±
    Цитата Сообщение от Wise Посмотреть сообщение
    Так он и хотел так сделать. Прочти внимательно.

    Мы здесь не так часто используем функцию GetPlayerVehicleID. Создавать переменную бессмысленно.
    И вправду не дочитал...
    Тогда так, на счет переменной она используется 2 раза, зачем ей вызывать 2 раза?
    Так сделано что бы не вызывать ещё одну нативную функцию...
    PHP код:
    CMD:hp(playeridparams[])
    {
        if(
    pInfo[playerid][pLogged] == false)
            return 
    SendClientMessage(playeridCOLOR_RED"[Server]: Вы не авторизованы!");
        if(
    pInfo[playerid][pAdmin] < 3)
            return 
    SendClientMessage(playeridCOLOR_RED"Вам недоступна данная команда!");

        new 
    vehicle_id GetPlayerVehicleID(playerid);
        
    // для удобство, что бы не трогая функцию, можно было изминить значение для ХП
        
    const FloatPLAYER_HEALTH 244.0

        if(
    vehicle_id != 0)
            
    RepairVehicle(vehicle_id);
        
    SetPlayerHealth(playeridPLAYER_HEALTH);
        return 
    1;


  7. Пользователь сказал cпасибо:
    Wise (10.07.2015)
 

 

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •