1.
new g_fwRoundStart, g_fwGrabEnt, g_fwDropEnt, g_fwNewGameStart, g_fwGameStart, g_fwSwapTeams new g_fwiFakeReturndodajemy przed plugin_init()
2.
g_fwNewGameStart = CreateMultiForward("bb_new_round",ET_IGNORE) g_fwGameStart = CreateMultiForward("bb_timer_started",ET_IGNORE) g_fwRoundStart = CreateMultiForward("bb_zombies_released",ET_IGNORE) g_fwSwapTeams = CreateMultiForward("bb_teams_swapped",ET_IGNORE) g_fwGrabEnt = CreateMultiForward("bb_ent_grabbed",ET_IGNORE, FP_CELL, FP_CELL) g_fwDropEnt = CreateMultiForward("bb_ent_dropped",ET_IGNORE, FP_CELL, FP_CELL)dodajemy do plugin_init()
3.
do Release_Zombies() na samym końcu po client_cmd(0, "spk %s", g_RoundStart) ExecuteForward(g_fwRoundStart,g_fwiFakeReturn)
do event_round_start() na samym końcu po przedostatnim } ExecuteForward(g_fwNewGameStart, g_fwiFakeReturn)
do logevent_round_start() na samym końcu po if (get_pcvar_num(g_pcvar_basecalc) == 1) set_task(5.0, "Base_Calc") ExecuteForward(g_fwGameStart, g_fwiFakeReturn)
do logevent_round_end() po print_color(0, "^x04%L", LANG_SERVER, "TEAMS_SWAPPED") ExecuteForward(g_fwSwapTeams, g_fwiFakeReturn)
do cmdMoveEnt(id) po g_pDist[id] = dist ExecuteForward(g_fwGrabEnt,g_fwiFakeReturn, id, ent)
do cmdStopEnt(id) po g_LastMover[g_pEnt[id]] = id ExecuteForward(g_fwDropEnt,g_fwiFakeReturn, id, g_pEnt[id])
Kiedy się wywołują po kolei
1.Otwarcie klatek zombie - bb_zombies_released()
2.Nowa runda po freeze time - bb_timer_started()
3.Nowa runda przed freeze time - bb_new_round()
4.Zmiana teamów - bb_teams_swapped()
5.Złapanie klocka - bb_ent_grabbed(id, ent)
6.Puszczenie klocka - bb_ent_dropped(id, ent)
Użytkownik DarkGL edytował ten post 06.09.2010 17:41