Karp #1 - 4 years ago 0
Голосов: +0 / -0
Karp #2 - 4 years ago 0
Голосов: +0 / -0

» Прочее / [sp/coop] Сценарий 16 ОСпН «СКИФ» день 10 для ARMA 3

ZlaYa1000:
вот я только не уверен, что это кто-то решится модерить
предидущие карты отмодерили)
Karp #3 - 4 years ago 0
Голосов: +0 / -0

» WarCraft 3 / потеряны аргументы: missing define arguments

Как то не могу вдуплить, как исправить.
private function PP takes location source, real dist, real angle returns nothing
        call CatchLocation(source)
    endfunction
    
    private function CU takes integer count, integer unitId, player p, location l, real face returns nothing
        call CatchLocation(l)
    endfunction
    
    private function IPO takes unit k, string order, location l returns nothing
        call CatchLocation(l)
    endfunction
    
    private function SUP takes unit who, location l returns nothing
        call CatchLocation(l)
    endfunction
    
    private function SUF takes unit who, location l, real dur returns nothing
        call CatchLocation(l)
    endfunction
    
    private function GUR takes real radius, location l, boolexpr filter returns nothing
        call CatchLocation(l)
    endfunction
    
    private function CUF takes integer count, integer unitId, player whichPlayer, location loc, location lookAt returns nothing
        call CatchLocation(loc)
        call CatchLocation(lookAt)
    endfunction
    
    hook PolarProjectionBJ PP
    hook CreateNUnitsAtLoc CU
    hook CreateNUnitsAtLocFacingLocBJ CUF
    hook IssuePointOrderLocBJ IPO
    hook SetUnitPositionLoc SUP
    hook SetUnitFacingToFaceLocTimed SUF
    hook GetUnitsInRangeOfLocMatching GUR

    hook RemoveLocation ReleaseLocation
hook CatchLocation PP, так что ли будет?
Теперь нативку не находит CatchLocation
Всё, нашёл проблему, была подключена библиотека all.j ,после отключения всё компилится нормально
Karp #4 - 4 years ago 0
Голосов: +0 / -0

» WarCraft 3 / Снова сэйв\лоад

BaHeK:
Исправлял в обе строки и вторую с учетом того что я написал? Если так, то простому сделать не получится и нужно будет многое переделать.
да, сначала я сделал из
set buffer = buffer + I2S(SaveLoad_EncodeVerify(buffer))
set j = SaveLoad_EncodeVerify(SubString(buffer,0,k))
вот так
set buffer = buffer + I2S(StringHashy(buffer))
set j = StringHash(SubString(buffer,0,k))
потом добавил +1 в ласт строку, теперь там так
set j = StringHash(SubString(buffer,0,k+1))
Karp #5 - 4 years ago 0
Голосов: +0 / -0

» WarCraft 3 / Снова сэйв\лоад

BaHeK:
Тогда исправь
set j = SaveLoad_EncodeVerify(SubString(buffer,0,k))
на
set j = StringHash(SubString(buffer,0,k + 1))
Тоже самое
Karp #6 - 4 years ago 0
Голосов: +0 / -0

» WarCraft 3 / Снова сэйв\лоад

BaHeK:
Надо было менять только в этих строчках
set buffer = buffer + I2S(SaveLoad_EncodeVerify(buffer))
set j = SaveLoad_EncodeVerify(SubString(buffer,0,k))
это помогло, теперь хотя бы выдаёт код когда сэйвишь и у героя 12 итемов, но при загрузке пишет "неправильный код", при любом лоаде, даже если пытаешься загрузить только что созданного и сохранённого героя
при сэйве выполняется script: set udg_Code = SaveLoad_Encode()
при загрузке выполняется script: set udg_Validate = SaveLoad_Decode( udg_Code )
Karp #7 - 4 years ago 0
Голосов: +0 / -0

» WarCraft 3 / Снова сэйв\лоад

BaHeK:
Karp:
И как же её использовать? Спасибо конечно за наводку, но для меня она особо ни чего не говорит)
Просто замени в коде SaveLoad_EncodeVerify на StringHash в функция сохранения и загрузки кода.
Ошибка:
symbol String Hash multiply defined
как я понял, функция StringHash уже обявлена
Karp #8 - 4 years ago 0
Голосов: +0 / -0

» WarCraft 3 / Снова сэйв\лоад

И как же её использовать? Спасибо конечно за наводку, но для меня она особо ни чего не говорит)
Karp #9 - 4 years ago 0
Голосов: +0 / -0

» WarCraft 3 / Снова сэйв\лоад

BaHeK:
Karp:
BaHeK:
Там слишком много итераций. Убери вызов этой функции и проверь как будет работать.
я конечно попробую, но что-то мне подсказывает, что без этой функции будет всё наперекосяк)
Конечно не будет. Поэтому это функцию надо будет переделать.
Можешь изменить в правильном направлении? я не знаток вообще Jass
Karp #10 - 4 years ago 0
Голосов: +0 / -0

» WarCraft 3 / Снова сэйв\лоад

BaHeK:
Там слишком много итераций. Убери вызов этой функции и проверь как будет работать.
я конечно попробую, но что-то мне подсказывает, что без этой функции будет всё наперекосяк)
Karp #11 - 4 years ago 0
Голосов: +0 / -0

» WarCraft 3 / Снова сэйв\лоад

BaHeK:
Проблема в функции SaveLoad_EncodeVerify.
ммм, что с ней не так?
function SaveLoad_EncodeVerify takes string buffer returns integer
    local integer i = 0
    local integer j = 0
    local string name = GetPlayerName(GetTriggerPlayer())
    if udg_SaveLoad_UsePlayername == true then
        loop
            set j = j + SaveLoad_EncodeChar(SubString(name,i,i + 1))
            set i = i + 1
            exitwhen i >= StringLength(name)
        endloop
    endif
    set i = 0
    loop
        set j = j + SaveLoad_EncodeChar(SubString(buffer,i,i + 1))
        set i = i + 1
        exitwhen i >= StringLength(buffer)
    endloop
    return j
endfunction
использовать local string name = GetPlayerName(GetLocalPlayer()) , вместо GetTriggerPlayer() ???
типа вот так вот?
function SaveLoad_EncodeVerify takes string buffer returns integer
    local integer i = 0
    local integer j = 0
    local string name = GetPlayerName(GetLocalPlayer())
    if udg_SaveLoad_UsePlayername == true then
        loop
            set j = j + SaveLoad_EncodeChar(SubString(name,i,i + 1))
            set i = i + 1
            exitwhen i >= StringLength(name)
        endloop
    endif
    set i = 0
    loop
        set j = j + SaveLoad_EncodeChar(SubString(buffer,i,i + 1))
        set i = i + 1
        exitwhen i >= StringLength(buffer)
    endloop
    return j
endfunction
Karp #12 - 4 years ago 0
Голосов: +0 / -0

» WarCraft 3 / Снова сэйв\лоад

pro100master:
А ты дели код если символ превышает длину, у мя вот если много данные о героя то делит на части 1 код и 2 код... пример можеш ты уже видел в игре во многих!!!!
каким образом его делить? я не знаток Jass, делать отдельный сэйв на курьера и отдельный на героя?
или подскажите каким образом удалить из кода символ "-" каждые 4 буквы, или изменить промежуток для него, не каждые 4 символа, а каждые 6 к примеру, может поможет)
как сделать "-" каждые 6 символов нашёл) но стало писать ошибку при загрузке) видать где-то ещё не поменял, добавил в словарь ещё символы в нижнем регистре ,по идее тоже должно сократить длину кода, щас узнаю.
Да теперь я точно уверен что проблемы в длине кода) теперь стабильно сэйвит и загружает когда 11 вещей, каким образом можно ещё сократить длину?
без разделения на 2 кода
НЕТ
===
Стабильно сэйвит и загружает так же только 10 итемов когда
Karp #13 - 4 years ago (изм. ) 0
Голосов: +0 / -0

» WarCraft 3 / Снова сэйв\лоад

Про ограничение длинны кода задумался, потому что код действительно длинный получается (когда 11 итемов и ни чего не происходит при загрузке)
Теперь получилось вот так, после сэйва итемов героя, действие - выполнить триггер (проверив условия) по сохранению вещей курьера, тут добавил вэйт 1.0 сек. и дальше по триггеру заносится код и выводится на экран.
НЕ работает сэйв при 12 занятых слотах, при сэйве ни чего не происходит.
Если взять 11 вещй, то нормально сэйвит и грузит.
Такое ощущение что и вправду ограничена строка кода загрузки.
При сэйве с 11 занятыми слотами выдаёт код из 92 символов
-load M30M-K0XN-0Q3G-OL0C-94GX-AR3T-BN3L-R7FU-YOY1-OXQ7-V3P0-V6E3-SH4N-BADM-5Q8C-7FW1-YFIP-R
решил поставить вэйт 1,5 сек, вместо 1.0, может просто не успевает зашифровать итемы, потому что их много в инициализации системы сэйва (305 на данный момент).
увеличение вэйта не помогло
Karp #14 - 4 years ago 0
Голосов: +0 / -0

» WarCraft 3 / При помощи чего реализован текст на земле? (как в Доте)

Возможно через фильтр выведено, если камера закреплена в этот момент в карте, что нельзя сдвинуть, то так и есть скорее всего.
Karp #15 - 4 years ago 0
Голосов: +0 / -0

» WarCraft 3 / Траблы Сэйв Лоада или моих рук

УРА!!!!!!!!!!!!!!!! помогло))) спасибо огромное тебе добрый людоед)))
ledoed:
а пробни просто уменьшить массив (там же есть переменная которая показывает число предметов записсаных) допустим 5 предметов выложи и забей их герами и сохрани
просто вэйта не хватало)
Karp #16 - 4 years ago 0
Голосов: +0 / -0

» WarCraft 3 / Траблы Сэйв Лоада или моих рук

ну щас для начала попробую с wait 0.5 после сэйва итемов героя
Karp #17 - 4 years ago 0
Голосов: +0 / -0

» WarCraft 3 / Траблы Сэйв Лоада или моих рук

ledoed:
хех 1 же цикл инвентарь обрабатывает 2й масив
тогда вынести например сэйв итемов в отдельный триггер и выполнять его паралельно с сэйвом итемов героя с проверкой условий
Karp #18 - 4 years ago (изм. ) 0
Голосов: +0 / -0

» WarCraft 3 / Траблы Сэйв Лоада или моих рук

а может быть из-за того что используются 2 цикла с переменной А? щас пробую второй цикл изменить на В цикл
или добавить вэйт после первого
Karp #19 - 4 years ago 0
Голосов: +0 / -0

» WarCraft 3 / Траблы Сэйв Лоада или моих рук

как буд-то ограничено количество сэйв слотов) попробовал наоборот, курьер все слоты заняты, а у героя больше двух занято и уже не сэйвит
Karp #20 - 4 years ago (изм. ) 0
Голосов: +0 / -0

» WarCraft 3 / Траблы Сэйв Лоада или моих рук

я и так сразу вижу) код не высвечивается (код сохранения героя) если что-то не так
Вот добавил две вещи и сэйвится нормально с ними
а вот например забил полностью инвентарь свой и курьера, и уже не сэйвит (подобрал ещё другие предметы)
выложил у курьера 4 итема, и засэвиться получлось, берёшь один и не сэйвит уже
Karp #21 - 4 years ago 0
Голосов: +0 / -0

» WarCraft 3 / Траблы Сэйв Лоада или моих рук

ledoed:
я видел вашу сейв систему дело наверно в обрыве потока там потому что она на большом кол циклов
много циклов в самом Jass коде? или в самом триггере -save и -load, в них вроде по 2-3 цикла всего, для загрузки\сэйва итемов героя и курьера
Karp #22 - 4 years ago 0
Голосов: +0 / -0

» WarCraft 3 / Траблы Сэйв Лоада или моих рук

ledoed:
тогда эту систему можно засунуть спомощью как внедряют чит коды
каждый раз муторно будет в новую версу пихать её, и вносить изменения (предметы новые, герои и т.д.) легче разобраться со старой в чём проблема. Почему то в БД все итемы объявлены, но не всегда сэйвит героя, с некоторыми вещами ,приходится их выкладывать и сэйвить героя. При том вещи каждый раз разные, раньше например эта вещь сэйвилась, а с обновой может уже не сэйвить героя с ней. Не знаю что сделать даже.
Karp #23 - 4 years ago 0
Голосов: +0 / -0

» WarCraft 3 / Траблы Сэйв Лоада или моих рук

ledoed:
хех я у меня удалось эту систему запустить наверно wex всётаки вам подключить надо
точнее вкл local files и отключит adicparser и оптимизацию к этому делу
этого я и боялся, мне скилы героям написали на cJass, при отключении Adic Parser борода будет, но щас попробую
Karp #24 - 4 years ago 0
Голосов: +0 / -0

» WarCraft 3 / Траблы Сэйв Лоада или моих рук

ledoed:
хех я у меня удалось эту систему запустить наверно wex всётаки вам подключить надо
печально, на работе ноут не запускает, я уже пробовал её поставить. Просто Прекращение работы программы выдаёт.
Очередная ошибка с переменной)
Прикрепленные файлы
Karp #25 - 4 years ago 0
Голосов: +0 / -0

» WarCraft 3 / Траблы Сэйв Лоада или моих рук

ledoed:
это уже следующая ощибка static if(бла бла бла) чёт новеноькое убери static
ахаха это радует) щас удалю, там их много этих статиков оказалось
Karp #26 - 4 years ago 0
Голосов: +0 / -0

» WarCraft 3 / Траблы Сэйв Лоада или моих рук

ledoed:
обычно это дефайны константы пишут в верху,а так лутше в этой системе изменить на DUMY_ID2 если сохраниться то уже во всей этой системе измени на это название
поменял на DUMY_ID2, сохранилось, но теперь ошибку выдаёт
Прикрепленные файлы
Karp #27 - 4 years ago 0
Голосов: +0 / -0

» WarCraft 3 / Траблы Сэйв Лоада или моих рук

ledoed:
а компилятор нет,попробуй повключать парсер или adic helper(короче потыкай настройки vjass и cjass) и сохрани чтобы норм было
у вас имя переменной число
гдето DUMY_ID пересекаеться в дефайнах или константах
попробую с настройками,а как найти DUMY_ID во всём коде? через поиск только? в каждом триггере
Karp #28 - 4 years ago 0
Голосов: +0 / -0

» WarCraft 3 / Траблы Сэйв Лоада или моих рук

хм, сам создатель системы написал что проблема в вашем редакторе, пробуйте редактор WEX. Но это как-то странно. vJass то один и тот же.
Karp #29 - 4 years ago 0
Голосов: +0 / -0

» Записки сумасшедшего / Стих батл

Кристофер:
Гребаное дно или гребаный день? ;)
Судя по содержанию стишков, для них это уже слова-синонимы.
Именно так, все уже устали, с марта месяца тут. А работать еще до декабря
Karp #30 - 4 years ago 0
Голосов: +0 / -0

» Записки сумасшедшего / Стих батл

prog:
Всем добра и удачи в этом грёбанном дне)
Гребаное дно или гребаный день? ;)
день
Karp #31 - 4 years ago 0
Голосов: +0 / -0

» Записки сумасшедшего / Стих батл

Каждый день буду обновлять пост, с добавлением новых батлов
Karp #32 - 4 years ago 2
Голосов: +2 / -0

» WarCraft 3 / Сэйв в папку

pro100master:
Мда слышал про GetLocalPlayer() вот и будет создавать для 1 игрока в сейв
cлыщал, но если бы знал как юзать, то не спрашивал бы)
Karp #33 - 4 years ago 0
Голосов: +0 / -0

» WarCraft 3 / [Шабашка] подправить сэйв\лоад систему

8gabriel8:
Вот система с курьером-кроликом
А второе требование я не понял, что сделать-то надо?
написать в ВК или гарена можете?
Karp #34 - 4 years ago 0
Голосов: +0 / -0
Karp #35 - 4 years ago 0
Голосов: +0 / -0

» WarCraft 3 / Общие войска

KaneThaumaturge:
В цикле для каждого (лично у меня) не работает функция ждать, по-этому сделайте без цикла.
странно, в ИИ боссов использую циклы с ожиданием, всё работает, но попробую убрать
Karp #36 - 4 years ago 0
Голосов: +0 / -0

» WarCraft 3 / Защита карты

От большинства школьников помогает HEX защита, просто открываешь через HEX редактор уже прогнанную через оптимизатор карту и пишешь разные символы в пустые строки. Школьники не откроют)))
Karp #37 - 4 years ago 0
Голосов: +0 / -0

» WarCraft 3 / GetLocalPlayer и фильтр для одного игрока

Game_Nikitav_1:
Karp,
  1. Можно скрин?
  2. Перед фильтром и после него (без подождать n сек)?
я просто сделал триггер после старта игры создаётся фильтр затемнения (чёрная маска) и скрыть его потом при входе в область делаю показать фильтр, при выходе скрыть фильтр. Но после того как фильтр создан, то исчезают ХП бары и как я писал описания предметов, скилов и т.д.
Karp #38 - 4 years ago 0
Голосов: +0 / -0

» WarCraft 3 / защита карты

quq_CCCP:
Karp, Ой способов защиты 100500, щяс есть мемхак, я уже выкладывал пример как проверить вводились ли в код карты измненения.
Так же есть возможность писать код карты байткодами, которые внезапно низя прочитать или перевести в JASS это внутренние инстркции JASS машины. Но это достаточно сложно. Так же Можно загружать свои ДЛЛ, а это дает полный контроль над картой, можно зашифровать и сжать данные в архиве хер знает какими алгоритмами которые никогда не видел варкравт, а при загрузке срипта вызывать Дллку которая бы и расшифровывала это дело и вызывала функцию чтения архива + проверяла контрольную сумму архива (вроде в мемхаке была эта функция), контрульная сумма не та - выгружаем из ДЛЛ вирус, чтонить на подобии шифровальщиков. И читерам уже не до карты и варкравта в целом...
Это не для гуи новичков, придется долго морщить лоб и писать карту на jass + малость в с++ шарить.
ясно)
Karp #39 - 4 years ago 0
Голосов: +0 / -0

» WarCraft 3 / защита карты

Вопрос к знатокам Jass ) можно ли проверить количество символов в коде, потом зашифровать это число? в самом файле war3map.j потом просто расшифровать и проверить количество строк при старте карты (к примеру через 2-3 секунды после старта) и если не соответствует то end game. Если будет внедрён ЧП то количество строк увеличится, если удалено что то из кода, то тоже изменится.
Karp #40 - 4 years ago 0
Голосов: +0 / -0

» WarCraft 3 / GetLocalPlayer и фильтр для одного игрока

Game_Nikitav_1:
Karp, Может это поможет, как помню работало. (давно проверял)
Помоголо) но почему то все тексты пропадают при фильтре, ни описания скилов, ни описания предметов, ни ХП баров не видно становится. И после "Скрыть доп.фильтр" не появляются.
Karp #41 - 4 years ago 0
Голосов: +0 / -0

» WarCraft 3 / GetLocalPlayer и фильтр для одного игрока

quq_CCCP:
Насколько помню это очень мудреная нативка, там своего рода счетчик фильтров на экране, как бы вовсе не дисинхнуло.
Придется делать на jass, показывая фильтр конкретному игроку.
да, с моими знаниями Jass значит не судьба)
Karp #42 - 4 years ago 0
Голосов: +0 / -0

» WarCraft 3 / Запрет передачи предметов

quq_CCCP:
Все предметы изночально принадлежать враждебным, юзайте Custom value предмета, если 0 то предмет еще никто не подобрал, значит его получили убив монстра или купили, значит ставим ему custom value с номером игрока (нумеруйте не с 0, а с 1). Легко и просто, правда?
Спасибо, сейчас попробую.
pro100master:
викинь этот русиффикатор
не викину
Karp #43 - 4 years ago 0
Голосов: +0 / -0

» WarCraft 3 / Дистанция или время следования за противником

Maniac_91:
Главное окно редактора - Дополнительно - Игровые константы.
я там менял ,всё равно не помогает
Прикрепленные файлы
Karp #44 - 4 years ago 0
Голосов: +0 / -0

» WarCraft 3 / не пойму почему происходит смещение героя

TripleKor:
Karp, без утечек можно и на gui писать, вот статья. Даже если английского не знаешь, просто посмотри на примеры и поймешь что и как делать.
Насчет курицы - используй точку с offset и перемещай её в эту точку.
Спасибо, как раз хотел писать о том что решил проблему =) да просто сделал смещение на +10 по осям
Karp #45 - 4 years ago (изм. ) 0
Голосов: +0 / -0

» WarCraft 3 / не пойму почему происходит смещение героя

quq_CCCP:
Units with range вроде и в гуи было
Должно работать, но я не проверял.
Units with range для подхода.
Я у курицы отключил коллизию через триггер, и физ.размер убрал на 0 в РО
к сожалению, нет знаний Jass для того что бы сделать не в ГУИ и без утечек.
Проблема походу с физ.размером, хотя я его на 0 поставил, потому что проблема когда курица под героя заходит, то при движении откидывает в сторону героя. Что посоветуете?
Karp #46 - 4 years ago 0
Голосов: +0 / -0

» WarCraft 3 / Жанр карты

Алексейка:
А Boss-арены разве не существуют? Такой жанр уже давно изобрели, просто тут нестандартные системы есть.
Эх, не получилось стать родоначальником нового жанра... Спасибо за ответы
Karp #47 - 4 years ago 0
Голосов: +0 / -0

» WarCraft 3 / Жанр карты

Алексейка:
Нестандартная арена.
Boss Arena =)
Karp #48 - 4 years ago 0
Голосов: +0 / -0

» WarCraft 3 / Жанр карты

FrigatPlay:
Арена
мне кажется арена подразумевает в себе PVP противостояние
Karp #49 - 4 years ago (изм. ) 0
Голосов: +0 / -0

» WarCraft 3 / ИИ не выполняет триггер

Fireproof:
Karp:
Maniac_91:
Karp, сейчас неохота ставить) Да я им пока что не планирую пользоваться.
Попробуй создавать порчу в определённой точке - может, в переменных косяк?
попробую этот вариант, например в центре региона какого нибудь, но уже завтра =) отпишусь как проверю.
У тебя макс. лвл = 1, а спеллов для изучения 2. В триггере на изучение спелла первым стоит Ледяной щит:D
и триггерно он не хочет учить второй спел получается? понял. Тогда остаётся установить макс лвл на 10 к примеру, и героям отключить получение опыта через триггер?
Karp #50 - 4 years ago 0
Голосов: +0 / -0

» WarCraft 3 / ИИ не выполняет триггер

Maniac_91:
Karp, сейчас неохота ставить) Да я им пока что не планирую пользоваться.
Попробуй создавать порчу в определённой точке - может, в переменных косяк?
попробую этот вариант, например в центре региона какого нибудь, но уже завтра =) отпишусь как проверю.