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


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: PUVer, SirNikolas, Ty3uK  
Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » Локальные переменные
Локальные переменные
PrevedmedvedДата: Вторник, 08 Февраля 2011, 23:55:54 | Сообщение # 1
2 уровень
Группа: Проверенные
Сообщений: 38
Награды: 0
Репутация: 1
Блокировки:
Насколько я понимаю, триггеры делятся на глобальные и локальные.
И глобальные не позволяют с стопроцентной работоспособностью 2 боевым единицам использовать 1 заклинания привязанное к этому глобальному триггеру.
Собственно и вопрос, как осуществить действия триггера так, что бы его могли одновременно использовать более 1 боевой единицы?

Еще очень хочется узнать на чём стоит система "шансов", на подобии "10% оглушить и нанести урон, ля-ля" но в совершенно других ситуациях.

Если уже есть темы, где эти вопросы уже разгрызли, то можно ссылку? Поиск мне не помог.

 

EdiTTORRДата: Среда, 09 Февраля 2011, 01:22:39 | Сообщение # 2
8 уровень
Группа: Проверенные
Сообщений: 585
Награды: 0
Репутация: 147
Блокировки:
Quote (Prevedmedved)
Еще очень хочется узнать на чём стоит система "шансов", на подобии "10% оглушить и нанести урон, ля-ля" но в совершенно других ситуациях.
Тут просто активация полушарий мосКа...
ставить и=случайное число от 1 до 100
//10%
если и<10 то
... первый вар-т действия
//20%
если и<20 то
... первый вар-т действия
//30%
если и<30 то
... первый вар-т действия
Quote (Prevedmedved)
И глобальные не позволяют с стопроцентной работоспособностью 2 боевым единицам использовать 1 заклинания привязанное к этому глобальному триггеру.
Собственно и вопрос, как осуществить действия триггера так, что бы его могли одновременно использовать более 1 боевой единицы?

Глобальные переменные позволяют хранить информацию до конца игры, локальные работают в пределах одной функции.
У локальных переменных в РАЗНЫХ функциях могут быть одинковые имена.
Пример локальных переменных:


Местами здесь.


Сообщение отредактировал EdiTTORR - Среда, 09 Февраля 2011, 01:25:50
 

DreiiДата: Среда, 09 Февраля 2011, 07:20:53 | Сообщение # 3
10 уровень
Группа: Проверенные
Сообщений: 4991
Награды: 0
Репутация: 603
Блокировки:
Quote (EdiTTORR)
local - ключ.слово, менять его всё равно что писать на 90 градусов вверх.

Улыбнуло


 

PrevedmedvedДата: Среда, 09 Февраля 2011, 11:19:04 | Сообщение # 4
2 уровень
Группа: Проверенные
Сообщений: 38
Награды: 0
Репутация: 1
Блокировки:
Quote (EdiTTORR)
Тут просто активация полушарий мосКа...
ставить и=случайное число от 1 до 100
//10%
если и<10 то
... первый вар-т действия
//20%
если и<20 то
... первый вар-т действия
//30%
если и<30 то
... первый вар-т действия

Хм. Я этим и пользуюсь... Но мне кажется что если использовать случайное число, а потом указывать рамки чисел, в которых должно войти это число, то получается какое-то несовершенство.
Грубо говоря, тут полная случайность.
В своей карте ставил случайное число от 1 до 100, и если любое число входило в рамки 1-25 то цели наносило 50 урона.
За 7 ударов ни одного прока. А после сработало 4 раза подряд.

Quote (EdiTTORR)
События
Юнит применяет закл.
Условия
Закл=ляляля
Действия
Custom script: local unit u=GetTriggerUnit()//создаём локальную переменную типа юнит и присваиваем ей TriggeringUnit, local - ключ.слово, менять его всё равно что писать на 90 градусов вверх.
Ждать 30 сек
Custom script: call KillUnit(u)
Custom script: set u=null

Спасибо, интересный вариант.
Пойду сделаю короткий тест.
 

NestrikДата: Среда, 09 Февраля 2011, 15:18:19 | Сообщение # 5
4 уровень
Группа: Пользователи
Сообщений: 88
Награды: 0
Репутация: 7
Блокировки:
Да нет, просто любое случайное число нифига не случайно :) Эта тему уже промыливалась много раз, и все сводится к тому, что для "назначения" случайного числа можно сделать более случайным только добавлением большого числа ступеней назначения.
Иначе говоря: случайное число, в существующий момент времени, зависит от, скажем, секунд в данный момент времени, а так же загруженности процессора и еще нескольких простых параметров.
Если этих параметров сделать 10 и они будут постоянными, то рандом будет примерно одним и тем же; если сделать этих параметров 100, то рандом будет более "рандомный", а если параметров сделать 1000 и для каждого параметра сделать случайное число, зависящее еще от других параметров, то тогда вот получится почти настоящий рандом.

Тебе могу посоветовать использовать несколько ступенек рандомирования: берешь число от 1 до 100, затем снова число от 1 до 100 и еще раз (так пока не надоест), затем можешь их перемножать, делить складывать, и вычитать: чем сложнее система тем более равномерная вероятность выпадения шанса будет.
Еще как вариант можно выбрасывать число от 1 до 1000, а затем брать участки 1-10, 101-110, 201-210 .... 901-910 - это будет шанс 10%, или скажем брать чет/нечет для 50% вероятности.

Добавлено (09-02-2011, 15:18)
---------------------------------------------

Quote (Prevedmedved)
За 7 ударов ни одного прока. А после сработало 4 раза подряд.

Это все к этому :)

 

PUVerДата: Среда, 09 Февраля 2011, 15:39:43 | Сообщение # 6
Сухопутные крысы!
Группа: Модераторы
Сообщений: 4462
Награды: 8
Репутация: 1845
Блокировки:
Prevedmedved, посмотри Здесь.
 

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

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