War-Cry |
Дата: Вторник, 20.10.2009, 18:30 | Сообщение # 1 |
Системный АдминчеГ
Группа: Администраторы
Сообщений: 453
Награды: 14
Статус: Offline
|
Эта наработка очень проста в использовании, требует мозг с КПД > 60% Эта достаточно интересная система (System of Index\Система Указателей) сделана на основе простых стандартных функциях варкрафта. Очень гибкая система, подходит для мультиплеера! Текст правда будет отображаться для всех, но это можно исправить если вам это нужно! Система создана специально для проекта World of Fariell Не работает с 1.24 Импорт: 1. Создаете переменную типа Кеш с название "gc" и инициализируете его при загрузке карты 2. Импортируете этот код в нестандартный код сценария: [jass] function H2I takes handle h returns integer return h return 0 endfunction function I2Time takes integer i returns timer return i return null endfunction function I2TT takes integer i returns texttag return i return null endfunction function I2T takes integer i returns trigger return i return null endfunction function I2U takes integer i returns unit return i return null endfunction //Return Bugs function SetIParam takes handle h, string key, integer i returns nothing call StoreInteger(udg_gc, I2S(H2I(h)), key, i) endfunction function GetIParam takes handle h, string key returns integer return GetStoredInteger(udg_gc, I2S(H2I(h)), key) endfunction function SetRParam takes handle h, string key, real i returns nothing call StoreReal(udg_gc, I2S(H2I(h)), key, i) endfunction function GetRParam takes handle h, string key returns real return GetStoredReal(udg_gc, I2S(H2I(h)), key) endfunction function SetSParam takes handle h, string key, string i returns nothing call StoreString(udg_gc, I2S(H2I(h)), key, i) endfunction function GetSParam takes handle h, string key returns string return GetStoredString(udg_gc, I2S(H2I(h)), key) endfunction function Flush takes handle h returns nothing call FlushStoredMission(udg_gc, I2S(H2I(h))) endfunction // System of Index function HideIndexText takes nothing returns nothing local timer t = GetExpiredTimer() local texttag tt = I2TT(GetIParam(t,"texttag")) call DestroyTextTag(tt) call Flush(t) call DestroyTimer(t) set t = null set tt = null endfunction function ShowIndexText takes nothing returns nothing local trackable index = GetTriggeringTrackable() local timer t = I2Time(GetIParam(index,"timer")) local real life = GetRParam(index,"time") local string text = GetSParam(index,"text") local real x = GetRParam(index,"x") local real y = GetRParam(index,"y") local texttag tt = I2TT(GetIParam(index,"texttag")) if t == null then set t = CreateTimer() set tt = CreateTextTag() call TimerStart(t,life,false,function HideIndexText) call SetTextTagPos(tt,x,y,150) call SetTextTagText(tt,text,10*0.023 / 10) call SetIParam(t,"texttag",H2I(tt)) call SetIParam(index,"texttag",H2I(tt)) endif set x = 0 set y = 0 set text = null set life = 0 set t = null set tt = null set index = null endfunction function CreateIndex takes string text, string model, real x, real y, real rotate, real textlife returns nothing local trackable index = CreateTrackable(model,x,y,rotate) local trigger t = CreateTrigger() call SetRParam(index,"x",x) call SetRParam(index,"y",y) call SetSParam(index,"text",text) call SetRParam(index,"time",textlife) call TriggerRegisterTrackableTrackEvent(t,index) call TriggerAddAction(t,function ShowIndexText) set t = null set index = null endfunction [/jass] 3. Затем чтобы создать указатель нужно воспользоваться функцией call CreateIndex(text,model,x,y,rotate) text - тип строчка, указывает текст который будет выводиться на указателе model - тип строчка, указывает путь к модели указатели (пример: "war3mapImported\\TavernSign.mdx") x,y - координаты указателя соответственно x и y rotate - угол поворота указателя Пример использования функции: call CreateIndex("Taverna","war3mapImported\\TavernSign.mdx",225,-160,258,5) Если вы не знаете как пользоваться Jass кодами то воспользуйтесь функцией в тригерах CustomScript. Координаты указателя можно определить с помощью окна редактора мира. Для этого вам и нужны мозги! Они указываются в нижнем левом углу редактора.
|
|
| |
stalker |
Дата: Среда, 21.10.2009, 21:21 | Сообщение # 2 |
Группа: Модераторы сайта
Сообщений: 191
Награды: 2
Замечания: 20%
Статус: Offline
|
War-Cry, а как ты камеру как на скрине сделал ?!
|
|
| |
War-Cry |
Дата: Четверг, 22.10.2009, 13:23 | Сообщение # 3 |
Системный АдминчеГ
Группа: Администраторы
Сообщений: 453
Награды: 14
Статус: Offline
|
stalker, это тестовая карта WoF!Добавлено (22.10.2009, 13:23) --------------------------------------------- stalker, Угол наклона камеры 0 гр и все)))
|
|
| |