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


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 2 из 2
  • «
  • 1
  • 2
Модератор форума: PUVer, SirNikolas, Ty3uK  
Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » Прирост золота
Прирост золота
SirNikolasДата: Пятница, 14 Декабря 2012, 20:36:34 | Сообщение # 26
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Quote (Extremator)
даёшь 1 таймер, 1 переменную типа юнит с массивом, 1 переменную типа реальная с массивом и 1 целую...
Зачем?


 

ExtrematorДата: Пятница, 14 Декабря 2012, 21:10:57 | Сообщение # 27
10 уровень
Группа: Проверенные
Сообщений: 3199
Награды: 0
Репутация: 1018
Блокировки:
Quote (SirNikolas)
Зачем?

строим ферму, заносим в массив... работаем



нафапано, зато стабильно...

можно ещё БД подключить, если у разных зданий разный доход и время... хД


Сообщение отредактировал Extremator - Суббота, 15 Декабря 2012, 09:12:55
 

MOHCTEPДата: Суббота, 15 Декабря 2012, 07:57:44 | Сообщение # 28
2 уровень
Группа: Пользователи
Сообщений: 27
Награды: 0
Репутация: -10
Блокировки:
ну вот с картой уже проще работать но как вы говорите джасс обьяснить и из этого вытикает вопрос чё обьясняешь?ну и вообше я бы посоветовал вам всем сделать нормальный гайд про переменные и вопрос будет решён желательно с примерами и всё

Тормоз тоже механизм
 

ExtrematorДата: Суббота, 15 Декабря 2012, 09:17:14 | Сообщение # 29
10 уровень
Группа: Проверенные
Сообщений: 3199
Награды: 0
Репутация: 1018
Блокировки:
MOHCTEP, переменная это стикер, на который ты помещаешь нужные данные...
эти стикеры бывают разных видов - юнит, число, предмет, декорация, таймер...
кратко и доступно не объяснить... нужно будет покопаться... до некое уровня понимания...
а дальше ты уже сам строишь систему которой и подчинишь нужные тебе данные и будет с ними работать =_=

 

ВолчачкаДата: Суббота, 15 Декабря 2012, 09:22:11 | Сообщение # 30
САЙТ УМЕР ППЦ
Группа: Проверенные
Сообщений: 1361
Награды: 0
Репутация: 2165
Блокировки:
MOHCTEP, Вот пример на джассе выгоден лучше, а если через гуи, могут быть лагги. И нечестно начисляться когда, ферма ещё строится. А тут после постройки идет начисление)

v Автор данной функции Я!!!!!!
Code
function NL_GoldSnap takes nothing returns nothing
local timer t = GetExpiredTimer()
local integer id=GetHandleId(t)
local unit cs = LoadUnitHandle(udg_LNK,id,StringHash("FARM"))
if GetUnitState(cs, UNIT_STATE_LIFE) <= 0 then
call DestroyTimer(t)
call FlushChildHashtable(udg_LNK,id)
else
call SetPlayerState(GetOwningPlayer(cs),PLAYER_STATE_RESOURCE_GOLD,GetPlayerState(GetOwningPlayer(cs),PLAYER_STATE_RESOURCE_GOLD)+2)
call SetPlayerState(GetOwningPlayer(cs),PLAYER_STATE_RESOURCE_LUMBER,GetPlayerState(GetOwningPlayer(cs),PLAYER_STATE_RESOURCE_LUMBER)+1)
endif
set t=null
set cs=null
endfunction

function Trig_GoldSnap_Actions takes nothing returns nothing
local unit cs = GetConstructedStructure()
local timer t = CreateTimer()
local integer id = GetHandleId(t)
call SaveUnitHandle(udg_LNK,id,StringHash("FARM"),cs)
call TimerStart(t,30.,true,function NL_GoldSnap)
set t=null
set cs=null
endfunction

function Trig_GoldSnap_Conditions takes nothing returns boolean
return (GetUnitTypeId(GetConstructedStructure())=='hhou')
endfunction

//===========================================================================
function InitTrig_GoldSnap takes nothing returns nothing
        set gg_trg_GoldSnap = CreateTrigger(  )
        call TriggerRegisterPlayerUnitEvent(gg_trg_GoldSnap,Player(0),EVENT_PLAYER_UNIT_CONSTRUCT_FINISH,null)
        call TriggerRegisterPlayerUnitEvent(gg_trg_GoldSnap,Player(1),EVENT_PLAYER_UNIT_CONSTRUCT_FINISH,null)
        call TriggerRegisterPlayerUnitEvent(gg_trg_GoldSnap,Player(2),EVENT_PLAYER_UNIT_CONSTRUCT_FINISH,null)
        call TriggerRegisterPlayerUnitEvent(gg_trg_GoldSnap,Player(3),EVENT_PLAYER_UNIT_CONSTRUCT_FINISH,null)
        call TriggerAddCondition(gg_trg_GoldSnap,Condition(function Trig_GoldSnap_Conditions))
        call TriggerAddAction( gg_trg_GoldSnap, function Trig_GoldSnap_Actions )
endfunction

Хеш таблицу udg_LNK надо инициализировать в начале)
В инициализации карты
Code
set udg_LNK=InitHashtable()


Сообщение отредактировал Волчачка - Суббота, 15 Декабря 2012, 09:59:30
 

Imba_pvLДата: Суббота, 15 Декабря 2012, 09:50:15 | Сообщение # 31
10 уровень
Группа: Проверенные
Сообщений: 3151
Награды: 1
Репутация: 1260
Блокировки:
MOHCTEP, мля ты чего творишь тебе же карту скинули уже все свою версию сказали
так что тебе еще нужно, хочешь я тебе карту скину, там наработок очень много, не знаю от кого она мне помогает до сих пор когда разберешься потом задай норм вопрос
вот сама карта думаю она всем новичкам поможет с комментариями
http://rghost.ru/42252215


 

ВолчачкаДата: Суббота, 15 Декабря 2012, 10:01:58 | Сообщение # 32
САЙТ УМЕР ППЦ
Группа: Проверенные
Сообщений: 1361
Награды: 0
Репутация: 2165
Блокировки:
Чуток подправил свой пост выше (#30), там подстроил по накопление, как хотел автор темы)
Quote (Imba_pvL)
там наработок очень много

Он может запутаться)
Лучше бы скинул с одной весомой наработкой, которая по теме)
 

Imba_pvLДата: Суббота, 15 Декабря 2012, 10:13:18 | Сообщение # 33
10 уровень
Группа: Проверенные
Сообщений: 3151
Награды: 1
Репутация: 1260
Блокировки:
Волчачка, у меня иногда такое чувство что мы сами с собой разговариваем а автор спит и никогда на сайт не отвечает :)

 

ВолчачкаДата: Суббота, 15 Декабря 2012, 10:15:34 | Сообщение # 34
САЙТ УМЕР ППЦ
Группа: Проверенные
Сообщений: 1361
Награды: 0
Репутация: 2165
Блокировки:
Quote (Imba_pvL)
у меня иногда такое чувство что мы сами с собой разговариваем а автор спит и никогда на сайт не отвечает

Согласен.
Как тебе мой пример ? :)
 

Imba_pvLДата: Суббота, 15 Декабря 2012, 10:17:38 | Сообщение # 35
10 уровень
Группа: Проверенные
Сообщений: 3151
Награды: 1
Репутация: 1260
Блокировки:
Quote (Волчачка)
Как тебе мой пример ?

????))


 

ВолчачкаДата: Суббота, 15 Декабря 2012, 10:18:49 | Сообщение # 36
САЙТ УМЕР ППЦ
Группа: Проверенные
Сообщений: 1361
Награды: 0
Репутация: 2165
Блокировки:
Imba_pvL, Сообщение # 30
 

Imba_pvLДата: Суббота, 15 Декабря 2012, 10:21:53 | Сообщение # 37
10 уровень
Группа: Проверенные
Сообщений: 3151
Награды: 1
Репутация: 1260
Блокировки:
Волчачка, автор впервые слышит слово переменные =))
джасс ему как до небоскреба но все равно вдруг он все таки напишет сюда что-нить и скажет что ему лучше :D


 

MOHCTEPДата: Суббота, 15 Декабря 2012, 10:56:19 | Сообщение # 38
2 уровень
Группа: Пользователи
Сообщений: 27
Награды: 0
Репутация: -10
Блокировки:
вот не надо "скрыто" оскарблять я просто хочу разобраться чтобы понять что к чему и чтоб потом самому делать


Тормоз тоже механизм
 

ВолчачкаДата: Суббота, 15 Декабря 2012, 10:56:34 | Сообщение # 39
САЙТ УМЕР ППЦ
Группа: Проверенные
Сообщений: 1361
Награды: 0
Репутация: 2165
Блокировки:
Imba_pvL, Кстати некоторые джасс функции можно внедрить в обычное WE, даже не будет ругаться ибо проверял. Но, не все могут.
Но данная моя функция внедряема в обычное WE, главное создать триг GoldSnap, потом сконвертить его в текст, и вставить в него этот код)


Сообщение отредактировал Волчачка - Суббота, 15 Декабря 2012, 10:57:08
 

Imba_pvLДата: Суббота, 15 Декабря 2012, 11:09:52 | Сообщение # 40
10 уровень
Группа: Проверенные
Сообщений: 3151
Награды: 1
Репутация: 1260
Блокировки:
Волчачка, мм=)
MOHCTEP, тогда почему ты всегда молчишь напиши уж как тебе удобней
уже все кинули и обяснили


 

MOHCTEPДата: Суббота, 15 Декабря 2012, 11:34:16 | Сообщение # 41
2 уровень
Группа: Пользователи
Сообщений: 27
Награды: 0
Репутация: -10
Блокировки:
просто понимаете это как дебаты все кричат условно и каждый говорит что его способ лутше я скачал то что ты кидал и все меня устраивает можно закрывать тему
всем СПС


Тормоз тоже механизм
 

Imba_pvLДата: Суббота, 15 Декабря 2012, 11:36:39 | Сообщение # 42
10 уровень
Группа: Проверенные
Сообщений: 3151
Награды: 1
Репутация: 1260
Блокировки:
Quote (MOHCTEP)
можно закрывать тему

ура :D


 

SirNikolasДата: Суббота, 15 Декабря 2012, 12:10:10 | Сообщение # 43
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Quote (Волчачка)
Сообщение # 30
Ну и зачем на каждого юнита по таймеру? Srezi и Extremator уже все объяснили.


 

ExtrematorДата: Суббота, 15 Декабря 2012, 12:20:57 | Сообщение # 44
10 уровень
Группа: Проверенные
Сообщений: 3199
Награды: 0
Репутация: 1018
Блокировки:
ещё могу такой вариант предложить...

тригг 1
юнит построен, если юнит является Фермой, то... если группу G пустая, то запустить таймер T... далее, просто заталкать его (юнита) в группу G

тригг 2
при срабатывании таймера Т, брать группу G и если пикнутый юнит жив, то дать денег его вдалельцу... иначе - убрать его из группы G...
далее, если группа G пуста - запаузить таймер Т

Хз куда проще...
 

Imba_pvLДата: Суббота, 15 Декабря 2012, 12:25:30 | Сообщение # 45
10 уровень
Группа: Проверенные
Сообщений: 3151
Награды: 1
Репутация: 1260
Блокировки:
да уже все =))
2 карты кинули думаю он должен сам разобратся


 

ВолчачкаДата: Суббота, 15 Декабря 2012, 12:52:12 | Сообщение # 46
САЙТ УМЕР ППЦ
Группа: Проверенные
Сообщений: 1361
Награды: 0
Репутация: 2165
Блокировки:
Quote (SirNikolas)
Ну и зачем на каждого юнита по таймеру?

Не шаришь. Ну конечно можно и с группой, но там гуаный метод и геморойный) Если его автор темы предпочтет больше реализовать то пожалуйста)
Та схема, только в группу добавлять так придется
Code

call GroupAddUnit(udg_G,GetConstructingStructed()]

+ ещё один триггер на начисление
Code
local unit u
call GroupAddGroup(udg_G,udg_I)
loop
      set u=FirstOfGroup(udg_I)
      call SetPlayerState(GetOwningPlayer(u),PLAYER_STATE_RESOURCE_GOLD,GetPlayerState(GetOwningPlayer(u),PLAYER_STATE_RESOURCE_GOLD)+2)      
      call SetPlayerState(GetOwningPlayer(u),PLAYER_STATE_RESOURCE_LUMBER,GetPlayerState(GetOwningPlayer(u),PLAYER_STATE_RESOURCE_LUMBER)+1)      
      call GroupRemoveUnit(udg_I,u)
      exitwhen u==null
endloop
call GroupClear(udg_I)

При смерти
Code
call GroupRemoveUnit(udg_G,GetDyingUnit())

Николас что вроде этого да ?


Сообщение отредактировал Волчачка - Суббота, 15 Декабря 2012, 12:54:06
 

SirNikolasДата: Суббота, 15 Декабря 2012, 13:28:21 | Сообщение # 47
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Волчачка, я ни слова не сказал про необходимость использования группы. Я лишь заметил, что хватит одного таймера.

 

Sap_phireДата: Суббота, 15 Декабря 2012, 13:38:04 | Сообщение # 48
5 уровень
Группа: Проверенные
Сообщений: 112
Награды: 0
Репутация: 936
Блокировки:
Вообще чтоб утечку убрать вроде переменную группы надо? Или я не шарю?

пойдёт
 

ВолчачкаДата: Суббота, 15 Декабря 2012, 13:47:01 | Сообщение # 49
САЙТ УМЕР ППЦ
Группа: Проверенные
Сообщений: 1361
Награды: 0
Репутация: 2165
Блокировки:
SirNikolas, Я просто рассчитывал так много-таймер потому смотри Николас: типа мы построили ферму ок. и по ней начисляется каждые 30 секунд с момента постройка,
то есть разные фермы будут начислять в разные немного интервалы типа как объяснить. Разные промежутки + нету лага при выборе всех из одной или массы. Все равно ферм будет мало на игрока )

Добавлено (15 Декабря 2012, 13:47:01)
---------------------------------------------

Quote (Sap_phire)
Вообще чтоб утечку убрать вроде переменную группы надо? Или я не шарю?

Группа глобальная, в глобалках нету утечек, и да надо из группы удалять юнит, когда он дохнет.
и при выборе из одной группы тоже, чтобы закончить пик.)


Сообщение отредактировал Волчачка - Суббота, 15 Декабря 2012, 13:45:15
 

Sap_phireДата: Суббота, 15 Декабря 2012, 14:27:42 | Сообщение # 50
5 уровень
Группа: Проверенные
Сообщений: 112
Награды: 0
Репутация: 936
Блокировки:
А, ну понятно.

пойдёт
 

Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » Прирост золота
  • Страница 2 из 2
  • «
  • 1
  • 2
Поиск:

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