Сейчас 15:20:29 Понедельник, 5 декабря, 2022 год
[ x ] Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: PUVer, SirNikolas, Ty3uK  
Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » Триггерный дроп (=\)
Триггерный дроп
2566000Дата: Суббота, 04 Июня 2011, 12:05:25 | Сообщение # 1
5 уровень
Группа: Проверенные
Сообщений: 136
Награды: 0
Репутация: 32
Блокировки:
Подскажите плз как сделать триггерный дроп
 

FkoFFДата: Суббота, 04 Июня 2011, 12:07:30 | Сообщение # 2
Группа: Заблокированные
Сообщений: 4356
Награды: 1
Репутация: 1413
Блокировки:
делаешь на хэше апи на дроп, делаешь базы данных, с кого, мол, что дропается и с каким шансом, сколько максимум предметов может упасть, и делаешь, собственно триггер, в котором будут падать шмотки. Что сложного?

 

2566000Дата: Суббота, 04 Июня 2011, 12:33:04 | Сообщение # 3
5 уровень
Группа: Проверенные
Сообщений: 136
Награды: 0
Репутация: 32
Блокировки:
Нефига не понял=\
Кто может написать событие,условие и действие=\
Плз :'(
 

DeadJassДата: Суббота, 04 Июня 2011, 12:37:20 | Сообщение # 4
7 уровень
Группа: Проверенные
Сообщений: 447
Награды: 0
Репутация: 30
Блокировки:
2566000, тебе дроп предметов или игрока?


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

2566000Дата: Суббота, 04 Июня 2011, 12:38:08 | Сообщение # 5
5 уровень
Группа: Проверенные
Сообщений: 136
Награды: 0
Репутация: 32
Блокировки:
Предметов
 

DeadJassДата: Суббота, 04 Июня 2011, 12:39:34 | Сообщение # 6
7 уровень
Группа: Проверенные
Сообщений: 447
Награды: 0
Репутация: 30
Блокировки:
2566000, Создай базу данных предметов соотнеси предмы из базы к юнитам с которых они будут дропаться)
Ну кароче как сказал FkoFF, так и делай



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

2566000Дата: Суббота, 04 Июня 2011, 12:42:39 | Сообщение # 7
5 уровень
Группа: Проверенные
Сообщений: 136
Награды: 0
Репутация: 32
Блокировки:
Я получается поставил мобов и задал им условие:если они не умрут,то ворота не откроются.Сделал ресс через триггер,но там же идет дроп только до того,когда они 1 раз умерли,потом дропа не будет.Я им поставил скилл ресс,они ресаются,но считается,что они не умирают,поэтому ворота не открываются.

Добавлено (04-06-2011, 12:42)
---------------------------------------------
Дело в том,что я ничего не понял))).Кто может написать событие,действие и условие плз=\

 

Mep3aB4uKДата: Суббота, 04 Июня 2011, 13:08:57 | Сообщение # 8
9 уровень
Группа: Проверенные
Сообщений: 1019
Награды: 0
Репутация: 135
Блокировки:
2566000, Событие - Юнит умирает
Условие(зависимо от того когда ты хочешь чтоб дропалось) Пример: Player(Owned unit(Duing unit) равно нейтрально враждебный....... или Целочисленная - Уровень Умирающего равно 1..... или Тип юнита равно пехотинец ну и т.д.
Действие -(если нужен процент)
Если
Случайное число от 1 до 100 меньше или равно 25 (25% что предмет выпадает) ТО
Создать БЯКУ(предмет) в позиции умирающий юнит
 

[DUОS]Дата: Суббота, 04 Июня 2011, 13:16:24 | Сообщение # 9
Группа: Заблокированные
Сообщений: 6279
Награды: 9
Репутация: 1708
Блокировки:
Quote (2566000)
событие,действие и условие плз=\

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

Событие - Map Initialization
Условия - нет.
Действия:

Custom Script: set udg_H = InitHashtable()
set Unit = твой_юнит
Custom Script: call SaveInteger(udg_H,GetHandleId(udg_Unit),0,равкод_предмета_для_дропа_с_этого_юнита)
Custom Script: call SaveInteger(udg_H,GetHandleId(udg_Unit),1,0)


Выделенное жёлтым повторяй до тех пор, пока не проставишь всем юнитам предметы для дропа. Нужно создать переменные H (хэш-таблица) и Unit (боевая единица).

Второй триггер для дропа так:

Событие - A unit Умирает
Условие - (Unit-type of((Triggering Unit)) is Тип_Твоего_Моба)) равно Да
Действия:

Custom Script: if LoadInteger(udg_H,GetHandleId(GetTriggerUnit()),1) == 0 then
Custom Script: call CreateItem(LoadInteger(udg_H,GetHandleId(GetTriggerUnit()),0),GetWidgetX(GetTriggerUnit()),GetWidgetY(GetTriggerUnit()))
Custom Script: call SaveInteger(udg_H,GetHandleId(GetTriggerUnit()),1,1)
Custom Script: endif

Выделенное серым проставь для всех типов мобья. И тогда дроп будет только после первой смерти.


НУ И ЧТО ТЕПЕРЬ?


Кликайте на дракошку ;)
 

2566000Дата: Суббота, 04 Июня 2011, 13:48:08 | Сообщение # 10
5 уровень
Группа: Проверенные
Сообщений: 136
Награды: 0
Репутация: 32
Блокировки:
Quote (|DUОS|)
[DUОS]

Спс большое,но ты меня не правильно понял.У меня и так стоит дроп после первой смерти,так,как я использовал обычный дроп,и когда мобы ресаются,то с них уже дропа нету=\,а мне нужно,чтобы он всегда был.Но всеравно спс что уделил время=)),а то тут практически все лентяи))

Добавлено (04-06-2011, 13:48)
---------------------------------------------

Quote (Mep3aB4uK)
Случайное число от 1 до 100 меньше или равно 25
я немного не понял=\.А где там выбрать случайное число? ^_^
 

romaN-1998Дата: Суббота, 04 Июня 2011, 14:40:26 | Сообщение # 11
10 уровень
Группа: Проверенные
Сообщений: 1368
Награды: 0
Репутация: 10
Блокировки:
2566000, короче заюзай систему DUOS'а, без выставления первого дропа.
 

2566000Дата: Суббота, 04 Июня 2011, 15:22:18 | Сообщение # 12
5 уровень
Группа: Проверенные
Сообщений: 136
Награды: 0
Репутация: 32
Блокировки:
Ясно спс сейчас попробую))
 

SirNikolasДата: Суббота, 04 Июня 2011, 17:06:48 | Сообщение # 13
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Quote (|DUОS|)
if LoadInteger(udg_H,GetHandleId(GetTriggerUnit()),1) == 0 then
А что же возвращает эта функция, если приписанное значение отсутствует?


 

FkoFFДата: Воскресенье, 05 Июня 2011, 09:05:53 | Сообщение # 14
Группа: Заблокированные
Сообщений: 4356
Награды: 1
Репутация: 1413
Блокировки:
SirNikolas, null

 

zinfДата: Вторник, 16 Августа 2011, 18:29:38 | Сообщение # 15
7 уровень
Группа: Проверенные
Сообщений: 312
Награды: 0
Репутация: 44
Блокировки:
У меня вот такой вариант:

http://s59.radikal.ru/i163/1108/e9/e3fbb05ee14e.jpg

Только скажите что я не так поставил что предметы не выпадают, что и где нужно изменить?
 

Arthur_666_Дата: Вторник, 16 Августа 2011, 18:45:24 | Сообщение # 16
8 уровень
Группа: Проверенные
Сообщений: 632
Награды: 0
Репутация: 238
Блокировки:
некропост idiot

Beetops
 

zinfДата: Вторник, 16 Августа 2011, 18:52:41 | Сообщение # 17
7 уровень
Группа: Проверенные
Сообщений: 312
Награды: 0
Репутация: 44
Блокировки:
Угу =_=, но тем не менее я не буду как нуб создавать новую тему и засырать форум а спрошу тут)
 

FkoFFДата: Вторник, 16 Августа 2011, 18:59:51 | Сообщение # 18
Группа: Заблокированные
Сообщений: 4356
Награды: 1
Репутация: 1413
Блокировки:
Quote (zinf)
Только скажите что я не так поставил что предметы не выпадают, что и где нужно изменить?


Сразу в глаза бросается - случайное число выдается раз в секунду а не в момент дропа. Т.Е если ты за секунду убьешь 100 рабов, а в эту же секунду дроп был в нужном размере - то выпадет 100 предметов.

Второй момент в глаза бросается - юнит игрока нейтрально-враждебный. Если тут все нормально то вопросов не имею.

А вообще в фрагменте "if\then\else" Замени на условие: Integer Comparison: Random Integer (1-100) меньше или равно "число, равное нужному проценту"


 

zinfДата: Вторник, 16 Августа 2011, 19:34:30 | Сообщение # 19
7 уровень
Группа: Проверенные
Сообщений: 312
Награды: 0
Репутация: 44
Блокировки:
Работает,большое спасибо =3
 

Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » Триггерный дроп (=\)
  • Страница 1 из 1
  • 1
Поиск:

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