0
20
6 лет назад
0

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

Nosferoh:
Karp, это ролеплей что ли?
Кооп
0
20
6 лет назад
0

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

ZlaYa1000:
вот я только не уверен, что это кто-то решится модерить
предидущие карты отмодерили)
0
20
6 лет назад
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 ,после отключения всё компилится нормально
0
20
7 лет назад
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))
0
20
7 лет назад
0

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

BaHeK:
Тогда исправь
set j = SaveLoad_EncodeVerify(SubString(buffer,0,k))
на
set j = StringHash(SubString(buffer,0,k + 1))
Тоже самое
0
20
7 лет назад
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 )
0
20
7 лет назад
0

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

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

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

И как же её использовать? Спасибо конечно за наводку, но для меня она особо ни чего не говорит)
0
20
7 лет назад
0

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

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

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

BaHeK:
Там слишком много итераций. Убери вызов этой функции и проверь как будет работать.
я конечно попробую, но что-то мне подсказывает, что без этой функции будет всё наперекосяк)
0
20
7 лет назад
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
0
20
7 лет назад
0

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

pro100master:
А ты дели код если символ превышает длину, у мя вот если много данные о героя то делит на части 1 код и 2 код... пример можеш ты уже видел в игре во многих!!!!
каким образом его делить? я не знаток Jass, делать отдельный сэйв на курьера и отдельный на героя?
или подскажите каким образом удалить из кода символ "-" каждые 4 буквы, или изменить промежуток для него, не каждые 4 символа, а каждые 6 к примеру, может поможет)
как сделать "-" каждые 6 символов нашёл) но стало писать ошибку при загрузке) видать где-то ещё не поменял, добавил в словарь ещё символы в нижнем регистре ,по идее тоже должно сократить длину кода, щас узнаю.
Да теперь я точно уверен что проблемы в длине кода) теперь стабильно сэйвит и загружает когда 11 вещей, каким образом можно ещё сократить длину?
без разделения на 2 кода
НЕТ
===
Стабильно сэйвит и загружает так же только 10 итемов когда
0
20
7 лет назад
Отредактирован Karp
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 на данный момент).
увеличение вэйта не помогло
0
20
7 лет назад
0

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

Возможно через фильтр выведено, если камера закреплена в этот момент в карте, что нельзя сдвинуть, то так и есть скорее всего.
0
20
7 лет назад
0

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

УРА!!!!!!!!!!!!!!!! помогло))) спасибо огромное тебе добрый людоед)))
ledoed:
а пробни просто уменьшить массив (там же есть переменная которая показывает число предметов записсаных) допустим 5 предметов выложи и забей их герами и сохрани
просто вэйта не хватало)
0
20
7 лет назад
0

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

ну щас для начала попробую с wait 0.5 после сэйва итемов героя
0
20
7 лет назад
0

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

ledoed:
хех 1 же цикл инвентарь обрабатывает 2й масив
тогда вынести например сэйв итемов в отдельный триггер и выполнять его паралельно с сэйвом итемов героя с проверкой условий
0
20
7 лет назад
Отредактирован Karp
0

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

а может быть из-за того что используются 2 цикла с переменной А? щас пробую второй цикл изменить на В цикл
или добавить вэйт после первого
0
20
7 лет назад
0

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

как буд-то ограничено количество сэйв слотов) попробовал наоборот, курьер все слоты заняты, а у героя больше двух занято и уже не сэйвит
0
20
7 лет назад
Отредактирован Karp
0

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

я и так сразу вижу) код не высвечивается (код сохранения героя) если что-то не так
Вот добавил две вещи и сэйвится нормально с ними
а вот например забил полностью инвентарь свой и курьера, и уже не сэйвит (подобрал ещё другие предметы)
выложил у курьера 4 итема, и засэвиться получлось, берёшь один и не сэйвит уже
0
20
7 лет назад
0

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

ledoed:
я видел вашу сейв систему дело наверно в обрыве потока там потому что она на большом кол циклов
много циклов в самом Jass коде? или в самом триггере -save и -load, в них вроде по 2-3 цикла всего, для загрузки\сэйва итемов героя и курьера
0
20
7 лет назад
0

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

ledoed:
тогда эту систему можно засунуть спомощью как внедряют чит коды
каждый раз муторно будет в новую версу пихать её, и вносить изменения (предметы новые, герои и т.д.) легче разобраться со старой в чём проблема. Почему то в БД все итемы объявлены, но не всегда сэйвит героя, с некоторыми вещами ,приходится их выкладывать и сэйвить героя. При том вещи каждый раз разные, раньше например эта вещь сэйвилась, а с обновой может уже не сэйвить героя с ней. Не знаю что сделать даже.
0
20
7 лет назад
0

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

ledoed:
хех я у меня удалось эту систему запустить наверно wex всётаки вам подключить надо
точнее вкл local files и отключит adicparser и оптимизацию к этому делу
этого я и боялся, мне скилы героям написали на cJass, при отключении Adic Parser борода будет, но щас попробую
0
20
7 лет назад
0

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

ledoed:
хех я у меня удалось эту систему запустить наверно wex всётаки вам подключить надо
печально, на работе ноут не запускает, я уже пробовал её поставить. Просто Прекращение работы программы выдаёт.
Очередная ошибка с переменной)
Загруженные файлы
0
20
7 лет назад
0

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

ledoed:
это уже следующая ощибка static if(бла бла бла) чёт новеноькое убери static
ахаха это радует) щас удалю, там их много этих статиков оказалось