Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

lukasion - zdjęcie

lukasion

Rejestracja: 16.08.2010
Aktualnie: Nieaktywny
Poza forum Ostatnio: 28.08.2010 22:31
-----

Moje tematy

Potrzebny plugin (pomocy)

17.08.2010 15:18

Witam, tak jak w temacie, potrzebuje kogoś kto się zna na tworzeniu pluginów, lub może posiadać owy plugin co potrzebuje. Tak więc, chcę aby w tym plugin (do DeathRuna) polegał na tym, iż TT na początku rundy miało by małe menu wyboru trybu gry DR, a mianowicie Free i Deathrun. Przy wyborze "Free" samo wpisywało by komendę "/fr". Przy wyborze Deathrun, po prostu był by napis "Gramy rundę Deathrun.", lub samo "Deathrun" (może być na środku, lub po lewej stronie ekranu, bądź w częsci dolnej, obojętne). Lub coś w tym rodzaju. Chodzi mi o to, że na serwerze mam komędne /fr która blokuje pułapki na jedną rundę, ale chciałbym aby było do wyboru "Free" i "Deathrun", oczywiście tylko dla TT (CT by nie glosowało). Z góry dziękuje, i oczywiście będzie plusik za robotę ;).

Problem z pluginem (pomocy)

16.08.2010 21:30

Tak jak w temacie, a mianowicie mam problem ze zrobieniem pewnego pluginu. Niby wszystko gra, ale chciałbym prosić Was, kieruje to do Tych co znają się na programowaniu pawn. Tak więc zrobiłem komendę na Deathruna, że podczas spawnu w nowej rundzie jest pytanie dot. "Jaką rundę teraz gramy?" i na pytanie mogą odpowiedzieć wszyscy (CT i TT), a ja chciałbym aby tylko TT mogł wybrać czy Free czy Deathrun, tak więc proszę kogoś, aby podał zrobiony już kod, lub .sma, bądz .amxx jak kto woli. Kod zamieszczam niżej. Za pomoc oczywiście karma ;).


/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>
#include <hamsandwich>

#define PLUGIN "DeathRun Roundtype"
#define VERSION "1.0"
#define AUTHOR "Sn!ff3r"

new what[3]
new weapons[][] = {
    "weaponbox",
    "armoury_entity",
    "weapon_shield"
}

new HamHook:weaponstouch[sizeof weapons]
new HamHook:use

public plugin_init() 
{
    register_plugin(PLUGIN, VERSION, AUTHOR)
    
    register_event("HLTV", "new_round", "a", "1=0", "2=0")    
    
    for(new i = 0; i < sizeof weapons; i++) {
        weaponstouch[i] = RegisterHam(Ham_Touch, weapons[i], "ham_block")
    }
    use = RegisterHam(Ham_Use, "func_button", "ham_block")
}

public new_round() 
{    
    static menu
    menu = menu_create("\w Jaka gramy runde?", "menu_handler")
    menu_additem(menu, "\wDeathRun", "1", 0)
    menu_additem(menu, "\wFree", "2", 0)
    menu_addblank(menu, 0)
    menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)
    
    static players[32], num
    get_players(players, num, "ch")
    for(new i = 0; i < num; i++) {
        menu_display(players[i], menu, 0)
    }    
    set_task(get_cvar_float("mp_freezetime") - 1.0, "menu_end")
    
    for(new i = 0; i < sizeof weapons; i++) {
        DisableHamForward(weaponstouch[i])
    }
    DisableHamForward(use)
    
    what[1] = what[2] = 0    
}

public menu_handler(id, menu, item)
{
    if(item == MENU_EXIT) {
        menu_cancel(id)
        return PLUGIN_HANDLED
    }    
    static data[6], access, callback, name[33], key
    menu_item_getinfo(menu, item, access, data, 5, _, _, callback)        
    
    key = str_to_num(data)
    ++what[key]
    
    get_user_name(id, name, 32)
    client_print(0, print_chat, "[DeathRun] %s wybral %s", name, (key == 1) ? "DeathRun" : "Free")
    
    menu_cancel(id)
    return PLUGIN_HANDLED
}

public menu_end()
{    
    if(what[2] > what[1]) {        
        for(new i = 0; i < sizeof weapons; i++) {
            EnableHamForward(weaponstouch[i])
        }
        EnableHamForward(use)        
    }    
    client_print(0, print_chat, "[DeathRun] Gramy runde %s - przygotujcie sie!", (what[1] >= what[2]) ? "DeathRun" : "Free")
        
    static players[32], num
    get_players(players, num, "ch")
    for(new i = 0; i < num; i++) {
        menu_cancel(players[i])
    }
}  

public ham_block() return HAM_SUPERCEDE