XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Академия: форум для вопросов> Jass
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Очень частые ошибки, выдаваемые JNGP

((центр
НА АНГЛИЙСКОМ ДОЛЖЕН БЫТЬ ПУТЬ К КАРТЕ, НА АНГЛИЙСКОМ!
))
  • "wehack.lua:437: attempt to index global 'rtc_enabled'(a nil value)" - Решение, Ещё решение
  • Так же можно убрать галочку с "Reinventing the craft"
  • При проверке через ctrl+f9 карта не запускается - а вылетает в главное меню, как этого избежать?
  • Сначала 2 раза сохраните карту обычным способом (ctrl+s), лишь потом проверяйте.
  • При первом открытии карты, после запуска редактора, появляются "Ошибки базы данных триггеров" - Решение
Вопросы связанные с этими ошибками будут караться, как флуд.
Для проверки правильности кода не следует использовать Syntax Check (он работает неправильно), просто пересохраните карту.

Пришедшим впервые

Советуем ознакомиться со всей базой статей по триггерам редактора (и не только).

Оптимальные настройки JNGP (идут по-умолчанию при установке Exp2)

После применения настроек редактор нужно перезапустить!

Работа дополнений из меню «Extensions»

Чтобы заработали пункты из меню «Extensions», необходимо предварительно сохранить карту и перезапустить редактор.

Сообщение о вирусах

Некоторые антивирусы могут сообщать о наличии резидентных программ, это так и есть, но все содержимое архива безвредно.

Закрытая тема
 
adic3x

offline
Опыт: 108,439
Активность:
Цитата:
но в новой версии профиксили Return Bug

?! это не возможно...) + РБ не зависит от ген пака, он зависит тока от вара
Старый 17.10.2008, 10:17
Hellfim
Новичок
offline
Опыт: 79,707
Активность:
Тут вроде должна быть подсветка синтаксиса, или я не прав?
Старый 17.10.2008, 19:22
Лось

offline
Опыт: 7,223
Активность:
Да есть, если у тебя не работает включи TESH.
Старый 17.10.2008, 19:27
adic3x

offline
Опыт: 108,439
Активность:
должна) ставь галочку напротив включения УМС_ВЕ (вверху в новых подменюшках), перезапускай редактор, и в редакторе тригеров тоже в подменюшках может надо поставить галочку...
Старый 17.10.2008, 19:29
Hellfim
Новичок
offline
Опыт: 79,707
Активность:
Лось, стояло
ADOLF, спасибо помогло. Ты сегодня не играл в доту на морфе?
Старый 17.10.2008, 19:32
J
expert
offline
Опыт: 48,447
Активность:
бред уважаый, зачем тут ваообще I2L?

Отредактировано Jon, 17.10.2008 в 23:06.
Старый 17.10.2008, 23:01
Hellfim
Новичок
offline
Опыт: 79,707
Активность:
Jon
Насчет RB у меня вар почему-то пишет ошибку, если юзать I2H.
И По генпаку, как убрать выделение? А то оно мне все строку закрывает. Альфа канал стоит 0, если поставить 100, то все закрывается цветом.

Hellfim добавил:
И какая польза от макротекста? Я если честно не понял...

Отредактировано Hellfim, 18.10.2008 в 15:44.
Старый 18.10.2008, 16:27
ShadoW DaemoN

offline
Опыт: 37,078
Активность:
Меньше писать... Но это всего лишь одно из преимуществ.
Пример использования:
Код:
//! textmacro scv_get takes name, type
function GetHandle$name$ takes handle h, string key returns $type$
  return GetStoredInteger(gc, I2S(H2I(h)), key)
  return null
endfunction
//! endtextmacro

//! runtextmacro scv_get("Unit", "unit")
//! runtextmacro scv_get("Lightning", "lightning")          
//! runtextmacro scv_get("Effect", "effect")

Другое применение - если мы хотим использовать однотипные куски кода в разных местах, но поместить в функцию не можем/не хотим. Пример можешь посмотреть в работе Адольфа на конкурс здесь.
Старый 18.10.2008, 17:23
Hellfim
Новичок
offline
Опыт: 79,707
Активность:
ShadoW DaemoN
хм, получается, что образуется новая функция при макротексте, со своими параметрами?
Старый 18.10.2008, 18:08
ShadoW DaemoN

offline
Опыт: 37,078
Активность:
Да, вышеуказанный код jasshelper скомпилирует в это:
Код:
//textmacro instance: scv_get("Unit", "unit")
function GetHandleUnit takes handle h, string key returns unit
  return GetStoredInteger(gc, I2S(H2I(h)), key)
  return null
endfunction
//end of: scv_get("Unit", "unit")

//textmacro instance: scv_get("Lightning", "lightning")
function GetHandleLightning takes handle h, string key returns lightning
  return GetStoredInteger(gc, I2S(H2I(h)), key)
  return null
endfunction
//textmacro instance: scv_get("Lightning", "lightning")

//textmacro instance: scv_get("Effect", "effect")
function GetHandleEffect takes handle h, string key returns effect
  return GetStoredInteger(gc, I2S(H2I(h)), key)
  return null
endfunction
//end of: scv_get("Effect", "effect")
Старый 18.10.2008, 18:19
DFlyer
<3 MJ
offline
Опыт: 42,879
Активность:
При запуске JNGP антивирус обнаружил угрозу в файле bin\japi.dll и удалил его. За что отвечает этот файл? Как повлияет это на работоспособнсть? Времени особо тестить не было, по крайней мере запускается, с ошибкой
Цитата:
Error: Couldn't open japi.dll
Старый 19.10.2008, 20:21
Hellfim
Новичок
offline
Опыт: 79,707
Активность:
Попробовал использовать макротекст, чет не работает, где я неправильно пишу?
» Ну с макротекстом я разобрался, но если кому интересно, то под катом код
Код:
//! textmacro  GiveMoney takes name, number, force returns nothing
function GiveMoney$force$ takes $number$ returns nothing
    call SetPlayerState(GetEnumPlayer(), PLAYER_STATE_RESOURCE_GOLD, 3500/$number$)
endfunction
function ForForceGiveMoney takes nothing returns nothing
    call ForForce($force$, function GiveMoney$force$)
endfunction
//! endtextmacro

function Trig_InitMoney_Actions takes nothing returns nothing
    local integer index = 0
    loop
        exitwhen index > 9
            if GetPlayerSlotState(Player(index)) == PLAYER_SLOT_STATE_PLAYING then
                if index > 5 then
                    set WoodKeepersNumber = WoodKeepersNumber + 1
                    call ForceAddPlayer(WoodKeepers, Player(index))
                else
                    set FallenAngelsNumber = FallenAngelsNumber + 1
                    call ForceAddPlayer(FallenAngels, Player(index))
                endif
            endif
            call SetPlayerState(Player(index), PLAYER_STATE_GIVES_BOUNTY, 1)
            set index = index + 1
    endloop
    //!runtextmacro GiveMoney("FA", "FallenAngelsNumber", "FallenAngels")
    //!runtextmacro GiveMoney("WK", "WoodKeepersNumber", "WoodKeepers")
    call SetPlayerOnScoreScreenBJ( false, Player(10) )
    call SetPlayerOnScoreScreenBJ( false, Player(11) )
endfunction


А вот теперь деньги не даются игроку, код такой:
» всем спасибо это проблему я тоже решил сам :)
Код:
globals
    force        FallenAngels                =     null
    integer      FallenAngelsNumber          =     0    
    force        WoodKeepers                 =     null
    integer      WoodKeepersNumber           =     0
    integer      TempNumber                  =     0
endglobals

function ForceGiveMoney takes nothing returns nothing
    call DisplayTextToForce( GetPlayersAll(), "ForceGiveMoney")
    call SetPlayerState(GetEnumPlayer(), PLAYER_STATE_RESOURCE_GOLD, 3500/TempNumber)
endfunction

//! textmacro GiveMoney takes force
    set TempNumber = $force$Number
    call DisplayTextToForce( GetPlayersAll(), I2S(TempNumber))
    call ForForce($force$, function ForceGiveMoney)
//! endtextmacro

function Trig_InitMoney_Actions takes nothing returns nothing
    local integer index = 0
    loop
        exitwhen index > 9
        call DisplayTextToForce( GetPlayersAll(), I2S(index))
            if GetPlayerSlotState(Player(index)) == PLAYER_SLOT_STATE_PLAYING then
            call DisplayTextToForce( GetPlayersAll(), "play")
                if index < 5 then
                call DisplayTextToForce( GetPlayersAll(), "index>5")
                    set WoodKeepersNumber = WoodKeepersNumber + 1
                    call ForceAddPlayer(WoodKeepers, Player(index))                  
                else
                    set FallenAngelsNumber = FallenAngelsNumber + 1
                    call ForceAddPlayer(FallenAngels, Player(index))    
                endif
            endif
            call SetPlayerState(Player(index), PLAYER_STATE_GIVES_BOUNTY, 1)
            set index = index + 1
    endloop
    call DisplayTextToForce( GetPlayersAll(), "runmacrotext1")
    //! runtextmacro GiveMoney("WoodKeepers")
    call DisplayTextToForce( GetPlayersAll(), "runmacrotext2")
    //! runtextmacro GiveMoney("FallenAngels")
    call SetPlayerOnScoreScreenBJ( false, Player(10) )
    call SetPlayerOnScoreScreenBJ( false, Player(11) )
endfunction

//===========================================================================
function InitTrig_InitMoney takes nothing returns nothing
    set gg_trg_InitMoney = CreateTrigger()
    call TriggerRegisterTimerEventSingle(gg_trg_InitMoney, 0.10)
    call TriggerAddAction(gg_trg_InitMoney, function Trig_InitMoney_Actions)
endfunction

Надо было просто при объявлении глобалок ставить не null, а CreateForce()

Отредактировано Hellfim, 20.10.2008 в 02:07.
Старый 19.10.2008, 23:33
ScorpioT1000
Работаем
online
Опыт: отключен
Хм, по теории получается, что JNGP(в частности PJass) - это скорее препроцессор с новым компилятором, чем просто новый компилятор - для WE
Старый 21.10.2008, 09:56
Hellfim
Новичок
offline
Опыт: 79,707
Активность:
ScorpioT1000
Вроде питзер майк говорил, что пжасс это компилятор?
Старый 21.10.2008, 13:52
ScorpioT1000
Работаем
online
Опыт: отключен
По сути в вармейкинге вобще нет компиляторов =)
ибо код карты не преобразовывается в машинный код, его делает вар

ScorpioT1000 добавил:
Во, точнее будет "новый препроцессор+отладчик"
Старый 21.10.2008, 15:53
Van Damm
wait... what?
offline
Опыт: 22,268
Активность:
Цитата:
код карты не преобразовывается в машинный код, его делает вар
вар его непосредственно исполняет, выступая в роли интерпретатора

а pjass - это препроцессор, отладчиком выступает grimoire с w3jdebug
Старый 21.10.2008, 17:04
vdvMax
\\_Max_//
offline
Опыт: 4,123
Активность:
перезалейте плз worldedit.exe от 1.21
Старый 21.10.2008, 19:41
Лось

offline
Опыт: 7,223
Активность:
Старый 21.10.2008, 19:59
Mihahail
๏̯͡๏
offline
Опыт: 17,766
Активность:
Couldn't start World Editor. An instance of World Editor may already be running.If running a patch prior to 1.21b make sure the Warcraft III CD is in your drive and try again. If you are using Kaspersky antivirus, turn it off before running NewGen
Чё за фигня? Всё соблюдено..
Старый 21.10.2008, 22:16
adic3x

offline
Опыт: 108,439
Активность:
вродебы же последний должен и на 1.22 работать редакторе?
Старый 22.10.2008, 15:08
Закрытая тема

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

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

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 18:01.