Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Страница 2 из 2 ПерваяПервая 1 2
Показано с 11 по 19 из 19
  1. #11
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Цитата Сообщение от Mike_World Посмотреть сообщение
    Wise, можешь подробно объяснить про SetPvarInt? Не оч понятно если честно, а на английском тоже не тема =)
    Без английского в программировании никуда. Так что пользуйся переводчиком и пытайся разбираться, попутно запоминая перевод тех или иных слов. Без этого ты далеко не уйдёшь, ибо в большинстве своём русскоязычные статьи (а тем более - переводы) содержат в себе некорректную/устаревшую информацию.


    По поводу pVar - не используй их пока. Используй обычные переменные. Тебе бы в них хотя бы разобраться
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

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

    Статус
    Оффлайн
    Регистрация
    21.12.2016
    Адрес
    Орша, Беларусь
    Сообщений
    26
    Репутация:
    1 ±
    Цитата Сообщение от Wise Посмотреть сообщение
    PHP код:
    SetPVarInt(playeridvarname[], int_value); 
    playerid - ID игрока, который "запоминает" значение int_value.
    varname[] - название "временной переменной".
    int_value - значение.

    PHP код:
    SetPVarInt(playerid"id_when_cmd_test"giveplayerid); 
    В данном случае мы записали для игрока, который ввёл команду - ID игрока, которому мы собираемся что-либо выдать.
    Название переменной может быть любое.
    Я не знаю, как ещё можно доступнее объяснить.
    Вдублил, спасибо)

    - - - Добавлено - - -

    Цитата Сообщение от DeimoS Посмотреть сообщение
    Без английского в программировании никуда. Так что пользуйся переводчиком и пытайся разбираться, попутно запоминая перевод тех или иных слов. Без этого ты далеко не уйдёшь, ибо в большинстве своём русскоязычные статьи (а тем более - переводы) содержат в себе некорректную/устаревшую информацию.


    По поводу pVar - не используй их пока. Используй обычные переменные. Тебе бы в них хотя бы разобраться
    Я знаю английский, но на уровне школьника. Понимаю, но не дословно.

    - - - Добавлено - - -

    Цитата Сообщение от DeimoS Посмотреть сообщение
    Без английского в программировании никуда. Так что пользуйся переводчиком и пытайся разбираться, попутно запоминая перевод тех или иных слов. Без этого ты далеко не уйдёшь, ибо в большинстве своём русскоязычные статьи (а тем более - переводы) содержат в себе некорректную/устаревшую информацию.


    По поводу pVar - не используй их пока. Используй обычные переменные. Тебе бы в них хотя бы разобраться
    А как обойти эти pVar? Я там нечайно сообщение отправил лишнее.
    Мои работы:


    _______________________________
    Не будь как все, выделяйся из стада.

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

    Статус
    Оффлайн
    Регистрация
    30.10.2014
    Сообщений
    148
    Репутация:
    37 ±
    Цитата Сообщение от Mike_World Посмотреть сообщение
    А как обойти эти pVar? Я там нечайно сообщение отправил лишнее.
    Delete.
    Последний раз редактировалось Wise; 25.12.2016 в 14:17.
    Pawn - странный предмет. Вроде понимаешь, а вроде бы нет.

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

    Статус
    Оффлайн
    Регистрация
    21.12.2016
    Адрес
    Орша, Беларусь
    Сообщений
    26
    Репутация:
    1 ±
    Цитата Сообщение от Wise Посмотреть сообщение
    Используй массивы.
    Вот смотри
    PHP код:
     SetPVarInt(playerid"id_when_cmd_test"giveplayerid); 
    Тут имя "id_when_cmd_test", а можно вообще дать ей имя "takprosto"?
    И как с помощью массивов сделать такую вещь, как я и хотел.
    Мои работы:


    _______________________________
    Не будь как все, выделяйся из стада.

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

    Статус
    Оффлайн
    Регистрация
    30.10.2014
    Сообщений
    148
    Репутация:
    37 ±
    Цитата Сообщение от Mike_World Посмотреть сообщение
    Вот смотри
    PHP код:
     SetPVarInt(playerid"id_when_cmd_test"giveplayerid); 
    Тут имя "id_when_cmd_test", а можно вообще дать ей имя "takprosto"?
    И как с помощью массивов сделать такую вещь, как я и хотел.
    Название может быть любым, главное, чтобы ты понимал что это и где находится (если для себя делаешь).

    PHP код:
    new id_when_cmd_test[MAX_PLAYERS] = INVALID_PLAYER_ID
    PHP код:
    CMD:test(playeridparams[])
    {
        new 
    giveplayerid;
        if(
    sscanf(params"d"giveplayerid)) return SendClientMessage(playerid, -1"Введите: /test [id игрока].");
        if(!
    IsPlayerConnected(giveplayerid)) return SendClientMessage(playerid, -1"Игрок не в сети.");
        
    ShowPlayerDialog(playerid40DIALOG_STYLE_LIST"RP ресурсы""1. Выдать деньги""Выбрать""Закрыть");
        
    id_when_cmd_test[playerid] = giveplayerid;
        return 
    1;

    OnDialogResponse:
    PHP код:
        case 41:
        {
          if(
    response)
          {
            if(!
    strval(inputtext))
            {
               
    ShowPlayerDialog(playerid41DIALOG_STYLE_INPUT"RP ресурсы""Введите кол-во:""Выдать""Закрыть");
               return 
    SendClientMessage(playerid, -1"Вы ничего не ввели или ввели '0'.");
            }
            
    GivePlayerMoney(id_when_cmd_test[playerid], strval(inputtext));
            
    id_when_cmd_test[playerid] = INVALID_PLAYER_ID;
          }
          else return 
    id_when_cmd_test[playerid] = INVALID_PLAYER_ID;
        } 
    Pawn - странный предмет. Вроде понимаешь, а вроде бы нет.

  6. Пользователь сказал cпасибо:
    Mike_World (25.12.2016)
  7. #16
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Цитата Сообщение от Wise Посмотреть сообщение
    PHP код:
    new id_when_cmd_test[MAX_PLAYERS] = INVALID_PLAYER_ID
    Не совсем верный подход. Сейчас ты присвоил значение лишь нулевой ячейке. То, что ты хотел сделать, нужно делать так
    PHP код:
    new id_when_cmd_test[MAX_PLAYERS] = {INVALID_PLAYER_IDINVALID_PLAYER_ID, ...}; 
    - - - Добавлено - - -

    И диалог как-то странно оформлен. Лучше уж так
    PHP код:
    case 41:
    {
        if(
    response)
        {
            if(!
    strval(inputtext))
            {
                
    ShowPlayerDialog(playerid41DIALOG_STYLE_INPUT"RP ресурсы""Введите кол-во:""Выдать""Закрыть");
                return 
    SendClientMessage(playerid, -1"Вы ничего не ввели или ввели '0'.");
            }
            
    GivePlayerMoney(id_when_cmd_test[playerid], strval(inputtext));
        }
        
    id_when_cmd_test[playerid] = INVALID_PLAYER_ID;
        return 
    1;

    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  8. Пользователь сказал cпасибо:
    Wise (25.12.2016)
  9. #17
    Аватар для Mike_World
    Пользователь

    Статус
    Оффлайн
    Регистрация
    21.12.2016
    Адрес
    Орша, Беларусь
    Сообщений
    26
    Репутация:
    1 ±
    Цитата Сообщение от Wise Посмотреть сообщение
    PHP код:
    CMD:test(playeridparams[])
    {
        new 
    giveplayerid;
        if(
    sscanf(params"d"giveplayerid)) return SendClientMessage(playerid, -1"Введите: /test [id игрока].");
        if(!
    IsPlayerConnected(giveplayerid)) return SendClientMessage(playerid, -1"Игрок не в сети.");
        
    ShowPlayerDialog(playerid40DIALOG_STYLE_LIST"RP ресурсы""1. Выдать деньги""Выбрать""Закрыть");
        
    SetPVarInt(playerid"id_when_cmd_test"giveplayerid);
        
    // записываем в pVar ID игрока, которому хотим что-либо выдать.
        
    return 1;

    OnDialogResponse:
    PHP код:
        case 40:
        {
          if(
    response)
          {
            switch(
    listitem)
            {
              case 
    0ShowPlayerDialog(playerid41DIALOG_STYLE_INPUT"RP ресурсы""Введите кол-во:""Выдать""Закрыть");
              
    // скорее всего у тебя ещё будут какие-либо ресурсы, раз ты начал перечисление в диалоге, если нет, то switch убираем.
            
    }
          }
          else return 
    DeletePVar(playerid"id_when_cmd_test");;
        }
        case 
    41:
        {
          if(
    response)
          {
            new 
    id GetPVarInt(playerid"id_when_cmd_test");
            if(!
    strval(inputtext))
            {
               
    ShowPlayerDialog(playerid41DIALOG_STYLE_INPUT"RP ресурсы""Введите кол-во:""Выдать""Закрыть");
               return 
    SendClientMessage(playerid, -1"Вы ничего не ввели или ввели '0'.");
            }
            
    GivePlayerMoney(idstrval(inputtext));
            
    DeletePVar(playerid"id_when_cmd_test");
          }
          else return 
    DeletePVar(playerid"id_when_cmd_test");
        } 
    UPD: Обновил пост.
    Можешь в коде комменты расставить? Объясни как первоклашке. =)
    Типо такого.
    PHP код:
    if(response// если нажали левую кнопку
    {
         
    // то тут будут какие то действия
    }
    else 
    // если нажмем правую кнопку
    {
        
    // то будут такие действия

    Мои работы:


    _______________________________
    Не будь как все, выделяйся из стада.

  10. #18
    Аватар для vovandolg
    Пользователь

    Статус
    Оффлайн
    Регистрация
    17.11.2015
    Адрес
    Stavropol
    Сообщений
    1,369
    Репутация:
    113 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Не совсем верный подход. Сейчас ты присвоил значение лишь нулевой ячейке. То, что ты хотел сделать, нужно делать так
    PHP код:
    new id_when_cmd_test[MAX_PLAYERS] = {INVALID_PLAYER_IDINVALID_PLAYER_ID, ...}; 
    А зачем тут INVALID_PLAYER_ID продублирован? Фишка какая то?
    [Anticheat]___Invisible Fly Hack
    [Anticheat]____Weapon/Ammo Hack
    [Function]______ResetPlayerWeaponSlot
    [Function]_______FIX_SetPlayerAmmo
    [ServerMod]______TDM | Zombie Apokalypse

  11. #19
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Цитата Сообщение от vovandolg Посмотреть сообщение
    А зачем тут INVALID_PLAYER_ID продублирован? Фишка какая то?
    Исключительно для наглядности (чтоб было понятно, что ячейки заполнены одинаковыми значениями). Из разряда привычек "фишка"
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  12. Пользователь сказал cпасибо:
    vovandolg (30.12.2016)
 

 
Страница 2 из 2 ПерваяПервая 1 2

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

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

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

Ваши права

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