Индивидуально в ЛС по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).
Стол заказов:
Мои работы:
Связаться со мной в VK можно через личные сообщения этой группы
Заказы не принимаю
Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
Великих идей полно, на них нет спроса.
Воплощение идеи в законченную игру требует долгой работы,
таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
Предложить идею просто, воплотить – вот в чём проблема
Steve Pavlina
MyProject:
DriftEmpire©
Ленивые всё делают быстро, чтобы поскорее избавиться от работы.
И делают качественно, чтобы потом не переделывать.
Следует обновить статью, поскольку фикс был принят.
Кроме того, теперь можно обновить библиотеки, в которых есть обход данной ошибки, чтобы не генерировать бесполезный байт-код.
Скорее всего это опечатка, ведь в Pawn нет препроцессорной директивы '#elif', ибо вместо неё есть '#elseif'.
Следует заметить, что в инклюдах генерируется полный путь к файлу, а в исходных файлах только лишь название этого файла.
Последний раз редактировалось VVWVV; 02.08.2017 в 00:55.
Можно было бы определить наличие фикса по значению в константе __PawnBuild, но его так и не повысили.
Да, действительно. Исправил.
Не совсем. Допустим, что сервер находится в папке "C:\MyServer". Для исходного файла выдаётся полное имя.
Пример:
Для инклуда, подключенного с указанием относительного пути, выдаёт относительный путь:Код:C:\MyServer\gamemodes\main.pwn
PHP код:
#include "../include/test.inc"
Для остальных способов подключения в __file тоже полное имя:Код:../include/test.inc
PHP код:
#include <test>
#include "test.inc"
#include <test.inc>
#include "test"
#include test
Код:C:\MyServer\pawno\include\test.inc
Индивидуально в ЛС по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).
Стол заказов:
Мои работы:
Похоже, компилятор не правильно компилирует конструкцию вида -
Выдаёт:PHP код:
if(clickedid == TD_join[3])
if(--model_number < 0) model_number = 7;
else if(clickedid == TD_join[4])
if(++model_number >= 8) model_number = 0;
Однако, если скомпилировать вот так:PHP код:
warning 217: loose indentation
Ошибка пропадает, однако вторая часть конструкции:PHP код:
if(clickedid == TD_join[3]) if(--model_number < 0) model_number = 7;
else if(clickedid == TD_join[4]) if(++model_number >= 8) model_number = 0;
Работает некорректно (точнее вовсе не работает).PHP код:
else if(clickedid == TD_join[4]) if(++model_number >= 8) model_number = 0;
Версия последняя:
Если кто пользуется данным компилятором, проверьте проблему.PHP код:
Pawn compiler 3.10.2 Copyright (c) 1997-2006, ITB CompuPhase
Компилятор всё делает правильно. Оператор else относится к последнему встреченному if, а не к первому.
Если сделать правильное выравнивание, код будет выглядеть так:
Или даже так:PHP код:
if(clickedid == TD_join[3])
if(--model_number < 0) model_number = 7;
else if(clickedid == TD_join[4])
if(++model_number >= 8) model_number = 0;
Если же вы хотите, чтобы код в else относился к первому if, выделяйте тело ветвления фигурными скобками:PHP код:
if(clickedid == TD_join[3])
if(--model_number < 0) model_number = 7;
else
if(clickedid == TD_join[4])
if(++model_number >= 8) model_number = 0;
UPD: Насколько помню, такая задача в стиле "Найди ошибку" даже есть в ЕГЭ по информатике. Или, по крайней мере, была там 5 лет тому назад.PHP код:
if(clickedid == TD_join[3])
{
if(--model_number < 0) model_number = 7;
}
else if(clickedid == TD_join[4])
{
if(++model_number >= 8) model_number = 0;
}
Индивидуально в ЛС по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).
Стол заказов:
Мои работы:
Связаться со мной в VK можно через личные сообщения этой группы
Заказы не принимаю
Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
Великих идей полно, на них нет спроса.
Воплощение идеи в законченную игру требует долгой работы,
таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
Предложить идею просто, воплотить – вот в чём проблема
Steve Pavlina
Индивидуально в ЛС по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).
Стол заказов:
Мои работы:
Связаться со мной в VK можно через личные сообщения этой группы
Заказы не принимаю
Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
Великих идей полно, на них нет спроса.
Воплощение идеи в законченную игру требует долгой работы,
таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
Предложить идею просто, воплотить – вот в чём проблема
Steve Pavlina
Эту тему просматривают: 4 (пользователей: 0 , гостей: 4)