PDA

Просмотр полной версии : [10089] Change in event system work with pool system.


newsbot
21.06.2010, 06:15
<pre>m sql/mangos.sql
+ sql/updates/10089_01_mangos_game_event_pool.sql
m sql/updates/Makefile.am
m src/game/GameEventMgr.cpp
m src/game/GameEventMgr.h
m src/game/PoolManager.cpp
m src/game/PoolManager.h
m src/game/World.cpp
m src/shared/revision_nr.h
m src/shared/revision_sql.h

[10089] Change in event system work with pool system.

* `game_event_pool` dropped and related in momory data generated
based by another pool tables content.

* Pool work with spawed at event and despawned at event object now different.
- If object listed in `game_event_*` as spawned at event start and it's part
of some pool
then all other pool object must be listed as spawned with this event start,
and more,
if pool has mother pool, then all mother pool members must have objects
spawned at this
event start. More short: all object of some top (not have mother pool) mitbe
or listed for some event start spawn,
or not listed for any event start spawn.
- If object listed in `game_event_*` as DEspawned at event start and it's part
of some pool
then nothing special required for other pool objects. Event systemwil
command to pool system exclude for spawning and despawn referenced
object until event end.

* Many checks has been added at event/pool data loading.
* Changes fix crashes related to event/pool common work.

Thanks to NoFantasy for help in research original problems and ways for improve
code.</pre>



Дальше... (http://github.com/mangos/mangos/commit/0219b08a427de6e405f03fbc19d61c9e93181973)

timmit
21.06.2010, 08:49
Насколько я понял, надо чтобы все Го в пуле были в эвенте или не были, но нельзя чтобы часть была,а другая нет?

YuruY
21.06.2010, 08:59
зы: таблица не айс была, ни одна база почемуто ее не использовала, только у нас там 1 запись "завалялась". =)

Vladimir
21.06.2010, 11:02
объекты спавнящиеся и деспавнящиеся при старте эвента обрабатываюстя теперь несимметрично.

1. если объекты из пула добавляются при начале эвента то _все_ объекты в пулах подпулах и т.д. для пула верхнего уровня (не являющегося частью другого пула) должны быть в том же эвенте

2. если объекты даспавнятся при старте эвента, то их членство в пулах не важно.
Тоесть вы можете например деспавнит объект из другого эвента. Его спав фактически блокируется.