←  Prośby o Klasę/Perk

AMXX.pl: Support AMX Mod X i SourceMod

»

Klasa
[ROZWIĄZANE] Proszę o klasę "Profesor...


Najlepsza odpowiedź Alelluja 01.07.2014 17:16

Proszę

 

#include <amxmodx>
#include <amxmisc>
#include <codmod>
#include <cstrike>

#define MAX_DIST 8192.0
#define MAX 32

new const nazwa[]   = "ProfesorX";
new const opis[]    = "Widzi wrogów na radarze, posiada otumaniacz";
new const bronie    = (1<<CSW_FAMAS)|(1<<CSW_DEAGLE);
new const zdrowie   = 110;
new const kondycja  = -10;
new const inteligencja = 10;
new const wytrzymalosc = 0;

new bool:ma_klase[33], bool:radar[2], bool:uav[MAX+1];
new emp_czasowe;
new ilosc_uzyc[33], oszolomienie[33];

public plugin_init()
{
    register_plugin(nazwa, "1.0", "Alelluja");
    
    cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);
    
    register_event("ResetHUD", "ResetHUD", "abe");
    set_task (2.0,"radar_scan",_,_,_,"b");
}

public cod_class_enabled(id)
{
    if(!emp_czasowe || (emp_czasowe && get_user_team(id) == get_user_team(emp_czasowe)))
    CreateUVA(id);
    ilosc_uzyc[id] = 2
    ma_klase[id] = true;
    
}

public cod_class_disabled(id)
{
    ilosc_uzyc[id] = 0;
    ma_klase[id] = false;
    uav[id] = false;
    
}

public cod_class_skill_used(id)
{
    if(!ilosc_uzyc[id]) {
        return PLUGIN_HANDLED;
    }
    new ofiara, body;
    
    get_user_aiming(id, ofiara, body);
    
    if(is_user_alive(ofiara)){
        
        if(get_user_team(ofiara) == get_user_team(id)) {
            return PLUGIN_HANDLED;
        }
    }
    
    if(oszolomienie[id]+10.0>get_gametime()) {
        client_print(id,print_chat,"Skilla mozesz uzyc raz na 10 sek.");
        return PLUGIN_HANDLED;
    }
    oszolomienie[id] = floatround(get_gametime());
    ilosc_uzyc[id]--;
    
    przekrec_ekran(id, ofiara)
    return PLUGIN_HANDLED;
}

public przekrec_ekran(id, ofiara)
{
    new Float:badvec[3] = {-200.0, -200.0, -200.0};
    for(new j = 0;j<6;j++)
    {
        set_pev(ofiara,pev_punchangle,badvec);
        set_pev(ofiara,pev_punchangle,badvec);
        set_pev(ofiara,pev_punchangle,badvec);
    }
}

public ResetHUD(id) {
    if(ma_klase[id] == true) {
        ilosc_uzyc[id] = 2;
    }
}

public CreateUVA(id)
{
    static CzasUav[2];
    new team = get_user_team(id) == 1? 0: 1;
    uav[id] = false;
    radar[team] = true;
    
    new num, players[32];
    get_players(players, num, "gh")
    for(new a = 0; a < num; a++)
    {
        new i = players[a]
        if(get_user_team(id) != get_user_team(i))
            client_cmd(i, "spk sound/mw/uav_enemy.wav")
        else
            client_cmd(i, "spk sound/mw/uav_friend.wav")
    }
    radar_scan()
    
    if(task_exists(7354+team))
    {
        new times = (CzasUav[team]-get_systime())+9999
        change_task(7354+team, float(times));
        CzasUav[team] = CzasUav[team]+times;
    }
    else
    {
        new data[1];
        data[0] = team;
        set_task(9999.0, "deluav", 7354+team, data, 1);
        CzasUav[team] = get_systime()+9999;
    }
}

public deluav(data[1])
{
    radar[data[0]] = false;
}

public radar_scan()
{
    new num, players[32];
    get_players(players, num, "gh")
    for(new i=0; i<num; i++)
    {
        new id = players[i];
        if(!is_user_alive(id) || !ma_klase[id] || !radar[get_user_team(id) == 1? 0: 1])
            continue;
        
        if(!emp_czasowe)
            radar_continue(id)
        else if(get_user_team(id) == get_user_team(emp_czasowe))
            radar_continue(id)
    }
}

radar_continue(id)
{
    new num, players[32], PlayerCoords[3]
    get_players(players, num, "gh")
    for(new a=0; a<num; a++)
    {
        new i = players[a]       
        if(!is_user_alive(i) || !ma_klase[id] || get_user_team(i) == get_user_team(id))
            continue;
        
        get_user_origin(i, PlayerCoords)
        
        message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("HostagePos"), {0,0,0}, id)
        write_byte(id)
        write_byte(i)           
        write_coord(PlayerCoords[0])
        write_coord(PlayerCoords[1])
        write_coord(PlayerCoords[2])
        message_end()
        
        message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("HostageK"), {0,0,0}, id)
        write_byte(i)
        message_end()
    }    
}

Przejdź do postu
Zablokowany

  • +
  • -
BinD - zdjęcie BinD 28.06.2014

Witam!
Chciałbym aby ktoś napisał mi klasę do cod'a
I chciałbym żeby wyglądała tak:

Nazwa:Profesor X

Opis: Zdolność wytropienia wrogów na radarze, 1/10 szans na otumanienie gracza z krótkiej broni.

 

Zdrowie: 110 HP

Kondycja: -10

Inteligencja: 0

Wytrzymałość: 10

 

Dodatki: Tak jak w opisie. Widzi wrogów na radarze, 1/10 szans na otumanienie gracza z krótkiej broni.

 

Prosił bym aby ktoś się postarał ponieważ ja nie potrafię pisać klas (jestem zielony w tych sprawach, do tej pory obsługiwałem się generatorem).Mam nadzieję że wam to kłopotu nie sprawi :)

 

Odpowiedz

  • +
  • -
pro100wHS - zdjęcie pro100wHS 30.06.2014

a co rozumiesz pod słowem otumanienie? wykręcenie graczowi do góry nogami kamerki, wyrzucenie broni, usunięcie celownika, oślepienie gracza? czy może coś innego?

Odpowiedz

  • +
  • -
BinD - zdjęcie BinD 01.07.2014

Wykręcenie ekranu.
 

Odpowiedz

  • +
  • -
Najlepsza odpowiedź Alelluja - zdjęcie Alelluja 01.07.2014

Proszę

 

#include <amxmodx>
#include <amxmisc>
#include <codmod>
#include <cstrike>

#define MAX_DIST 8192.0
#define MAX 32

new const nazwa[]   = "ProfesorX";
new const opis[]    = "Widzi wrogów na radarze, posiada otumaniacz";
new const bronie    = (1<<CSW_FAMAS)|(1<<CSW_DEAGLE);
new const zdrowie   = 110;
new const kondycja  = -10;
new const inteligencja = 10;
new const wytrzymalosc = 0;

new bool:ma_klase[33], bool:radar[2], bool:uav[MAX+1];
new emp_czasowe;
new ilosc_uzyc[33], oszolomienie[33];

public plugin_init()
{
    register_plugin(nazwa, "1.0", "Alelluja");
    
    cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);
    
    register_event("ResetHUD", "ResetHUD", "abe");
    set_task (2.0,"radar_scan",_,_,_,"b");
}

public cod_class_enabled(id)
{
    if(!emp_czasowe || (emp_czasowe && get_user_team(id) == get_user_team(emp_czasowe)))
    CreateUVA(id);
    ilosc_uzyc[id] = 2
    ma_klase[id] = true;
    
}

public cod_class_disabled(id)
{
    ilosc_uzyc[id] = 0;
    ma_klase[id] = false;
    uav[id] = false;
    
}

public cod_class_skill_used(id)
{
    if(!ilosc_uzyc[id]) {
        return PLUGIN_HANDLED;
    }
    new ofiara, body;
    
    get_user_aiming(id, ofiara, body);
    
    if(is_user_alive(ofiara)){
        
        if(get_user_team(ofiara) == get_user_team(id)) {
            return PLUGIN_HANDLED;
        }
    }
    
    if(oszolomienie[id]+10.0>get_gametime()) {
        client_print(id,print_chat,"Skilla mozesz uzyc raz na 10 sek.");
        return PLUGIN_HANDLED;
    }
    oszolomienie[id] = floatround(get_gametime());
    ilosc_uzyc[id]--;
    
    przekrec_ekran(id, ofiara)
    return PLUGIN_HANDLED;
}

public przekrec_ekran(id, ofiara)
{
    new Float:badvec[3] = {-200.0, -200.0, -200.0};
    for(new j = 0;j<6;j++)
    {
        set_pev(ofiara,pev_punchangle,badvec);
        set_pev(ofiara,pev_punchangle,badvec);
        set_pev(ofiara,pev_punchangle,badvec);
    }
}

public ResetHUD(id) {
    if(ma_klase[id] == true) {
        ilosc_uzyc[id] = 2;
    }
}

public CreateUVA(id)
{
    static CzasUav[2];
    new team = get_user_team(id) == 1? 0: 1;
    uav[id] = false;
    radar[team] = true;
    
    new num, players[32];
    get_players(players, num, "gh")
    for(new a = 0; a < num; a++)
    {
        new i = players[a]
        if(get_user_team(id) != get_user_team(i))
            client_cmd(i, "spk sound/mw/uav_enemy.wav")
        else
            client_cmd(i, "spk sound/mw/uav_friend.wav")
    }
    radar_scan()
    
    if(task_exists(7354+team))
    {
        new times = (CzasUav[team]-get_systime())+9999
        change_task(7354+team, float(times));
        CzasUav[team] = CzasUav[team]+times;
    }
    else
    {
        new data[1];
        data[0] = team;
        set_task(9999.0, "deluav", 7354+team, data, 1);
        CzasUav[team] = get_systime()+9999;
    }
}

public deluav(data[1])
{
    radar[data[0]] = false;
}

public radar_scan()
{
    new num, players[32];
    get_players(players, num, "gh")
    for(new i=0; i<num; i++)
    {
        new id = players[i];
        if(!is_user_alive(id) || !ma_klase[id] || !radar[get_user_team(id) == 1? 0: 1])
            continue;
        
        if(!emp_czasowe)
            radar_continue(id)
        else if(get_user_team(id) == get_user_team(emp_czasowe))
            radar_continue(id)
    }
}

radar_continue(id)
{
    new num, players[32], PlayerCoords[3]
    get_players(players, num, "gh")
    for(new a=0; a<num; a++)
    {
        new i = players[a]       
        if(!is_user_alive(i) || !ma_klase[id] || get_user_team(i) == get_user_team(id))
            continue;
        
        get_user_origin(i, PlayerCoords)
        
        message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("HostagePos"), {0,0,0}, id)
        write_byte(id)
        write_byte(i)           
        write_coord(PlayerCoords[0])
        write_coord(PlayerCoords[1])
        write_coord(PlayerCoords[2])
        message_end()
        
        message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("HostageK"), {0,0,0}, id)
        write_byte(i)
        message_end()
    }    
}

Odpowiedz

  • +
  • -
BinD - zdjęcie BinD 01.07.2014

Dziękuje o to mi chodziło

Odpowiedz
Zablokowany