Помощь и направление в Pawn | WILL BE

Сообщения
934
Реакции
186
Помог
4 раз(а)
WILL_BE, Ну тогда не знаю, для интереса проверил

Код:
if(has_user_custom_ethereal(id)){
     rg_remove_item(id, "weapon_aug")
}
            
rg_give_item(id, "weapon_aug", GT_REPLACE);
rg_set_user_bpammo(id, WEAPON_AUG, 90);
Конечно я не профессионал в павн, но по тесту сначала выдал костюмку, потом обычный AUG все прошло успешно из слота было удалено оружие, потом выдан стандартный AUG и в обратном порядке также успешно все, только я пренебрег удалением AUG из слота и сразу выдал костюмку с дропом на землю обычного AUG
 
Сообщения
452
Реакции
78
Помог
4 раз(а)
Проблему решил на примере из соседней темы про кастомные оружия, вывел в натив has_custom_item и все отлично
 
Сообщения
452
Реакции
78
Помог
4 раз(а)
Хотелось бы узнать точную информацию по return'ам, какие имеются, их точное и правильное использование (где, что, когда и как ставить) (увидел, что бывают 2 returna в одном куске кода HANDLED и CONTINUE).
7 Июн 2020
Желательно привести какой-то пример, где будут использоваться все return
 
Сообщения
225
Реакции
90
Помог
1 раз(а)
WILL_BE, return вообще используется для возвращения значения функции и завершения её работы. В pawn это или "инт" в любых его интерпитациях, или массив интов, или ничего (в этом случае функция как бы типа void).
По поводу констант в функциях в amx надо инклюды смотреть, по памяти точно не скажу.
PLUGIN_CONTINUE - не прекращать действие обрабатываемого события
PLUGIN_HANDLED - прекратить действие обрабатываемого события
 
Сообщения
3,328
Реакции
1,462
Помог
124 раз(а)
WILL_BE, читай инклуды, в каждом модуле свои ретурны
 
Сообщения
225
Реакции
90
Помог
1 раз(а)
fantom, поэтому и "как бы". Калькулятор варнинг выдаст если в одной функции один ретарн ничего не возвращает, а другой вернёт что-то, даже если это та же функция.
 
Сообщения
452
Реакции
78
Помог
4 раз(а)
Хорошо, благодарю, только немного не пойму для чего return continue немного
 
Сообщения
287
Реакции
223
Помог
6 раз(а)
Хорошо, благодарю, только немного не пойму для чего return continue немного
Код:
for(new i; i < 10; ++i)
{
    if(uje_s_yablokom(i)) // Пусть i будет равен 5
    {
        continue; // Оператор continue; начинает цикл с нуля - возвращаемся снова к for
                        // Если у игрока с итерацией 5 уже есть яблоко, то начинаем следующую итерацию, т.е. 6
    }

    derji_yabloko(i); // Выдаем игроку яблоко с итерацией 6, т.к. проверка на уже наличие яблока у данного игрока (игрок с i == 6) вернула false
}
Довольно-таки подробно разжевал в комментариях к коду. Надеюсь, поймешь
 
Последнее редактирование:
Сообщения
2,143
Реакции
1,223
Помог
44 раз(а)
WILL_BE, continue - игнорируя весь код дальше в теле цикла, делает новую итерацию по циклу, если еще проходит по условиям.
 
Сообщения
934
Реакции
186
Помог
4 раз(а)
Раз зашла речь про continue, тогда и стоит вписать break который делает принудительное завершение цикла (А в каких-то ЯП завершает условие switch-case)
 
Сообщения
225
Реакции
90
Помог
1 раз(а)
BiZaJe, и goto которым из вложенных циклов бывает удобно вылазить, чтобы кучу брэйков не городить.
 
Сообщения
225
Реакции
90
Помог
1 раз(а)
Minni, документация говорит, что есть, синтаксис как в плюсах.
Код:
funk ()
goto MARK;

second_funk ()
MARK:
 
Сообщения
1,667
Реакции
1,489
Помог
24 раз(а)
Minni, pawn language в гугле. Там целая книга есть по языку.
 
Сообщения
2,143
Реакции
1,223
Помог
44 раз(а)
А, лол. Рили есть. ?
 
Сообщения
2,491
Реакции
2,790
Помог
61 раз(а)
Хорошо, благодарю, только немного не пойму для чего return continue немного
Спокойно гуглите мануалы по любому императивному языку и там будут описаны данные конструкции. Почти любой Си-подобный язык имеет данные конструкции. Например тот же PHP, я думаю вам он будет понятен и прост. А информации по нему гораздо больше
 

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

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу