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
 

Wklejka 1by2uog1578k4 dodana przez dasiek, 22.03.2013 17:19
Typ:



CosTam
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.
213.
214.
215.
216.
217.
218.
219.
220.
221.
222.
223.
224.
225.
226.
227.
228.
229.
230.
231.
232.
233.
234.
235.
236.
237.
238.
239.
240.
241.
242.
243.
244.
245.
246.
247.
248.
249.
250.
251.
252.
253.
254.
255.
256.
257.
258.
259.
260.
261.
262.
263.
264.
265.
266.
267.
268.
269.
270.
271.
272.
273.
274.
275.
276.
277.
278.
279.
280.
281.
282.
283.
284.
285.
286.
287.
288.
289.
290.
291.
292.
293.
294.
295.
296.
297.
298.
299.
300.
301.
302.
303.
304.
305.
306.
307.
308.
309.
310.
311.
312.
313.
314.
315.
316.
317.
318.
319.
320.
321.
322.
323.
324.
325.
326.
327.
328.
329.
330.
331.
332.
333.
334.
335.
336.
337.
338.
339.
340.
341.
342.
343.
344.
345.
346.
347.
348.
349.
350.
351.
352.
353.
354.
355.
356.
357.
358.
359.
360.
361.
362.
363.
364.
365.
366.
367.
368.
369.
370.
371.
 
#include <amxmodx>
#include <colorchat>
#include <cstrike>
#include <engine>
#include <fakemeta>
#include <fun>
#include <hamsandwich>
 
#define DMG_HE (1<<24)
#define IsPlayer(%1) (1<=%1<=maxPlayers)
 
forward amxbans_admin_connect(id);
 
new Array:g_Array, CsArmorType:armortype, bool:g_FreezeTime, bool:g_Vip[33], bool:g_speed[33],
g_Hudmsg, ioid, maxPlayers, menu, menu_callback_handler,
skoki[33], weapon_id;
 
new const g_Langcmd[][]={"say /vips","say_team /vips","say /vipy","say_team /vipy"};
 
public plugin_init(){
register_plugin("VIP Ultimate", "12.1.0.2", "benio101 & speedkill");
register_logevent("RoundEnd", 2, "1=Round_End");
RegisterHam(Ham_Item_PreFrame, "player", "fw_Player_ResetMaxSpeed", 1);
register_logevent("logevent_round_start", 2, "1=Round_Start");
register_event("HLTV", "event_new_round", "a", "1=0", "2=0");
RegisterHam(Ham_Spawn, "player", "SpawnedEventPre", 1);
register_forward(FM_CmdStart, "CmdStartPre");
RegisterHam(Ham_TakeDamage, "player", "takeDamage", 0);
register_message(get_user_msgid("ScoreAttrib"), "VipStatus");
g_Array=ArrayCreate(64,32);
for(new i;i<sizeof g_Langcmd;i++){
register_clcmd(g_Langcmd[i], "ShowVips");
}
register_clcmd("say /vip", "ShowMotd");
g_Hudmsg=CreateHudSyncObj();
register_event("Damage", "damage", "b", "2!0", "3=0", "4!0");
}
public client_authorized(id){
if(get_user_flags(id) & 524288 == 524288){
client_authorized_vip(id);
}
}
public client_authorized_vip(id){
g_Vip[id]=true;
new g_Name[64];
get_user_name(id,g_Name,charsmax(g_Name));
 
new g_Size = ArraySize(g_Array);
new szName[64];
 
for(new i = 0; i < g_Size; i++){
ArrayGetString(g_Array, i, szName, charsmax(szName));
 
if(equal(g_Name, szName)){
return 0;
}
}
ArrayPushString(g_Array,g_Name);
set_hudmessage(24, 190, 220, 0.25, 0.2, 0, 6.0, 6.0);
ShowSyncHudMsg(0, g_Hudmsg, "Vip %s wbija na serwer !",g_Name);
 
return PLUGIN_CONTINUE;
}
public client_disconnect(id){
if(g_Vip[id]){
client_disconnect_vip(id);
}
}
public client_disconnect_vip(id){
g_Vip[id]=false;
g_speed[id]=false;
new Name[64];
get_user_name(id,Name,charsmax(Name));
 
new g_Size = ArraySize(g_Array);
new g_Name[64];
 
for(new i = 0; i < g_Size; i++){
ArrayGetString(g_Array, i, g_Name, charsmax(g_Name));
 
if(equal(g_Name,Name)){
ArrayDeleteItem(g_Array,i);
break;
}
}
}
public menu_2_handler(id){
set_user_gravity(id, 570.0/800.0);
}
public plugin_cfg(){
maxPlayers=get_maxplayers();
}
public RoundEnd(){
for(new i=1; i<=maxPlayers; ++i){
if(is_user_alive(i)){
set_user_gravity(i, 1.0);
}
}
for(new i=1; i<=maxPlayers; ++i){
g_speed[i]=false;
if(is_user_alive(i)){
fw_Player_ResetMaxSpeedVip(i);
}
}
}
public fw_Player_ResetMaxSpeed(id){
if(g_Vip[id]){
if(is_user_alive(id)){
fw_Player_ResetMaxSpeedVip(id);
}
}
}
public logevent_round_start(){
g_FreezeTime=false;
}
public event_new_round(){
g_FreezeTime=true;
}
public SpawnedEventPre(id){
if(g_Vip[id]){
if(is_user_alive(id)){
SpawnedEventPreVip(id);
}
}
}
public SpawnedEventPreVip(id){
g_speed[id]=false;
skoki[id]=3;
set_user_health(id, get_user_health(id)+50);
cs_set_user_armor(id, min(cs_get_user_armor(id,armortype)+100, 300), armortype);
show_vip_menu(id);
new g_Model[64];
formatex(g_Model,charsmax(g_Model),"%s",get_user_team(id) == 1 ? "VipTT" : "VipCT");
cs_set_user_model(id,g_Model);
if(get_user_team(id)==1){
set_user_rendering(id, kRenderFxGlowShell, 0, 0, 255, kRenderNormal, 10);
}
}
public menu_1_handler(id){
g_speed[id]=true;
}
public fw_Player_ResetMaxSpeedVip(id){
if(!g_FreezeTime){
if(g_speed[id]){
set_user_maxspeed(id,get_user_maxspeed(id) + 310);
}
}
}
public CmdStartPre(id, uc_handle){
if(g_Vip[id]){
if(is_user_alive(id)){
CmdStartPreVip(id, uc_handle);
}
}
}
public CmdStartPreVip(id, uc_handle){
new flags = pev(id, pev_flags);
if((get_uc(uc_handle, UC_Buttons) & IN_JUMP) && !(flags & FL_ONGROUND) && !(pev(id, pev_oldbuttons) & IN_JUMP) && skoki[id]>0){
--skoki[id];
new Float:velocity[3];
pev(id, pev_velocity,velocity);
velocity[2] = random_float(265.0,285.0);
set_pev(id,pev_velocity,velocity);
} else if(flags & FL_ONGROUND && skoki[id]!=-1){
skoki[id] = 3;
}
}
public menu_4_handler(id){
new fbnum=(user_has_weapon(id,CSW_FLASHBANG)?cs_get_user_bpammo(id,CSW_FLASHBANG):0);
give_item(id, "weapon_flashbang");
++fbnum;
new sgnum=(user_has_weapon(id,CSW_SMOKEGRENADE)?cs_get_user_bpammo(id,CSW_SMOKEGRENADE):0);
give_item(id, "weapon_smokegrenade");
++sgnum;
}
public menu_3_handler(id){
if(get_pdata_cbase(id, 369)==-1){
if(get_user_team(id)==1){
give_item(id, "weapon_glock18");
give_item(id, "ammo_9mm");
weapon_id=find_ent_by_owner(-1, "weapon_glock18", id);
if(weapon_id)cs_set_weapon_ammo(weapon_id, 3);
cs_set_user_bpammo(id, CSW_GLOCK18, 0);
}
}
}
public menu_5_handler(id){
give_item(id, "weapon_m249");
give_item(id, "ammo_556natobox");
weapon_id=find_ent_by_owner(-1, "weapon_m249", id);
if(weapon_id)cs_set_weapon_ammo(weapon_id, 100);
cs_set_user_bpammo(id, CSW_M249, 200);
}
public takeDamage(this, idinflictor, idattacker, Float:damage, damagebits){
if(((IsPlayer(idattacker) && is_user_connected(idattacker) && g_Vip[idattacker] && (ioid=idattacker)) ||
(ioid=pev(idinflictor, pev_owner) && IsPlayer(ioid) && is_user_connected(ioid) && g_Vip[ioid]))){
damage*=(100+3)/100;
if(damagebits & DMG_HE){
if(random(3)<1){
damage*=(100+10)/100;
}
}
}
}
public show_vip_menu(id){
menu=menu_create("rMenu VIPa","menu_handler");
menu_callback_handler=menu_makecallback("menu_callback");
new bool:active=false, num=-1;
menu_additem(menu,"wSzybkosc","",0,menu_callback_handler);
if(menu_callback(id, menu, ++num)==ITEM_ENABLED){
active=true;
}
menu_additem(menu,"wGrawitacja","",0,menu_callback_handler);
if(menu_callback(id, menu, ++num)==ITEM_ENABLED){
active=true;
}
menu_additem(menu,"wGlock z 3 nabojami","",0,menu_callback_handler);
if(menu_callback(id, menu, ++num)==ITEM_ENABLED){
active=true;
}
menu_additem(menu,"wFlash+Smoke","",0,menu_callback_handler);
if(menu_callback(id, menu, ++num)==ITEM_ENABLED){
active=true;
}
menu_additem(menu,"wKrowa","",0,menu_callback_handler);
if(menu_callback(id, menu, ++num)==ITEM_ENABLED){
active=true;
}
if(active){
menu_setprop(menu,MPROP_EXITNAME,"Wyjscie");
menu_setprop(menu,MPROP_TITLE,"yMenu Vipa");
menu_setprop(menu,MPROP_NUMBER_COLOR,"r");
menu_display(id, menu);
} else {
menu_destroy(menu);
}
}
public menu_callback(id, menu, item){
if(is_user_alive(id)){
if(item==0){
return ITEM_ENABLED;
}
if(item==1){
return ITEM_ENABLED;
}
if(item==3){
return ITEM_ENABLED;
}
}
if(get_user_team(id)==1){
if(is_user_alive(id)){
if(item==2){
return ITEM_ENABLED;
}
}
}
if(get_user_team(id)==2){
if(is_user_alive(id)){
if(item==4){
return ITEM_ENABLED;
}
}
}
return ITEM_DISABLED;
}
public menu_handler(id, menu, item){
if(is_user_alive(id)){
if(item==0){
menu_1_handler(id);
}
if(item==1){
menu_2_handler(id);
}
if(item==3){
menu_4_handler(id);
}
}
if(get_user_team(id)==1){
if(is_user_alive(id)){
if(item==2){
menu_3_handler(id);
}
}
}
if(get_user_team(id)==2){
if(is_user_alive(id)){
if(item==4){
menu_5_handler(id);
}
}
}
menu_destroy(menu);
return PLUGIN_HANDLED;
}
public VipStatus(){
new id=get_msg_arg_int(1);
if(is_user_alive(id) && g_Vip[id]){
set_msg_arg_int(2, ARG_BYTE, get_msg_arg_int(2)|4);
}
}
public ShowVips(id){
new g_Name[64],g_Message[192];
 
new g_Size=ArraySize(g_Array);
 
for(new i = 0; i < g_Size; i++){
ArrayGetString(g_Array, i, g_Name, charsmax(g_Name));
 
add(g_Message, charsmax(g_Message), g_Name);
 
if(i == g_Size - 1){
add(g_Message, charsmax(g_Message), ".");
}
else{
add(g_Message, charsmax(g_Message), ", ");
}
}
ColorChat(id,GREEN,"^x03Vipy ^x04na ^x03serwerze: ^x04%s", g_Message);
return PLUGIN_CONTINUE;
}
public client_infochanged(id){
if(g_Vip[id]){
new szName[64];
get_user_info(id,"name",szName,charsmax(szName));
 
new Name[64];
get_user_name(id,Name,charsmax(Name));
 
if(!equal(szName,Name)){
ArrayPushString(g_Array,szName);
 
new g_Size=ArraySize(g_Array);
new g_Name[64];
for(new i = 0; i < g_Size; i++){
ArrayGetString(g_Array, i, g_Name, charsmax(g_Name));
 
if(equal(g_Name,Name)){
ArrayDeleteItem(g_Array,i);
break;
}
}
}
}
}
public plugin_end(){
ArrayDestroy(g_Array);
}
public ShowMotd(id){
show_motd(id, "vip.txt", "Informacje o vipie");
}
public damage(id){
new attacker=get_user_attacker(id);
new damage=read_data(2);
 
if(g_Vip[id]){
set_hudmessage(255, 0, 0, 0.45, 0.50, 2, 0.1, 4.0, 0.1, 0.1, -1);
ShowSyncHudMsg(id, g_Hudmsg, "%i^n", damage);
}
if(is_user_connected(attacker) && g_Vip[attacker]){
set_hudmessage(0, 100, 200, -1.0, 0.55, 2, 0.1, 4.0, 0.02, 0.02, -1);
ShowSyncHudMsg(attacker, g_Hudmsg, "%i^n", damage);
}
}
public plugin_precache(){
precache_model("models/player/VipCT/VipCT.mdl");
precache_model("models/player/VipTT/VipTT.mdl");
}
public amxbans_admin_connect(id){
client_authorized(id);
}

Dodanych wklejek: 4031
Powered By (Pav32) Pastebin © 2011