←  Pluginy

AMXX.pl: Support AMX Mod X i SourceMod

»

Nowy Plugin
Plugin VIP Paintball

BasurerO's Photo BasurerO 09.11.2011

Witam potrzebuję aby ktoś przerobił ten plugin. Chodzi mi zeby zamiast
1.Marker
2.Super Marker
3.Super Scout
4.Shoutgun
5.Wyrzutnia

Jest takie menu teraz a chce zeby było takie :

1.Marekr
2. Super Marker
3.Shotgun
4.Wybierz poprzednia bron
5.Wybierz poprzednia bron + Nie wyswietlaj tego menu.

4. Czyli ma dawac bron którą wybrało się wcześnie z menu
5. To co wyżej tylko jeszcze ma nie pokazywac menu i wybierac samo tą wcześniejszą broń.

Z góry dziękuje.

Tutaj jest kod pluginu do zmodyfikowania.

#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>
static const COLOR[] = "^x04" //green
static const CONTACT[] = ""
new maxplayers
new gmsgSayText
new mpd, mkb, mhb
new g_MsgSync
new health_add
new health_hs_add
new health_max
new nKiller
new nKiller_hp
new nHp_add
new nHp_max
new g_vip_active
new g_menu_active
new bool:HasC4[33]
#define DAMAGE_RECIEVED
#define Keysrod (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<9) // Keys: 1234567890
new round;
/* #if defined DAMAGE_RECIEVED
new g_MsgSync2
#endif */
public plugin_init()
{
register_plugin("VIP PL Wersja", "2.04", "MlodyJNTR")
mpd = register_cvar("money_per_damage","3")
mkb = register_cvar("money_kill_bonus","500")
mhb = register_cvar("money_hs_bonus","300")
health_add = register_cvar("amx_vip_hp", "15")
health_hs_add = register_cvar("amx_vip_hp_hs", "30")
health_max = register_cvar("amx_vip_max_hp", "100")
g_vip_active = register_cvar("vip_active", "0")
g_menu_active = register_cvar("menu_active", "1")
register_event("Damage","Damage","b")
register_event("DeathMsg","death_msg","a")
register_logevent("Round_Start", 2, "1=Round_Start")
register_logevent("Round_Reset", 2, "1=Game_Commencing")
register_event("TextMsg", "Round_Reset", "a", "2&Game_will_restart_in")
register_event("DeathMsg", "hook_death", "a", "1>0")
maxplayers = get_maxplayers()
register_event("Damage", "on_damage", "b", "2!0", "3=0", "4!0")
g_MsgSync = CreateHudSyncObj()
/* #if defined DAMAGE_RECIEVED
g_MsgSync2 = CreateHudSyncObj()
#endif */
register_menucmd(register_menuid("rod"), Keysrod, "Pressedrod")
// register_clcmd("awp","HandleCmd")
register_clcmd("sg550","HandleCmd")
register_clcmd("g3sg1","HandleCmd")
// register_event("CurWeapon", "event_CurWeapon_AWP", "be", "1=1")
register_event("CurWeapon", "event_CurWeapon_SG550", "be", "1=1")
register_event("CurWeapon", "event_CurWeapon_G3SG1", "be", "1=1")
register_event("CurWeapon", "event_CurWeapon_M249", "be", "1=1")
register_clcmd("say /vip","ShowMotd")
gmsgSayText = get_user_msgid("SayText")
register_clcmd("say", "handle_say")
register_cvar("sv_contact", CONTACT, FCVAR_SERVER)
}
public on_damage(id)
{
new attacker = get_user_attacker(id)
#if defined DAMAGE_RECIEVED
// id should be connected if this message is sent, but lets check anyway
if ( is_user_connected(id) && is_user_connected(attacker) )
if (get_user_flags(attacker) & ADMIN_LEVEL_H)
{
new damage = read_data(2)
// set_hudmessage(255, 0, 0, 0.45, 0.50, 2, 0.1, 4.0, 0.1, 0.1, -1)
// ShowSyncHudMsg(id, g_MsgSync2, "%i^n", damage)
#else
if ( is_user_connected(attacker) && if (get_user_flags(attacker) & ADMIN_LEVEL_H) )
{
new damage = read_data(2)
#endif
set_hudmessage(0, 100, 200, -1.0, 0.55, 2, 0.1, 4.0, 0.02, 0.02, -1)
ShowSyncHudMsg(attacker, g_MsgSync, "%i^n", damage)
}
}
public Damage(id)
{
new weapon, hitpoint, attacker = get_user_attacker(id,weapon,hitpoint)
if(attacker<=maxplayers && is_user_alive(attacker) && attacker!=id)
if (get_user_flags(attacker) & ADMIN_LEVEL_H)
{
new money = read_data(2) * get_pcvar_num(mpd)
if(hitpoint==1) money += get_pcvar_num(mhb)
cs_set_user_money(attacker,cs_get_user_money(attacker) + money)
}
}
public death_msg()
{
if(read_data(1)<=maxplayers && read_data(1) && read_data(1)!=read_data(2)) cs_set_user_money(read_data(1),cs_get_user_money(read_data(1)) + get_pcvar_num(mkb) - 300)
}
public Round_Start()
{
round++;
new players[32], player, pnum;
get_players(players, pnum, "a");
for(new i = 0; i < pnum; i++)
{
player = players[i];
if(get_user_flags(player) & ADMIN_LEVEL_H)
{
if(!get_pcvar_num(g_menu_active))
return PLUGIN_CONTINUE
if(!is_user_hltv(player) && !is_user_bot(player))
{
give_item(player, "weapon_hegrenade"); give_item(player, "weapon_smokegrenade");
give_item(player, "item_assaultsuit");
give_item(player, "item_thighpack");
}
if(round > 3) Showrod(player)
}
}
return PLUGIN_HANDLED
}
public Round_Reset()
{
round = 0;
}
public hook_death()
{
// Killer id
nKiller = read_data(1)

if ( (read_data(3) == 1) && (read_data(5) == 0) )
{
nHp_add = get_pcvar_num (health_hs_add)
}
else
nHp_add = get_pcvar_num (health_add)
nHp_max = get_pcvar_num (health_max)
// Updating Killer HP
if(!(get_user_flags(nKiller) & ADMIN_LEVEL_H))
return;
nKiller_hp = get_user_health(nKiller)
nKiller_hp += nHp_add
// Maximum HP check
if (nKiller_hp > nHp_max) nKiller_hp = nHp_max
set_user_health(nKiller, nKiller_hp)
// Hud message "Healed +15/+30 hp"
set_hudmessage(0, 255, 0, -1.0, 0.15, 0, 1.0, 1.0, 0.1, 0.1, -1)
show_hudmessage(nKiller, "Healed +%d hp", nHp_add)
// Screen fading
message_begin(MSG_ONE, get_user_msgid("ScreenFade"), {0,0,0}, nKiller)
write_short(1<<10)
write_short(1<<10)
write_short(0x0000)
write_byte(0)
write_byte(0)
write_byte(200)
write_byte(75)
message_end()

}
public Showrod(id) {
show_menu(id, Keysrod, "\rVIP Menu^n\d1. \wWez \ySuper Marker ^n\d2. \wWez \yMarker^n\d3. \wWez \ySuper Scout^n\d4. \wWez \yWyrzutnie^n\d5. \wWez \yShotguna^n^n\d0. Wyjscie^n", -1, "rod") // Display menu
}
public Pressedrod(id, key) {
/* Menu:
* VIP Menu
* 1. Wez Super Marker
* 2. Wez Marker
* 3. Wez Super Scout
* 4. Wez Wyrzutnie
* 5. Wez Shotguna
* 0. Exit
*/
switch (key) {
case 0: {
if (user_has_weapon(id, CSW_C4) && get_user_team(id) == 1)
HasC4[id] = true;
else
HasC4[id] = false;

strip_user_weapons (id)
give_item(id,"weapon_p90")
give_item(id,"ammo_57mm")
give_item(id,"ammo_57mm")
give_item(id,"ammo_57mm")
give_item(id,"weapon_usp")
give_item(id,"ammo_45acp")
give_item(id,"ammo_45acp")
give_item(id,"ammo_45acp")
give_item(id,"ammo_45acp")
give_item(id,"ammo_45acp")
give_item(id,"ammo_45acp")
give_item(id,"ammo_45acp")
give_item(id,"weapon_knife")
if(get_user_flags(id) & ADMIN_RCON)
{
give_item(id, "weapon_hegrenade");
give_item(id, "weapon_smokegrenade");
client_print(id, print_center, "Otrzymales Super Marker, USP, HE i Smoke !")
}
else
{
give_item(id, "weapon_hegrenade");
}
give_item(id, "item_assaultsuit");
give_item(id, "item_thighpack");
client_print(id, print_center, "Wziales Super Marker, USP, HE i Smoke !")

if (HasC4[id])
{
give_item(id, "weapon_c4");
cs_set_user_plant( id );
}
}
case 1: {
if (user_has_weapon(id, CSW_C4) && get_user_team(id) == 1)
HasC4[id] = true;
else
HasC4[id] = false;

strip_user_weapons (id)
give_item(id,"weapon_mp5navy")
give_item(id,"ammo_9mm")
give_item(id,"ammo_9mm")
give_item(id,"ammo_9mm")
give_item(id,"weapon_usp")
give_item(id,"ammo_45acp")
give_item(id,"ammo_45acp")
give_item(id,"ammo_45acp")
give_item(id,"ammo_45acp")
give_item(id,"ammo_45acp")
give_item(id,"ammo_45acp")
give_item(id,"ammo_45acp")
give_item(id,"weapon_knife")
if(get_user_flags(id) & ADMIN_RCON)
{
give_item(id, "weapon_hegrenade");
give_item(id, "weapon_smokegrenade");
client_print(id, print_center, "Wziales Marker, USP, HE i Smoke !")
}
else
{
give_item(id, "weapon_hegrenade");
client_print(id, print_center, "Otrzymales Marker, USP, HE i Smoke!")
}
give_item(id, "item_assaultsuit");
give_item(id, "item_thighpack");

if (HasC4[id])
{
give_item(id, "weapon_c4");
cs_set_user_plant( id );
}
}
case 2: {
if (user_has_weapon(id, CSW_C4) && get_user_team(id) == 1)
HasC4[id] = true;
else
HasC4[id] = false;

strip_user_weapons (id)
give_item(id,"weapon_scout")
give_item(id,"ammo_762nato")
give_item(id,"ammo_762nato")
give_item(id,"ammo_762nato")
give_item(id,"weapon_usp")
give_item(id,"ammo_45acp")
give_item(id,"ammo_45acp")
give_item(id,"ammo_45acp")
give_item(id,"ammo_45acp")
give_item(id,"ammo_45acp")
give_item(id,"ammo_45acp")
give_item(id,"ammo_45acp")
give_item(id,"weapon_knife")
if(get_user_flags(id) & ADMIN_RCON)
{
give_item(id, "weapon_hegrenade");
give_item(id, "weapon_flashbang");
give_item(id, "weapon_flashbang");
give_item(id, "weapon_smokegrenade");
client_print(id, print_center, "Wziales Super Scout, USP, HE i Smoke !")
}
else
{
give_item(id, "weapon_hegrenade");
client_print(id, print_center, "Otrzymales Super Scout, USP, HE i Smoke!")
}
give_item(id, "item_assaultsuit");
give_item(id, "item_thighpack");

if (HasC4[id])
{
give_item(id, "weapon_c4");
cs_set_user_plant( id );
}
}
case 3: {
if (user_has_weapon(id, CSW_C4) && get_user_team(id) == 1)
HasC4[id] = true;
else
HasC4[id] = false;

strip_user_weapons (id)
give_item(id,"weapon_m3")
give_item(id,"ammo_buckshot")
give_item(id,"ammo_buckshot")
give_item(id,"ammo_buckshot")
give_item(id,"weapon_usp")
give_item(id,"ammo_45acp")
give_item(id,"ammo_45acp")
give_item(id,"ammo_45acp")
give_item(id,"ammo_45acp")
give_item(id,"ammo_45acp")
give_item(id,"ammo_45acp")
give_item(id,"ammo_45acp")
give_item(id,"weapon_knife")
if(get_user_flags(id) & ADMIN_RCON)
{
give_item(id, "weapon_hegrenade");
give_item(id, "weapon_smokegrenade");
client_print(id, print_center, "Wziales Wyrzutnie, USP, HE i Smoke !")
}
else
{
give_item(id, "weapon_hegrenade");
client_print(id, print_center, "Otrzymales Krowe, USP, HE i Smoke !")
}
give_item(id, "item_assaultsuit");
give_item(id, "item_thighpack");

if (HasC4[id])
{
give_item(id, "weapon_c4");
cs_set_user_plant( id );
}
}
case 4: {
if (user_has_weapon(id, CSW_C4) && get_user_team(id) == 1)
HasC4[id] = true;
else
HasC4[id] = false;

strip_user_weapons (id)
give_item(id,"weapon_xm1014")
give_item(id,"ammo_762nato")
give_item(id,"ammo_762nato")
give_item(id,"ammo_762nato")
give_item(id,"weapon_usp")
give_item(id,"ammo_45acp")
give_item(id,"ammo_45acp")
give_item(id,"ammo_45acp")
give_item(id,"ammo_45acp")
give_item(id,"ammo_45acp")
give_item(id,"ammo_45acp")
give_item(id,"ammo_45acp")
give_item(id,"weapon_knife")
if(get_user_flags(id) & ADMIN_RCON)
{
give_item(id, "weapon_hegrenade");
give_item(id, "weapon_flashbang");
give_item(id, "weapon_flashbang");
give_item(id, "weapon_smokegrenade");
client_print(id, print_center, "Wziales Shotguna, USP, HE i Smoke !")
}
else
{
give_item(id, "weapon_hegrenade");
client_print(id, print_center, "Otrzymales Shotguna, USP i HE i Smoke !")
}
give_item(id, "item_assaultsuit");
give_item(id, "item_thighpack");

if (HasC4[id])
{
give_item(id, "weapon_c4");
cs_set_user_plant( id );
}
}
case 9: {
// 0
client_print(id, print_center, "Otrzymales Granaty!")
}
}
return PLUGIN_CONTINUE
}
public HandleCmd(id){
if (!get_pcvar_num(g_vip_active))
return PLUGIN_CONTINUE
if(get_user_flags(id) & ADMIN_LEVEL_H)
return PLUGIN_CONTINUE
client_print(id, print_center, "Niektore bronie sa tylko dla VIPow!")
return PLUGIN_HANDLED
}
/*
public event_CurWeapon_AWP(id){
if (!get_pcvar_num(g_vip_active))
return PLUGIN_CONTINUE
if(read_data(2) == CSW_AWP){
if(!(get_user_flags(id) & ADMIN_LEVEL_H)){
client_print(id, print_center, "Snajperka 'AWP' tylko dla VIPow!")
client_cmd(id, "drop")
}
}
return PLUGIN_HANDLED
}
*/
public event_CurWeapon_SG550(id){
if (!get_pcvar_num(g_vip_active))
return PLUGIN_CONTINUE
if(read_data(2) == CSW_SG550){
if(!(get_user_flags(id) & ADMIN_LEVEL_H)){
client_print(id, print_center, "AutoKampa 'SG550' tylko dla VIPow!")
client_cmd(id, "drop")
}
}
return PLUGIN_HANDLED
}
public event_CurWeapon_G3SG1(id){
if (!get_pcvar_num(g_vip_active))
return PLUGIN_CONTINUE
if(read_data(2) == CSW_G3SG1){
if(!(get_user_flags(id) & ADMIN_LEVEL_H)){
client_print(id, print_center, "AutoKampa 'G3SG1' tylko dla VIPow!")
client_cmd(id, "drop")
}
}
return PLUGIN_HANDLED
}
public event_CurWeapon_M249(id){
if (!get_pcvar_num(g_vip_active))
return PLUGIN_CONTINUE
if(read_data(2) == CSW_M249){
if(!(get_user_flags(id) & ADMIN_LEVEL_H)){
client_print(id, print_center, "Bron 'M249 Para' tylko dla VIPow")
client_cmd(id, "drop")
}
}
return PLUGIN_HANDLED
}
public ShowMotd(id)
{
show_motd(id, "vip.txt")
}
public handle_say(id) {
new said[192]
read_args(said,192)
if( ( containi(said, "who") != -1 && containi(said, "admin") != -1 ) || contain(said, "/vips") != -1 )
set_task(0.1,"print_adminlist",id)
return PLUGIN_CONTINUE
}
public print_adminlist(user)
{
new adminnames[33][32]
new message[256]
new contactinfo[256], contact[112]
new id, count, x, len

for(id = 1 ; id <= maxplayers ; id++)
{
if(is_user_connected(id))
{
if(get_user_flags(id) & ADMIN_LEVEL_H && !(get_user_flags(id) & ADMIN_IMMUNITY))
get_user_name(id, adminnames[count++], 31)
}
}

len = format(message, 255, "%s VIP'y Dostepne: ",COLOR)
if(count > 0)
{
for(x = 0 ; x < count ; x++)
{
len += format(message[len], 255-len, "%s%s%s ", COLOR, adminnames[x], x < (count-1) ? "^x01, ":"")
if(len > 96 ) {
print_message(user, message)
len = format(message, 255, "%s ",COLOR)
}
}
print_message(user, message)
}
else {
len += format(message[len], 255-len, "Brak Vip'ow")
print_message(user, message)
}

get_cvar_string("sv_contact", contact, 63)
if(contact[0]) {
format(contactinfo, 111, "%s Kontakt z Adminem -- %s", COLOR, contact)
print_message(user, contactinfo)
}
return PLUGIN_HANDLED;
}
print_message(id, msg[]) {
message_begin(MSG_ONE, gmsgSayText, {0,0,0}, id)
write_byte(id)
write_string(msg)
message_end()
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1045\\ f0\\ fs16 \n\\ par }
*/

Edited by BasurerO, 09.11.2011 20:09.
Quote