Сейчас 12:22:39 Пятница, 26 апреля, 2024 год
[ x ] Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 4
  • 1
  • 2
  • 3
  • 4
  • »
Модератор форума: PUVer, SirNikolas, Ty3uK  
Форум о Warcraft 3 » Раздел для картостроителей » GUI / Jass » Система -SAVE -LOAD (Автор ZeToX)
Система -SAVE -LOAD
ЭллесарДата: Вторник, 18 Августа 2009, 16:10:06 | Сообщение # 1
DeMoN
Группа: Ветераны
Сообщений: 934
Награды: 1
Репутация: 210
Блокировки:
Скачать !

Сдесь содержится библиотека (незнающим лучше не редактировать) и две функции Сайв/Load.

Функция:

function SaveHero takes unit u returns string

Берет юнита и возращает его код.

использовать можно так:

call DisplayTextToPlayer(Player(0), x, y, SaveHero(Переменная героя))

эта функция выведит код для красного игрока. x,y - координаты, куда надо вывести текст.

function LoadHero takes string s,player p, real x,real y returns unit

Эта функция принимает код, игрока для которого создаётся, координаты,.

Можно применять так:

Событие
Игрок напечал сообщение -load:

Действие:
call LoadHero( SubString(GetEventPlayerChatString(), 8, 29), GetTriggerPlayer(), 0,0 )

или
local unit u = LoadHero( SubString(GetEventPlayerChatString(), 8, 29), GetTriggerPlayer(), 0,0 )

По вопроссом писать сдесь.

Добавлено (18-08-2009, 16:09)
---------------------------------------------
В данном примере нажимайте на Ecs, герой сохранится, выдаст код и по коду создаст его.

Добавлено (18-08-2009, 16:10)
---------------------------------------------
А да ) без JNGP не обойтись) качайте его )


база паролей: https://yadi.sk/d/mdDhWuvPcTSKw
бекап сайта от 26.12.2010 https://yadi.sk/d/L3xNpibbiHpYE
 

DragoNДата: Вторник, 18 Августа 2009, 16:32:00 | Сообщение # 2
Инквизитор
Группа: Стримеры
Сообщений: 4348
Награды: 7
Репутация: 2776
Блокировки:
Эллесар, добавил бы сохранение предметов из полноэкранного инвентаря - цены бы тебе не было

El Psy Congroo
 

ЭллесарДата: Вторник, 18 Августа 2009, 19:49:09 | Сообщение # 3
DeMoN
Группа: Ветераны
Сообщений: 934
Награды: 1
Репутация: 210
Блокировки:
Quote (Dragon93)
Эллесар, добавил бы сохранение предметов из полноэкранного инвентаря - цены бы тебе не было

Я уже думал, но инвентарь будет небольшим, 20 предметов + одиваемые.

Если кодировать 1 предмет по 7 битам(128 разновдностями предметов)
получается 30*7 = 210 битов - 35 символов займет тока инвентарь О_о

Добавлено (18-08-2009, 19:49)
---------------------------------------------
примрно такой код будет по длине

wwww-wwww-wwww-wwww-wwww-wwww-wwww-wwww-wwww-wwww-www
(тире не всет)


база паролей: https://yadi.sk/d/mdDhWuvPcTSKw
бекап сайта от 26.12.2010 https://yadi.sk/d/L3xNpibbiHpYE
 

sumrackДата: Вторник, 18 Августа 2009, 19:51:03 | Сообщение # 4
3 уровень
Группа: Заблокированные
Сообщений: 75
Награды: 0
Репутация: -30
Блокировки:
Quote (Эллесар)
примрно такой код будет по длине
wwww-wwww-wwww-wwww-wwww-wwww-wwww-wwww-wwww-wwww-www

Огромный кодик! А есть система на такую длину?
wwww-wwww-wwww-wwww


<b>Alice</b>, из за тебя пропадает смысл в паролях, а так же постоянно будет требоваться пинать админа...(Enforcer)
 

DragoNДата: Вторник, 18 Августа 2009, 21:11:16 | Сообщение # 5
Инквизитор
Группа: Стримеры
Сообщений: 4348
Награды: 7
Репутация: 2776
Блокировки:
Эллесар, я с этим же мучаюсь,тока не переводил из одной систему в другую,но у мя при 15 предметах с 7 символами на предмет(учитывая координаты инвентаря) выходит 15*7 = 105 символов + код самого героя = 110-115 символов?О_О

El Psy Congroo
 

MalfattoДата: Среда, 19 Августа 2009, 01:02:47 | Сообщение # 6
Группа: Модераторы
Сообщений: 3806
Награды: 7
Репутация: 2425
Блокировки:
Дай код обоих функций сюда пожалуйста, с телефона скачать не могу, а почитать интересно :)
 

ЭллесарДата: Среда, 19 Августа 2009, 01:06:32 | Сообщение # 7
DeMoN
Группа: Ветераны
Сообщений: 934
Награды: 1
Репутация: 210
Блокировки:
Dragon93, Юзай, я сделал ещё одну систему -save/load, называетcz SuperSaveSistem ) на XGM, почитай там внимательно как работает. мне система очень нравится. буду ей всегда пользоваться а эта для новичков)

Zak, Каких функций) ?


база паролей: https://yadi.sk/d/mdDhWuvPcTSKw
бекап сайта от 26.12.2010 https://yadi.sk/d/L3xNpibbiHpYE
 

MalfattoДата: Среда, 19 Августа 2009, 01:08:18 | Сообщение # 8
Группа: Модераторы
Сообщений: 3806
Награды: 7
Репутация: 2425
Блокировки:
SaveHero и LoadHero. Ну и все что выше них :)
 

ЭллесарДата: Среда, 19 Августа 2009, 01:21:07 | Сообщение # 9
DeMoN
Группа: Ветераны
Сообщений: 934
Награды: 1
Репутация: 210
Блокировки:
Quote (sumrack)
wwww-wwww-wwww-wwww

Счас смозгую

24 + 24 + 24 + 24 = 96 бит

4 бит на id героя (юзать масив) 2^4 = 16 героев (92)

7 бит на лвл = 2^7 = 128 (макс лвл) (85)

12 бит на силу 2^12 = 4096 (73)
12 бит на ловк 2^12 = 4096 (61)
12 бит на инт 2^12 = 4096 (49)

6 бит на предмет 2 ^ 6 = 64 (63) типа предмета. 6 слотов (13)

13 бит осталось,ээ на защиту кода...

вот вринцыпе если так только

Добавлено (19-08-2009, 01:21)
---------------------------------------------
function SaveHero takes unit u returns string
local integer Idhero = idhe(GetUnitTypeId(u))

local integer LvlHero = GetHeroLevel(u) + 100 - Idhero

local integer StrHero = GetHeroStr(u,false)
local integer AgiHero = GetHeroAgi(u,false)
local integer IntHero = GetHeroInt(u,false)

local integer Item1 = idpr(GetItemTypeId(UnitItemInSlot(u,0))) +1
local integer Item2 = idpr(GetItemTypeId(UnitItemInSlot(u,1))) +2
local integer Item3 = idpr(GetItemTypeId(UnitItemInSlot(u,2))) +3
local integer Item4 = idpr(GetItemTypeId(UnitItemInSlot(u,3))) +4
local integer Item5 = idpr(GetItemTypeId(UnitItemInSlot(u,4))) +5
local integer Item6 = idpr(GetItemTypeId(UnitItemInSlot(u,5))) +6

local integer Sum = Idhero + LvlHero + StrHero + AgiHero + IntHero + Item1 + Item2 + Item3 +Item4 +Item5 + Item6


local integer Item12 = 512*Item1 + Item2
local integer Item34 = 512*Item3 + Item4
local integer Item56 = 512*Item5 + Item6
return ix02(LvlHero) + ix02(StrHero) + ix02(AgiHero) + ix02(IntHero) +ix03(Item12) +ix03(Item34) +ix03(Item56) + ix03(Sum) + ix01(Idhero)

endfunction

function LoadHero takes string s,player p, real x,real y returns unit
local integer LvlHero = sx02(s,0)
local unit U = null
local integer Str = sx02(s,2)
local integer Agi = sx02(s,4)
local integer Int = sx02(s,6)

local int2 Item12 = int2.cs512x512(sx03(s,8))
local int2 Item34 = int2.cs512x512(sx03(s,11))
local int2 Item56 = int2.cs512x512(sx03(s,14))

local integer Sum = sx03(s,17)
local integer HeroId = sx01(SubString(s,20,21))

if Sum == LvlHero + Str + Agi + Int + HeroId + Item12.i1 + Item12.i2 + Item34.i1 + Item34.i2 + Item56.i1 + Item56.i2 then
set Item12.i1 = Item12.i1 - 1
set Item12.i2 = Item12.i2 - 2
set Item34.i1 = Item34.i1 - 3
set Item34.i2 = Item34.i2 - 4
set Item56.i1 = Item56.i1 - 5
set Item56.i2 = Item56.i2 - 6

set U = CreateUnit(p,GetHeroId(HeroId),x,y,0)
call SetHeroLevel(U,LvlHero-100+HeroId,true)

call SetHeroStr(U,Str,false)
call SetHeroAgi(U,Agi,false)
call SetHeroInt(U,Int,false)

call UnitAddItem(U, CreateItem(GetItemId(Item12.i1),0,0))
call UnitAddItem(U, CreateItem(GetItemId(Item12.i2),0,0))
call UnitAddItem(U, CreateItem(GetItemId(Item34.i1),0,0))
call UnitAddItem(U, CreateItem(GetItemId(Item34.i2),0,0))
call UnitAddItem(U, CreateItem(GetItemId(Item56.i1),0,0))
call UnitAddItem(U, CreateItem(GetItemId(Item56.i2),0,0))
endif

call int2.destroy(Item12)
call int2.destroy(Item34)
call int2.destroy(Item56)
return U
endfunction


база паролей: https://yadi.sk/d/mdDhWuvPcTSKw
бекап сайта от 26.12.2010 https://yadi.sk/d/L3xNpibbiHpYE
 

MalfattoДата: Среда, 19 Августа 2009, 01:45:30 | Сообщение # 10
Группа: Модераторы
Сообщений: 3806
Награды: 7
Репутация: 2425
Блокировки:
Вот я не очень то жасс знаю, вот сижу никак допереть не могу: local int2 Item12... Что это за тип int2?
 

ЭллесарДата: Среда, 19 Августа 2009, 01:50:30 | Сообщение # 11
DeMoN
Группа: Ветераны
Сообщений: 934
Награды: 1
Репутация: 210
Блокировки:
Zak,

struct int2
integer i1 = 0
integer i2 = 0

static method cs512x512 takes integer i returns int2
local int2 this = int2.create()
loop
exitwhen i < 512
set .i1 = .i1 + 1
set i = i -512
endloop
set .i2 = i
return this
endmethod


endstruct


база паролей: https://yadi.sk/d/mdDhWuvPcTSKw
бекап сайта от 26.12.2010 https://yadi.sk/d/L3xNpibbiHpYE
 

MalfattoДата: Среда, 19 Августа 2009, 01:59:36 | Сообщение # 12
Группа: Модераторы
Сообщений: 3806
Награды: 7
Репутация: 2425
Блокировки:
Все, ясно.
 

ЭллесарДата: Среда, 19 Августа 2009, 02:52:40 | Сообщение # 13
DeMoN
Группа: Ветераны
Сообщений: 934
Награды: 1
Репутация: 210
Блокировки:
Zak, что ясно ?

база паролей: https://yadi.sk/d/mdDhWuvPcTSKw
бекап сайта от 26.12.2010 https://yadi.sk/d/L3xNpibbiHpYE
 

nikikinДата: Среда, 19 Августа 2009, 03:12:24 | Сообщение # 14
Группа: Проверенные
Сообщений: 5397
Награды: 3
Репутация: 1805
Блокировки:
Эллесар, ему ясно что такое int2 и т.д . Здесь тебе не хгм.
Так что будь попроще.
 

DragoNДата: Среда, 19 Августа 2009, 12:40:57 | Сообщение # 15
Инквизитор
Группа: Стримеры
Сообщений: 4348
Награды: 7
Репутация: 2776
Блокировки:
что не ясного?это создание структуры)

El Psy Congroo
 

sumrackДата: Среда, 19 Августа 2009, 19:42:28 | Сообщение # 16
3 уровень
Группа: Заблокированные
Сообщений: 75
Награды: 0
Репутация: -30
Блокировки:
Quote (sumrack)
Quote (Эллесар)
примрно такой код будет по длине
wwww-wwww-wwww-wwww-wwww-wwww-wwww-wwww-wwww-wwww-www

Огромный кодик! А есть система на такую длину?
wwww-wwww-wwww-wwww



<b>Alice</b>, из за тебя пропадает смысл в паролях, а так же постоянно будет требоваться пинать админа...(Enforcer)
 

ЭллесарДата: Среда, 19 Августа 2009, 21:00:13 | Сообщение # 17
DeMoN
Группа: Ветераны
Сообщений: 934
Награды: 1
Репутация: 210
Блокировки:
sumrack, что ты имел ввиду ?

база паролей: https://yadi.sk/d/mdDhWuvPcTSKw
бекап сайта от 26.12.2010 https://yadi.sk/d/L3xNpibbiHpYE
 

sumrackДата: Среда, 19 Августа 2009, 21:15:20 | Сообщение # 18
3 уровень
Группа: Заблокированные
Сообщений: 75
Награды: 0
Репутация: -30
Блокировки:
Ответь на мой вопрос который я задавал вчера

<b>Alice</b>, из за тебя пропадает смысл в паролях, а так же постоянно будет требоваться пинать админа...(Enforcer)
 

ЭллесарДата: Воскресенье, 23 Августа 2009, 19:28:33 | Сообщение # 19
DeMoN
Группа: Ветераны
Сообщений: 934
Награды: 1
Репутация: 210
Блокировки:
ПОСЛЕДНЯЯ ВЕРСИЯ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

база паролей: https://yadi.sk/d/mdDhWuvPcTSKw
бекап сайта от 26.12.2010 https://yadi.sk/d/L3xNpibbiHpYE
 

DragoNДата: Понедельник, 24 Августа 2009, 01:16:54 | Сообщение # 20
Инквизитор
Группа: Стримеры
Сообщений: 4348
Награды: 7
Репутация: 2776
Блокировки:
Эллесар, 2с?

El Psy Congroo
 

ЭллесарДата: Понедельник, 24 Августа 2009, 19:38:06 | Сообщение # 21
DeMoN
Группа: Ветераны
Сообщений: 934
Награды: 1
Репутация: 210
Блокировки:
Dragon93, 2с

Добавлено (24-08-2009, 19:38)
---------------------------------------------
Dragon93, Разобрался в системе ? )


база паролей: https://yadi.sk/d/mdDhWuvPcTSKw
бекап сайта от 26.12.2010 https://yadi.sk/d/L3xNpibbiHpYE
 

LoireДата: Вторник, 08 Сентября 2009, 11:21:38 | Сообщение # 22
100 уровень
ту зе мун говно пацаны
Группа: Проверенные
Сообщений: 2632
Награды: 1
Репутация: 1337
Блокировки:
О! это вещь))
 

BuHHu-nyXДата: Среда, 09 Сентября 2009, 13:02:12 | Сообщение # 23
50 уровень
Превед медвед
Группа: Ветераны
Сообщений: 1941
Награды: 2
Репутация: 437
Блокировки:
Не пру в вдж. Какие то там точки и т.д. х_Х

 

DragoNДата: Среда, 09 Сентября 2009, 15:10:56 | Сообщение # 24
Инквизитор
Группа: Стримеры
Сообщений: 4348
Награды: 7
Репутация: 2776
Блокировки:
Эллесар, можешь расписать сейв с фуллскрина?

El Psy Congroo
 

ЭллесарДата: Суббота, 12 Сентября 2009, 16:55:30 | Сообщение # 25
DeMoN
Группа: Ветераны
Сообщений: 934
Награды: 1
Репутация: 210
Блокировки:
Dragon93, ага теперь скажи тоже самое тока по русски )

база паролей: https://yadi.sk/d/mdDhWuvPcTSKw
бекап сайта от 26.12.2010 https://yadi.sk/d/L3xNpibbiHpYE
 

Форум о Warcraft 3 » Раздел для картостроителей » GUI / Jass » Система -SAVE -LOAD (Автор ZeToX)
  • Страница 1 из 4
  • 1
  • 2
  • 3
  • 4
  • »
Поиск:

Copyright © 2006 - 2024 Warcraft3FT.info При копировании материалов c сайта ставьте, пожалуйста, активную обратную ссылку на нас • Design by gReeB04ki ©
Хостинг от uCoz