wklejto.pl

Dodane przez: ~wojak (2013-11-10 21:30) -> text
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
182.
183.
184.
185.
186.
187.
188.
189.
190.
191.
192.
193.
194.
195.
196.
197.
198.
199.
200.
201.
202.
203.
204.
205.
206.
207.
208.
209.
210.
211.
212.
#include <amxmodx>
#include <amxmisc>
#include <codmod>
#include <engine>
#include <fakemeta>
#include <hamsandwich>
 
#define DMG_BULLET (1<<1)
        
new const nazwa[]   = "Krasnolud";
new const opis[]    = "Ma auto-pompe, deagla, oraz 2 miny . Podczas kucania niewidzialny i 1/6 szans na zabicie z auto pompy.";
new const bronie    = (1<<CSW_XM1014)|(1<<CSW_DEAGLE);
new const zdrowie   = 0;
new const kondycja  = 0;
new const inteligencja = 0;
new const wytrzymalosc = 0;
    
new const modelMiny[] = "models/QTM_CodMod/mine.mdl"
 
new sprite_blast_miny;
new ilosc_min_gracza[33];
 
new ma_klase[33];
 
public plugin_init()
{
        register_plugin(nazwa, "1.0", "amxx.pl");
 
        cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);
 
        register_forward(FM_PlayerPreThink, "fwPrethink_Niewidzialnosc", 1);
 
        register_touch("mine", "player",  "DotykMiny");
 
        register_event("HLTV", "NowaRunda_Miny", "a", "1=0", "2=0");
 
        RegisterHam(Ham_Spawn, "player", "fwSpawn_Miny", 1);
        
        RegisterHam(Ham_TakeDamage, "player", "TakeDamage");
 
}
 
public plugin_precache()
{
 
        precache_model(modelMiny);
        sprite_blast_miny = precache_model("sprites/dexplo.spr");
 
}
 
public client_disconnect(id)
{
 
        new entMiny = find_ent_by_class(0, "mine");
        while(entMiny > 0)
        {
                if(entity_get_edict(entMiny, EV_ENT_owner) == id)
                        remove_entity(entMiny);
                entMiny = find_ent_by_class(entMiny, "mine");
        }
 
}
 
public cod_class_enabled(id)
{
 
        ilosc_min_gracza[id] = 2;
        ma_klase[id] = true;
 
}
 
public cod_class_disabled(id)
{
        set_rendering(id,kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 255);
        ma_klase[id] = false;
 
}
 
public cod_class_skill_used(id)
{
        
        if (!ilosc_min_gracza[id])
        {
                client_print(id, print_center, "Wykorzystales juz wszystkie miny!");
        }
        else
        {
 
                ilosc_min_gracza[id]--;
 
                new Float:origin[3];
                entity_get_vector(id, EV_VEC_origin, origin);
 
                new ent = create_entity("info_target");
                entity_set_string(ent ,EV_SZ_classname, "mine");
                entity_set_edict(ent ,EV_ENT_owner, id);
                entity_set_int(ent, EV_INT_movetype, MOVETYPE_TOSS);
                entity_set_origin(ent, origin);
                entity_set_int(ent, EV_INT_solid, SOLID_BBOX);
 
                entity_set_model(ent, modelMiny);
                entity_set_size(ent,Float:{-16.0,-16.0,0.0},Float:{16.0,16.0,2.0});
 
                drop_to_floor(ent);
 
                set_rendering(ent,kRenderFxNone, 0,0,0, kRenderTransTexture,50);
        }
}
 
 
//Przy kucaniu
public fwPrethink_Niewidzialnosc(id)
{
        if(!ma_klase[id])
                return;
 
        new button = get_user_button(id);
        if( button & IN_DUCK )
        {
                set_rendering(id,kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 30);
        }
        else
        {
                set_rendering(id,kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 255);
        }
}
 
public fwSpawn_Miny(id)
{
        if(is_user_alive(id))
                ilosc_min_gracza[id] = 2;
}
 
public DotykMiny(ent, id)
{
        if(!is_valid_ent(ent))
                return;
 
        new attacker = entity_get_edict(ent, EV_ENT_owner);
        if (get_user_team(attacker) != get_user_team(id))
        {
                new Float:fOrigin[3];
                entity_get_vector( ent, EV_VEC_origin, fOrigin);
 
                new iOrigin[3];
                for(new i=0;i<3;i++)
                        iOrigin[i] = floatround(fOrigin[i]);
 
                message_begin(MSG_BROADCAST,SVC_TEMPENTITY, iOrigin);
                write_byte(TE_EXPLOSION);
                write_coord(iOrigin[0]);
                write_coord(iOrigin[1]);
                write_coord(iOrigin[2]);
                write_short(sprite_blast_miny);
                write_byte(32);
                write_byte(20);
                write_byte(0);
                message_end();
 
                new entlist[33];
                new numfound = find_sphere_class(ent,"player", 90.0 ,entlist, 32);
 
                for (new i=0; i < numfound; i++)
                {
                        new pid = entlist[i];
 
                        if (!is_user_alive(pid) || get_user_team(attacker) == get_user_team(pid))
                                continue;
 
                        cod_inflict_damage(attacker, pid, 70.0, 0.8, ent, (1<<24));
                }
                remove_entity(ent);
        }
}
 
public NowaRunda_Miny()
{
        new entMiny = find_ent_by_class(-1, "mine");
        while(entMiny > 0)
        {
                remove_entity(entMiny);
                entMiny = find_ent_by_class(entMiny, "mine");
        }
}
public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits)
{
        if(!is_user_connected(idattacker))
                return HAM_IGNORED;
        
        if(!ma_klase[idattacker])
                return HAM_IGNORED;
                
        if(get_user_weapon(idattacker) == CSW_XM1014 && random_num(1,6) == 1)
                cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits);
                
        return HAM_IGNORED;
}
public cod_class_enabled(id)
{
        if(!(get_user_flags(id) & ADMIN_LEVEL_H))
        {
                client_print(id, print_chat, "[] Nie masz uprawnien, aby uzywac tej klasy.")
                return COD_STOP;
        }
   
        return COD_CONTINUE;
}
 
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1045\\ f0\\ fs16 \n\\ par }
*/
 
Wygenerowano w 0.016s, przy pomocy GeSHi 1.0.8
'
Podziel się na Facebook Podziel się na BLIP Podziel się na Twitter Podziel się na Buzz Podziel się na Flaker Dodaj zakładkę Google Podziel się na Delicious Wykop to!

Nowy Komentarz:

Komentarze:

Brak Komentarzy!