Vreau si eu codurile pentru:
multi-jump
sa dea bani pe kill
sa apari ca vip in tab score.
Vreau sa le pun intr-un plugin VIP
Cerere coduri
Moderators: Moderatori ajutatori, Moderatori, Echipa eXtreamCS.com
- Challenger.
- Fost moderator
- Posts: 2530
- Joined: 07 Dec 2014, 14:32
- Detinator Steam: Da
- Reputatie: Fost Super Moderator
Nume anterior: whisTle
Puncte: 1.7 / 3 - Fond eXtream: 0
- Contact:
NU sunt intermediar.
Dacă ai nevoie de ajutor pe forum dă-mi un PM şi rezolvăm.
REGULAMENT FORUM
RECLAMAȚII MODERATORI
RECLAMAȚII PM
Activitate scăzută
Dacă ai nevoie de ajutor pe forum dă-mi un PM şi rezolvăm.
REGULAMENT FORUM
RECLAMAȚII MODERATORI
RECLAMAȚII PM
Activitate scăzută
- Kam
- Membru, skill +1
- Posts: 305
- Joined: 07 Nov 2014, 22:13
- Detinator Steam: Da
- Detinator server CS: Da
- Fond eXtream: 0
- Has thanked: 1 time
Mersi bossule, o problema, toti playerii au VIP , as vrea sa aibe vip doar cei din vips.ini
Am adaugat stocku si publicu de verificare, dar nu merge.
Si daca ai putea sa fixezi problemele care mai sunt prin plugin.
Am adaugat stocku si publicu de verificare, dar nu merge.
Si daca ai putea sa fixezi problemele care mai sunt prin plugin.
Code: Select all
// ======================== VERSIUNE BETA ========================
// ======================== VERSIUNE BETA ========================
// Prima versiune: Aparitia plugin-ului
// A 2-a versiune: Adaugare multi-jump ** Bani pe Kill ** VIP in TAB Score.
// A 3-a versiune: A fost adaugata comanda /vips ** A fost adaugat mesaj conectare/deconectare VIP
// Fixed /vips
// CREDITE :
// zRefresh & Devil aKa. StefaN@CSX pentru cateva coduri
// HamletEagle, postare cod pentru adaugarea vipilor in vips.ini
// ======================== VERSIUNE BETA ========================
// ======================== VERSIUNE BETA ========================
#include < amxmodx >
#include < amxmisc >
#include < engine >
#include < cstrike >
#include <colorchat>
#define PLUGIN_NAME "VIP"
#define PLUGIN_VERSION "1.3a BETA"
#define PLUGIN_AUTHOR "Kam"
new const g_szFileName [ ] = "vips.ini"
new g_szFile[ 128 ] ;
new Trie: g_tVipList
new bool: g_bIsVip[ 33 ]
new bool:is_user_vip[33] = false;
new jumpnum[33] = 0
new bool:dojump[33] = false
new cvar_vip_jumps
new cvar_conectare
new cvar_tag
new cvar_vip_showC
new money_hs, money_kill;
new vips[256][32];
new iValidLines;
const TASK_ID = 12323;
public plugin_precache( )
{
g_tVipList = TrieCreate( )
}
public plugin_init()
{
register_plugin("MultiJump", "1.0", "twistedeuphoria")
cvar_vip_jumps = register_cvar("vip_max_jumps", "1")
register_plugin( PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR );
register_event( "ResetHUD", "ev_ResetHud", "be" );
register_event( "DeathMsg", "event_DeathMsg", "a" );
register_clcmd("say", "handle_say");
register_clcmd("say_team", "handle_say");
cvar_conectare = register_cvar("amx_conectare", "1");
cvar_tag = register_cvar("amx_vip_tag", "VIP");
cvar_vip_showC = register_cvar("amx_vip_show_chat", "1");
money_hs = register_cvar("hs_money","1000");
money_kill = register_cvar("kill_money","500");
}
public client_disconnect( id )
{
set_task(2.0, "out", id);
jumpnum[id] = 0;
dojump[id] = false;
{
new szName[ 32 ]; get_user_name( id, szName, charsmax( szName ) )
if( TrieKeyExists( g_tVipList, szName ) )
{
g_bIsVip[ id ] = true
}
}
}
public client_connect(id)
{
if (Check_Is_User_On_List(id))
{
is_user_vip[id] = true;
}
else
{
is_user_vip[id] = false;
}
}
public client_PreThink(id)
{
if(!is_user_alive(id))
{
return PLUGIN_HANDLED;
}
new nbut = get_user_button(id)
new obut = get_user_oldbutton(id)
if((nbut & IN_JUMP) && !(get_entity_flags(id) & FL_ONGROUND) && !(obut & IN_JUMP))
{
{
if(jumpnum[id] < get_pcvar_num(cvar_vip_jumps))
{
dojump[id] = true
jumpnum[id]++
return PLUGIN_CONTINUE;
}
}
}
if((nbut & IN_JUMP) && (get_entity_flags(id) & FL_ONGROUND))
{
jumpnum[id] = 0
return PLUGIN_CONTINUE;
}
return PLUGIN_CONTINUE;
}
public client_PostThink(id)
{
if(!is_user_alive(id))
{
return PLUGIN_CONTINUE;
}
{
if(dojump[id] == true)
{
new Float:velocity[3]
entity_get_vector(id,EV_VEC_velocity, velocity)
velocity[2] = random_float(265.0,285.0)
entity_set_vector(id,EV_VEC_velocity, velocity)
dojump[id] = false
return PLUGIN_CONTINUE;
}
}
return PLUGIN_CONTINUE;
}
public ev_ResetHud( id )
{
set_task( 0.1, "addviptab", id + TASK_ID );
}
public in(id)
{
if(get_pcvar_num(cvar_conectare))
{
new tag[32], name[32];
get_pcvar_string(cvar_tag, tag, charsmax(tag));
get_user_name(id, name, charsmax(name));
{
ColorChat(0, GREEN, "^3[%s] ^1VIP: ^4%s ^1s-a conectat.", tag, name);
}
return PLUGIN_HANDLED;
}
return PLUGIN_CONTINUE;
}
public out(id)
{
if(get_pcvar_num(cvar_conectare))
{
new tag[32], name[32];
get_pcvar_string(cvar_tag, tag, charsmax(tag));
get_user_name(id, name, charsmax(name));
{
ColorChat(0, GREEN, "^3[%s] ^1VIP: ^4%s ^1s-a deconectat.", tag, name);
}
return PLUGIN_HANDLED;
}
return PLUGIN_CONTINUE;
}
public handle_say(id)
{
new said[192];
read_args(said,192);
if(contain(said, "/vips") != -1)
set_task(0.1,"print_adminlist",id);
return PLUGIN_CONTINUE;
}
public print_adminlist(user)
{
if(get_pcvar_num(cvar_vip_showC))
{
new tag[32];
get_pcvar_string(cvar_tag, tag, charsmax(tag));
new adminnames[33][32];
new message[256];
new id, count, x, len;
for(id = 1 ; id <= get_maxplayers() ; id++)
if(is_user_connected(id))
get_user_name(id, adminnames[count++], charsmax(adminnames[ ]));
len = format(message, 255, "^3[%s] ^1VIPS online:^4 " ,tag);
if(count > 0)
{
for(x = 0 ; x < count ; x++)
{
len += format(message[len], 255-len, "%s%s ", adminnames[x], x < (count-1) ? ", ":"");
if(len > 96)
{
print_message(user, message);
len = format(message, 255, " ");
}
}
print_message(user, message);
}
else
{
ColorChat(0, GREEN, "^3[%s] ^1Nu sunt ^4VIPI^1 online.", tag);
}
}
return PLUGIN_CONTINUE;
}
print_message(id, msg[])
{
message_begin(MSG_ONE, get_user_msgid("SayText"), {0,0,0}, id);
write_byte(id);
write_string(msg);
message_end();
}
public addviptab( taskid )
{
new i_Index = taskid - TASK_ID;
{
message_begin( MSG_ALL, get_user_msgid( "ScoreAttrib" ) );
write_byte( i_Index );
write_byte( 4 );
message_end( );
}
}
public event_DeathMsg( )
{
new iAttacker = read_data( 1 );
new iVictim = read_data( 2 );
new iHeadshot = read_data( 3 );
new MoneyOnHeadShot = get_pcvar_num( money_hs );
new MoneyOnKill = get_pcvar_num( money_kill );
if( iAttacker == iVictim )
return 0;
if( ( iAttacker ) && iAttacker != iVictim )
{
if(get_user_flags( iAttacker ) & read_flags("FLAG_VIP"))
{
if( iHeadshot )
{
cs_set_user_money( iAttacker, cs_get_user_money( iAttacker ) + MoneyOnHeadShot );
}
else
{
cs_set_user_money( iAttacker, cs_get_user_money( iAttacker ) + MoneyOnKill );
}
}
}
return 0;
}
public plugin_cfg( )
{
new szDir[ 128 ];
get_configsdir( szDir, charsmax( szDir ) );
formatex( g_szFile, charsmax( g_szFile ), "%s/%s", szDir, g_szFileName );
if ( !file_exists( g_szFile ) )
{
new fp = fopen( g_szFile, "a+" );
if( fp )
{
fputs( fp, "; Lista membrii VIP^n" );
fputs( fp, "^b" );
}
fclose( fp );
}
ReadIniFile( )
}
public plugin_end( )
{
TrieDestroy( g_tVipList )
}
ReadIniFile( )
{
new fp = fopen( g_szFile , "rt" );
if( !fp )
{
return 0;
}
new szData[ 256 ], i;
while( !feof( fp ) )
{
fgets( fp, szData, charsmax( szData ) );
trim( szData );
if( !szData[ 0 ] || szData[ 0 ] == ';' || szData[ 0 ] == '#' || (szData[ 0 ] == '/' && szData[ 1 ] == '/'))
{
continue;
}
TrieSetCell( g_tVipList, szData, i )
i ++
}
return 0
}
stock Check_Is_User_On_List(id)
{
new Name[32]
get_user_name(id, Name, 31)
for( new i; i < iValidLines; i++ )
{
if (!strcmp(Name,vips[i]))
return 1
}
return 0
}
Last edited by Kam on 10 Mar 2016, 13:24, edited 1 time in total.