Knife Round ( Restart )

Статус
В этой теме нельзя размещать новые ответы.

Bravo

Пользователь
Регистрация
8 Июн 2017
Сообщения
181
Симпатии
24
Пол
Мужской
Здравствуйте, ребятки кто может взглянуть на данный плагин ( исходник ) что он с себя представляет так скажем внутри, может что то заменить, удалить, подправить. Будьте добры : )

P.S. Мне нужен разминочный раунд на ножах, с простим текстом по средине экрана с отчетом времени, и после 10 сек что бы был голосовой отчет, и все .
C++:
#include <amxmodx>
#include <hamsandwich>
#include <fakemeta_util>
#include <dhudmessage>
#include <fun>

#define SPRAWDZ 3431
#define prefix " "

new Odliczanie[33]
new rr_czas
new bool:noze = false
new GiveHP

new const timer_sound[][] = { // Звуки
    "rr/0.wav",
    "rr/1.wav",
    "rr/2.wav",
    "rr/3.wav",
    "rr/4.wav",
    "rr/5.wav",
    "rr/6.wav",
    "rr/7.wav",
    "rr/8.wav",
    "rr/9.wav",
    "rr/10.wav"
}

public plugin_init() {
    register_plugin("Restart", "06.03.16", "Twista")
    register_event("TextMsg", "nozowka", "a", "2&#Game_C")
    RegisterHam(Ham_Spawn, "player", "PlayerSpawn", 1)
    rr_czas = register_cvar("rr_czas", "60")
    register_event("CurWeapon", "switchweapon", "be", "1=1", "2!29")
    register_event("DeathMsg", "death_msg", "a")
    GiveHP = register_cvar("auto_rr_hp", "100")
}

public plugin_precache() {
    for(new i = 0; i < sizeof timer_sound; ++i) {
        precache_sound(timer_sound[i]);
    }
}

public nozowka(id) {
    set_task(1.0, "Start")
}

public Start(id) {
    switchweapon(id)
    noze = true
    Odliczanie[id] = get_pcvar_num(rr_czas);
    server_cmd("sv_gravity 450")
    if(task_exists(id + SPRAWDZ)) {
        remove_task(id + SPRAWDZ)
    }
    set_task(1.0, "Koniec", id + SPRAWDZ, _, _, "b")
    return PLUGIN_CONTINUE
}

public Koniec(task_id) {
    new id = task_id - SPRAWDZ
    client_print(id, print_center, "%s Битва начнется через: %d секунд", prefix, Odliczanie[id])

    if(1 <= Odliczanie[id] <= 10) {
        //static buffer[32];
        //num_to_word(Odliczanie[id], buffer, charsmax(buffer));
        //client_cmd(id, "spk ^"vox/%s^"", buffer);
        client_cmd(id, "spk ^"%s^"", timer_sound[Odliczanie[id]]);
    }
    Odliczanie[id] -= 1
  
    if(Odliczanie[id] <= 0) {
        if(task_exists(task_id)) {
            remove_task(task_id)
        }
        set_cvar_num("sv_restart", 1);
        server_cmd("sv_gravity 800")
        set_dhudmessage(random_num(0, 255), random_num(0, 255), random_num(0, 255), -1.0, 0.85, 1, 6.0, 2.0, 0.1, 0.1)
        show_dhudmessage(id, "", prefix);
        noze = false
    }
}

public switchweapon(id) {
    if(!noze)
    return PLUGIN_CONTINUE
    engclient_cmd(id, "weapon_knife")
    return PLUGIN_CONTINUE
}

public death_msg() {
    if(!noze)
    return
    new id = read_data(2)
    set_task(1.0, "respawn_player", id)
}

public respawn_player(id) {
    if(is_user_connected(id))
        ExecuteHamB(Ham_CS_RoundRespawn, id)
}

public PlayerSpawn(id) {
    if(noze) {
        new Float:fHealth = get_pcvar_float(GiveHP)
        if(fHealth != 100.0) {
            set_pev(id, pev_health, fHealth)
        }
    }
}
 

Вложения

  • 2,5 KB Просмотры: 3

Денис3

Заблокированные
Пользователь
Регистрация
3 Июл 2017
Сообщения
167
Симпатии
36
Хитер бабер'DD
 

Bravo

Пользователь
Регистрация
8 Июн 2017
Сообщения
181
Симпатии
24
Пол
Мужской
Денис3, Не :D, просто подозрительное написание кода ...
Привел к нормальному виду исходник, а далее может кто то из скриптеров скажет что к чему.
 

Денис3

Заблокированные
Пользователь
Регистрация
3 Июл 2017
Сообщения
167
Симпатии
36

Bravo

Пользователь
Регистрация
8 Июн 2017
Сообщения
181
Симпатии
24
Пол
Мужской
Денис3, Не не вижу :D :D[DOUBLEPOST=1510075276][/DOUBLEPOST]Имеется в веду может ошибки есть в коде ...
 

Денис3

Заблокированные
Пользователь
Регистрация
3 Июл 2017
Сообщения
167
Симпатии
36

Bravo

Пользователь
Регистрация
8 Июн 2017
Сообщения
181
Симпатии
24
Пол
Мужской
Денис3, Если бы я умел, я бы никогда здесь тем не создавал : )
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу