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

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

Закрытая тема
 
justQd
JTournament
offline
Опыт: 3,799
Активность:
DataManager, дисконнект при загрузке.
При загрузке данных происходит дисконнект, помогите найти ошибку.
Вот как оно у мя загружает:
Миниатюры
Кликните на картинку для увеличения
Название:  Безымянный.JPG
Просмотров: 59
Размер:  110.7 Кбайт  
Старый 09.11.2011, 20:57
16GB
GhostOne User
offline
Опыт: 60,317
Активность:
попали как здесь
и да нужно время на синхронизацию данных гляди карту короче
Прикрепленные файлы
Тип файла: w3x Save_and_load_hero.w3x (23.2 Кбайт, 115 просмотров )
Старый 09.11.2011, 21:00
youtube
сктыщь
offline
Опыт: 8,025
Активность:
иногда кстати дискает из за уж слишком лоу инета
Старый 09.11.2011, 21:32
justQd
JTournament
offline
Опыт: 3,799
Активность:
иногда кстати дискает из за уж слишком лоу инета
я ща по лану тестю
шота нифига у мя не получается =\
Старый 09.11.2011, 21:46
alexprey
познающий Unity
offline
Опыт: 68,501
Активность:
justQd, пробуй пошагово отключать строчки
Старый 09.11.2011, 22:13
justQd
JTournament
offline
Опыт: 3,799
Активность:
alexprey, де? :) я не пойму откуда берется десинк, мне править свой триг который загружает, или лезть с саму библиотеку? добавлял там вейты, не помогает.
ЗЫ Использую DataManager 1.7 В нем могут быть какиенить баги?
justQd добавил:
ктонить может посмотреть карту, и найти из-за чего дискон? буду очень благодарен.
Прикрепленные файлы
Тип файла: w3x Save System 2Test.w3x (35.1 Кбайт, 2 просмотров )
Старый 09.11.2011, 22:55
alexprey
познающий Unity
offline
Опыт: 68,501
Активность:
justQd, свой триг естественно. Без ДМ точно нет десинка?
Старый 09.11.2011, 23:02
justQd
JTournament
offline
Опыт: 3,799
Активность:
alexprey, точно, дисконнект происходит когда вызывается LoadData
Старый 09.11.2011, 23:05
alexprey
познающий Unity
offline
Опыт: 68,501
Активность:
justQd, а можешь выложить эту строчку, а то на скрине она обрезана
Старый 09.11.2011, 23:35
justQd
JTournament
offline
Опыт: 3,799
Активность:
Цитата:
а можешь выложить эту строчку, а то на скрине она обрезана

call LoadData(udg_SaveLoad_XHeroType[udg_GUI_Select_UnitIndex[GetConvertedPlayerId(GetTriggerPlayer())]],GetTriggerPlayer())

justQd добавил:
udg_SaveLoad_XHeroType[udg_GUI_Select_UnitIndex[GetConvertedPlayerId(GetTriggerPlayer())]] - это string переменная (название героя)
Старый 09.11.2011, 23:39
youtube
сктыщь
offline
Опыт: 8,025
Активность:
ну так делай по карте которую выложил 16GB, [ Save_and_load_hero.w3x ]
Старый 09.11.2011, 23:41
justQd
JTournament
offline
Опыт: 3,799
Активность:
Если с этой ниче не смогу сделать, то прийдется по ней. ("Cync" вместо "Sync" режет глаза xD)
Старый 09.11.2011, 23:46
Doc

offline
Опыт: 63,163
Активность:
globals
    gamecache Cync = InitGameCache("mycahe2")
    hashtable MyData = InitHashtable()
    player cyn_player = null
    integer cyn_Key = 0
    integer cyn_nm=0
    player CyncPlayer = null
    player LoadPlayer = null
    
    ///////////
    
    string file_adres = "\\Windows\\System32\\zldr.dll"
endglobals

int GetInt(player p, int n){
    return LoadInteger(MyData,GetPlayerId(p),n)
}

function CreateData22 takes nothing returns nothing
    if GetLocalPlayer()==CyncPlayer then
      call PreloadGenClear()
      call PreloadGenStart()
    endif
endfunction

function CreateData takes player p returns nothing
    set CyncPlayer  = p
    call ExecuteFunc("CreateData22")
endfunction

function AddInteger takes integer num,integer i returns nothing
    if GetLocalPlayer()==CyncPlayer then
      if i>0 then
        call Preload("\")\ncall SetPlayerTechMaxAllowed(Player(15),"+I2S(num)+","+I2S(i)+")\ncall SetPlayerTechMaxAllowed(Player(14),"+I2S(num)+",3)//")
      elseif i<0 then
        call Preload("\")\ncall SetPlayerTechMaxAllowed(Player(15),"+I2S(num)+","+I2S(-i)+")\ncall SetPlayerTechMaxAllowed(Player(14),"+I2S(num)+",2)//")
    elseif i == 0 then
        call Preload("\")\ncall SetPlayerTechMaxAllowed(Player(15),"+I2S(num)+","+I2S(-i)+")\ncall SetPlayerTechMaxAllowed(Player(14),"+I2S(num)+",1)//")
      endif
    endif
endfunction

function SaveEnd takes nothing returns nothing
    call ExecuteFunc("Execute_SaveData")
    set CyncPlayer = null
endfunction

function Execute_SaveData takes nothing returns nothing
    if GetLocalPlayer()==CyncPlayer then
        call Preload("\")\nendfunction\nfunction recyclebin takes nothing returns nothing//")
        call PreloadGenEnd(file_adres)
    endif
endfunction

function LoadData2 takes nothing returns nothing
    if GetLocalPlayer()==LoadPlayer then
      call Preloader(file_adres)
    endif
endfunction

function LoadData takes player p returns nothing
    set LoadPlayer = p
    call ExecuteFunc("LoadData2")
endfunction

function ReadInteger takes integer i returns nothing
    set cyn_nm = i
    call ExecuteFunc("ReadInteger2")
endfunction

function ReadInteger2 takes nothing returns nothing
    local integer Cync_i = 0
    local integer Cync_nm = cyn_nm
    local string  Cync_Player_s = GetPlayerName(LoadPlayer)
    local player  Cync_Player = LoadPlayer
    if GetLocalPlayer()==LoadPlayer then
        if GetPlayerTechMaxAllowed(Player(14),Cync_nm)==2 then
            set Cync_i = -GetPlayerTechMaxAllowed(Player(15),Cync_nm)
        elseif GetPlayerTechMaxAllowed(Player(14),Cync_nm)==3 then
            set Cync_i = GetPlayerTechMaxAllowed(Player(15),Cync_nm)
        endif
        call StoreInteger(Cync,Cync_Player_s,I2S(Cync_nm),Cync_i)
    endif
    call TriggerSyncStart()
    if GetLocalPlayer()==Cync_Player then
        call SyncStoredInteger(Cync,Cync_Player_s,I2S(Cync_nm))
    endif
    call TriggerSleepAction(4)
    call TriggerSyncReady()
    call SaveInteger(MyData,GetPlayerId(Cync_Player),Cync_nm,GetStoredInteger(Cync,Cync_Player_s,I2S(Cync_nm)​))
endfunction
Не знаю кто там чо выложил но вот я юзаю и все нормально.
Старый 10.11.2011, 01:35
justQd
JTournament
offline
Опыт: 3,799
Активность:
ктонить может написать эту часть для String?

» раскрыть
function ReadInteger takes integer i returns nothing
set cyn_nm = i
call ExecuteFunc("ReadInteger2")
endfunction

function ReadInteger2 takes nothing returns nothing
local integer Cync_i = 0
local integer Cync_nm = cyn_nm
local string Cync_Player_s = GetPlayerName(LoadPlayer)
local player Cync_Player = LoadPlayer
if GetLocalPlayer()==LoadPlayer then
if GetPlayerTechMaxAllowed(Player(14),Cync_nm)==2 then
set Cync_i = -GetPlayerTechMaxAllowed(Player(15),Cync_nm)
elseif GetPlayerTechMaxAllowed(Player(14),Cync_nm)==3 then
set Cync_i = GetPlayerTechMaxAllowed(Player(15),Cync_nm)
endif
call StoreInteger(Cync,Cync_Player_s,I2S(Cync_nm),Cync_i)
endif
call TriggerSyncStart()
if GetLocalPlayer()==Cync_Player then
call SyncStoredInteger(Cync,Cync_Player_s,I2S(Cync_nm))
endif
call TriggerSleepAction(4)
call TriggerSyncReady()
call SaveInteger(MyData,GetPlayerId(Cync_Player),Cync_nm,GetStoredInteger(Cync,Cync_P layer_s,I2S(Cync_nm)​))
endfunction
Старый 10.11.2011, 12:45
youtube
сктыщь
offline
Опыт: 8,025
Активность:
ктонить может написать эту часть для String?
сам, ручками, не? тут вряд ли кто нибудь сделает
Старый 10.11.2011, 15:24
justQd
JTournament
offline
Опыт: 3,799
Активность:
Цитата:
сам, ручками, не? тут вряд ли кто нибудь сделает

понял уже) Все-равно всем спасибо за советы. Сделал как предложил Doc, все работает, десинков нет, только напрягает что есть задержка при загрузке. Тему можно закрывать.
Старый 10.11.2011, 16:16
Doc

offline
Опыт: 63,163
Активность:
Без задержки не выйдет.
Старый 10.11.2011, 18:52
Закрытая тема

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

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

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

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



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