Сейчас 04:18:27 Среда, 23 ноября, 2011 год
[ x ] Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Обои В о й т и   или   з а р е г и с т р и р о в а т ь с я


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 5 из 7«1234567»
Модератор форума: PUVer, FkoFF 
Форум о Warcraft 3 » Раздел для картостроителей » GUI / Jass » [ВАЖНО] Jass: Полезные функции
[ВАЖНО] Jass: Полезные функции
AjaccioДата: Среда, 25 Май 2011, 18:54:26 | Сообщение # 101
7 уровень
Группа: Проверенные
Сообщений: 276
Награды: 1
Репутация: 166
Замечания: 0%
Diabfall, DisplayTimedTextToPlayer(Player(<Номер Игрока от 0 до 15>), <Координата по X>, <Координата по Y>, <Время в секундах>, "<Сообщение>")

 

FkoFFДата: Четверг, 26 Май 2011, 02:22:16 | Сообщение # 102
10 уровень
Группа: КоМодераторы
Сообщений: 4092
Награды: 0
Репутация: 1015
Замечания: 40%











Отличный трек: Blue Foundation - Ricochet

Модерирую реальность.
 

[DS]Дата: Четверг, 26 Май 2011, 11:22:50 | Сообщение # 103
9 уровень
Группа: Проверенные
Сообщений: 852
Награды: 0
Репутация: 211
Замечания: 20%
FkoFF, Может сразу свой CasterSystem напишешь.
 

FkoFFДата: Четверг, 26 Май 2011, 12:00:15 | Сообщение # 104
10 уровень
Группа: КоМодераторы
Сообщений: 4092
Награды: 0
Репутация: 1015
Замечания: 40%
[DS], не, не дам )



Отличный трек: Blue Foundation - Ricochet

Модерирую реальность.
 

[DS]Дата: Четверг, 26 Май 2011, 13:38:08 | Сообщение # 105
9 уровень
Группа: Проверенные
Сообщений: 852
Награды: 0
Репутация: 211
Замечания: 20%
FkoFF, хех
 

SirNikolasДата: Четверг, 26 Май 2011, 18:17:38 | Сообщение # 106
10 уровень
Группа: Проверенные
Сообщений: 2421
Награды: 0
Репутация: 366
Замечания: 0%
Quote (|DS|)
Может сразу свою CasterSystem напишешь
А что в ней такого сложного?
Всего типов дамми - (DUMMY_TYPES_MAX + 1); дамми на каждый тип - (DUMMY_MAX + 1); время жизни дамми - DUMMY_LIFE. Все типы дамми нужно указать в функции Init. Если вдруг занятых дамми окажется больше, чем задано, создастся новый и получит "таймер жизни".

Добавлено (26-05-2011, 18:17)
---------------------------------------------
Разумеется, у данной библиотеки минимальный функционал, но все остальное можно построить на ней.


 

[DS]Дата: Пятница, 03 Июнь 2011, 12:27:04 | Сообщение # 107
9 уровень
Группа: Проверенные
Сообщений: 852
Награды: 0
Репутация: 211
Замечания: 20%
SirNikolas, да просто сам писал эту систему, я сразу в нест. код карты писал, это правильно?

Добавлено (01-06-2011, 20:21)
---------------------------------------------
Может кому-нибудь понадобится, это расстояние от точки 1 до точки 2 в 3D:
function Dist3D takes real x1, real y1, real z1, real x2, real y2, real z2 returns real
return SquareRoot((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1)+(z2-z1)*(z2-z1))
endfunction

Добавлено (01-06-2011, 20:36)
---------------------------------------------
function StopUnit takes unit u returns nothing
call PauseUnit(u, true)
call IssueImmediateOrderById(u, 851972)
call PauseUnit(u, false)
endfunction

По названию понятно че за функция.

Добавлено (03-06-2011, 12:27)
---------------------------------------------
function DisplayTextToAllies takes integer p,real dur,string s returns nothing
local integer i=0
loop
if ArePlayersAlly(p,i)or i==p then
call DisplayTimedTextToPlayer(Player(i),0.,0.,dur,s)
endif
set i=i+1
exitwhen i>11
endloop
endfunction

 

FkoFFДата: Воскресенье, 05 Июнь 2011, 16:31:26 | Сообщение # 108
10 уровень
Группа: КоМодераторы
Сообщений: 4092
Награды: 0
Репутация: 1015
Замечания: 40%
Quote (SirNikolas)
А что в ней такого сложного?

вообще из другой оперы. Caster System = Elemental Damage, Spell Casting System, Missle System, Buff System, фрагменты я выложил (даммикаст, кулдаун слот)...; Ну и куча апи для работы с эффектами, спеллами и прочими ништяками..



Отличный трек: Blue Foundation - Ricochet

Модерирую реальность.
 

subakuДата: Пятница, 10 Июнь 2011, 18:43:34 | Сообщение # 109
6 уровень
Группа: Проверенные
Сообщений: 174
Награды: 0
Репутация: -18
Замечания: 20%
FkoFF, dummy cast
объясни нубу, это изменяемая функция? или её нужно просто вызывать? а то там у тебя SpellID = integer а вроде должно быть string...

ФЕНИКС ЧО
 

[DS]Дата: Суббота, 11 Июнь 2011, 10:41:00 | Сообщение # 110
9 уровень
Группа: Проверенные
Сообщений: 852
Награды: 0
Репутация: 211
Замечания: 20%
ид интежер все правильно, там подставляешь свой ид способности
 

ЭллесарДата: Суббота, 11 Июнь 2011, 16:27:27 | Сообщение # 111
DeMoN
Группа: Ветераны
Сообщений: 912
Награды: 1
Репутация: 121
Замечания: 0%
Чтение кода из указанного файла с диска

Code
globals
     string name = null
endglobals

function ReadCode_1 takes nothing returns nothing
       call Preloader(name)
endfunction
function ReadCode takes string name_file returns nothing
     set name = name_file
     call ExecuteFunc("ReadCode_1")
endfunction


Должны быть включенны лок файлы. можно прописать так:

Code
[HKEY_CURRENT_USER\Software\Blizzard Entertainment\Warcraft III]
"Allow Local Files"=dword:00000001


Главная функция в этом файле -

function PreloadFiles takes nothing returns nothing
//ваш код
endfunction

переменная name - путь к вашему файлу (напр "war\\tf.txt")

очень полезно при тесте карты, когда её можно не закрывать, но вносить поправки.
(все глобальные переменные, функции игры нельзя использовать в этом коде, но их можно перенести. если объявляете глобальные переменные в вашем файле,область видимости переменных - данный файл.
 

subakuДата: Вторник, 14 Июнь 2011, 09:46:44 | Сообщение # 112
6 уровень
Группа: Проверенные
Сообщений: 174
Награды: 0
Репутация: -18
Замечания: 20%
Эллесар, О_О нифинга себе...
Quote (Эллесар)
очень полезно при тесте карты, когда её можно не закрывать, но вносить поправки.

Сделай ещё чтоб в игре были видны изменения о_о

Добавлено (14-06-2011, 09:43)
---------------------------------------------

Как можно оптимизировать?

Добавлено (14-06-2011, 09:46)
---------------------------------------------
Эллесар, кстати, ф-ю прелоад лучше же использовать в иниц. карты? если это та, о которой думаю я ( создание спецеффектов, и других ресурсов для спеллов и их удаление)


ФЕНИКС ЧО


Сообщение отредактировал subaku - Вторник, 14 Июнь 2011, 09:45:19
 

SirNikolasДата: Вторник, 14 Июнь 2011, 11:14:17 | Сообщение # 113
10 уровень
Группа: Проверенные
Сообщений: 2421
Награды: 0
Репутация: 366
Замечания: 0%
Quote (Эллесар)
все глобальные переменные, функции игры нельзя использовать в этом коде, но их можно перенести.
Каким образом?

subaku, твой код проще переписать с нуля.




Сообщение отредактировал SirNikolas - Вторник, 14 Июнь 2011, 11:17:53
 

subakuДата: Вторник, 14 Июнь 2011, 11:45:21 | Сообщение # 114
6 уровень
Группа: Проверенные
Сообщений: 174
Награды: 0
Репутация: -18
Замечания: 20%
SirNikolas, с таким кодом вар фатал выдаёт, даже не запустив вар)

ФЕНИКС ЧО


Сообщение отредактировал subaku - Вторник, 14 Июнь 2011, 12:00:06
 

SirNikolasДата: Вторник, 14 Июнь 2011, 12:06:18 | Сообщение # 115
10 уровень
Группа: Проверенные
Сообщений: 2421
Награды: 0
Репутация: 366
Замечания: 0%
Quote (subaku)
вар фатал выдаёт, даже не запустив вар
Ничего не понимаю. Как незапущенная программа может фаталить?

 

subakuДата: Вторник, 14 Июнь 2011, 14:30:38 | Сообщение # 116
6 уровень
Группа: Проверенные
Сообщений: 174
Награды: 0
Репутация: -18
Замечания: 20%
Quote (SirNikolas)
Ничего не понимаю. Как незапущенная программа может фаталить

ну всмысле, карта не успевает начать загружаться, и уже фатал.

ФЕНИКС ЧО
 

ЭллесарДата: Вторник, 14 Июнь 2011, 17:12:49 | Сообщение # 117
DeMoN
Группа: Ветераны
Сообщений: 912
Награды: 1
Репутация: 121
Замечания: 0%
Quote (SirNikolas)
Каким образом?


Для integera:

GetPlayerTechMaxAllowed
SavePlayerTechMaxAllowed

для строки меняют имя, 15 игрока к примеру.
для реального позицию стартовой точки...

Если надо запустить свою функцию, то нужно использовать ExecuteFunc("имя функции")

Quote (subaku)
Эллесар, О_О нифинга себе...

это ещё цветочки, ягодки, когда читаешь данные с интернета. Возможно создавать игру для более 12 игроков...хранить данные игрока, переход из одной карты в другую.
 

SirNikolasДата: Вторник, 14 Июнь 2011, 17:45:35 | Сообщение # 118
10 уровень
Группа: Проверенные
Сообщений: 2421
Награды: 0
Репутация: 366
Замечания: 0%
Quote (Эллесар)
Для integera:

GetPlayerTechMaxAllowed
SavePlayerTechMaxAllowed
для строки меняют имя 15 игрока, к примеру.
для реального позицию стартовой точки...
Ага, я пытался разобраться в Data Manager'е. Но если нам нужно сохранить две строки, в качестве имени игрока запишется только последняя.

 

ЭллесарДата: Вторник, 14 Июнь 2011, 20:55:15 | Сообщение # 119
DeMoN
Группа: Ветераны
Сообщений: 912
Награды: 1
Репутация: 121
Замечания: 0%
Quote (SirNikolas)
Ага, я пытался разобраться в Data Manager'е. Но если нам нужно сохранить две строки, в качестве имени игрока запишется только последняя.

а экзекут для чего? сначало меняй имя игрока, потом вызываем Execute("ex_string")

function ex_string takes nothing returns nothing
//записываем в любую переменную имя игрока
set Mystr[kount] = Имя игрока
set kount = kount + 1
endfunction

то есть в файле меняем имя игрока, и записываем стринг в переменную. И можно повторить

Сообщение отредактировал Эллесар - Вторник, 14 Июнь 2011, 20:55:55
 

subakuДата: Пятница, 17 Июнь 2011, 12:42:36 | Сообщение # 120
6 уровень
Группа: Проверенные
Сообщений: 174
Награды: 0
Репутация: -18
Замечания: 20%
Quote (Эллесар)
это ещё цветочки, ягодки, когда читаешь данные с интернета. Возможно создавать игру для более 12 игроков...хранить данные игрока, переход из одной карты в другую.

На хгме же был проект ММО на варике, даже некоторое время играли, а сейчас загнулся на неопределённый срок этот серв.

ФЕНИКС ЧО
 

DeadJassДата: Среда, 06 Июль 2011, 20:04:00 | Сообщение # 121
7 уровень
Группа: Проверенные
Сообщений: 447
Награды: 0
Репутация: 30
Замечания: 60%
Может уже было.но все же вдруг кто забыл.
Ну опоптные Jassers самыи сделают но новичкам думаю пригодится
ф-ия по создаюнию дами добавление абилки и кастом ее в точку

Code
function AbUnit takes unit u,integer id,integer lvl,real time,integer order,real x,real y  returns nothing
call UnitApplyTimedLife(u,'BTLF',time)
call UnitAddAbility(u,id)
call SetUnitAbilityLevel(u,id,lvl)
call IssuePointOrderById(u,order,x,y)
endfunction



^ кликабельно
Archers Of The Island v1.8 - на стадии завершения
 

FkoFFДата: Среда, 06 Июль 2011, 20:53:13 | Сообщение # 122
10 уровень
Группа: КоМодераторы
Сообщений: 4092
Награды: 0
Репутация: 1015
Замечания: 40%
DeadJass, лучше пусть функция еще и создает дамми (для сокращения длины кода + фиксации дамми юнита)



Отличный трек: Blue Foundation - Ricochet

Модерирую реальность.
 

BinGOДата: Четверг, 07 Июль 2011, 02:45:32 | Сообщение # 123
10 уровень
Группа: КоМодераторы
Сообщений: 1508
Награды: 3
Репутация: 630
Замечания: 0%
Каждый делает по-своему. Но, действительно, было бы удобнее написать полную функцию с созданием, кастом и удалением даммика.
 

ЭллесарДата: Четверг, 07 Июль 2011, 03:18:25 | Сообщение # 124
DeMoN
Группа: Ветераны
Сообщений: 912
Награды: 1
Репутация: 121
Замечания: 0%
Удалять лучше через таймер исчезновение, утечек не создает.
 

FkoFFДата: Четверг, 07 Июль 2011, 03:25:31 | Сообщение # 125
10 уровень
Группа: КоМодераторы
Сообщений: 4092
Награды: 0
Репутация: 1015
Замечания: 40%
Quote (Эллесар)
Удалять лучше через таймер исчезновение, утечек не создает.

если на дамми не ссылается ни одна переменная то не будет и утечки спустя 80 секунд, ты же знаешь.



Отличный трек: Blue Foundation - Ricochet

Модерирую реальность.
 

Форум о Warcraft 3 » Раздел для картостроителей » GUI / Jass » [ВАЖНО] Jass: Полезные функции
Страница 5 из 7«1234567»
Поиск:

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