|
Veteran Member
|

07-29-2011
, 09:06
Re: NEW! Avatar Mod [ CS 1.6 ] I need some help :S
|
#5
|
Quote:
Originally Posted by Krle
Have you Watched film Avatar? If you did, you will know whats this all about, if no, watch it..
When i buy XP, when someone is in server too, server crashes, but if i'm alone i can buy :S
Don't know how to fix that
Code:
#include <amxmodx>
#include <amxmisc>
#include <colorchat>
#include <cstrike>
#include <engine>
#include <fakemeta>
#include <hamsandwich>
#include <fun>
#include <nvault>
#define MAXCLASSES 3
new const CLASSES_CT[MAXCLASSES][] = {
"None", "Brz Avatar", "Nevidljiv Avatar"
}
new const CLASSES_T[MAXCLASSES][] = {
"None", "Marinac", "Komandant"
}
new const LEVELS[15] = {
0, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768
}
new PlayerXP[33]
new PlayerLevel[33]
new PlayerClassCT[33]
new PlayerClassT[33]
new KillExpirience
new SaveExpirience
new g_Vault
new g_msgStatusIcon /*BuyZoneRemover*/
new bool:drop_locked /*No Weapon Drop*/
public plugin_init()
{
register_plugin ("Avatar Mod", "0.3", "Krle" )
RegisterHam ( Ham_Spawn, "player", "BeginningCT", 1 )
RegisterHam ( Ham_Spawn, "player", "BeginningT", 1 )
register_event ( "CurWeapon", "CurWeapon", "be", "1=1")
register_event ( "DeathMsg", "eDeath", "a" )
register_message ( get_user_msgid ( "TextMsg" ), "message_TextMsg" ) /*Win Message*/
g_msgStatusIcon = get_user_msgid ( "StatusIcon" ) /*BuyZoneRemover*/
register_message ( g_msgStatusIcon, "msgStatusIcon" ) /*BuyZoneRemover*/
SaveExpirience = register_cvar ( "xp_save", "1" )
KillExpirience = register_cvar ( "xp_per_kill", "20" )
g_Vault = nvault_open ( "AvatarMod" )
register_clcmd( "say /classct", "ChangeClassCT" )
register_clcmd( "say_team /class", "ChangeClassCT" )
register_clcmd( "say /classt", "ChangeClassT" )
register_clcmd( "say_team /classt", "ChangeClassT" )
register_clcmd( "say /xp", "ShowHud" )
register_clcmd( "say_team /xp", "ShowHud" )
register_clcmd ( "say /shop", "Shop" )
register_clcmd ( "say_team /shop", "Shop" )
register_clcmd ( "say /thirdperson", "ThirdPersonView" ) /*Trece Lice*/
register_clcmd ( "say /firstperson", "FirstPersonView" ) /*Prvo Lice*/
register_clcmd("drop","drop",0,"")
register_logevent("round_start", 2, "0=World triggered", "1=Round_Start")
set_task(30.0, "Help")
}
public plugin_precache()
{
precache_model ( "models/player/avatar/avatar.mdl" )
precache_model ( "models/player/commander/commander.mdl" )
precache_model ( "models/player/marine/marine.mdl" )
precache_model ( "models/avatar_mod/v_soldier_ak47.mdl" )
precache_model ( "models/avatar_mod/p_soldier_ak47.mdl" )
precache_model ( "models/avatar_mod/v_soldier_deagle.mdl" )
precache_model ( "models/avatar_mod/p_soldier_deagle.mdl" )
precache_model ( "models/avatar_mod/v_soldier_m4a1.mdl" )
precache_model ( "models/avatar_mod/p_soldier_m4a1.mdl" )
precache_model ( "models/avatar_mod/v_avatar_knife.mdl" )
precache_model ( "models/rpgrocket.mdl" ) /*Ovo je za ThirdPerson*/
}
public server_cfg()
{
server_cmd ( "sv_maxspeed 1600" )
}
public eDeath()
{
new attacker = read_data(1)
new id = read_data(2)
if(id != attacker)
{
PlayerXP[attacker] += get_pcvar_num ( KillExpirience )
}
if ( PlayerLevel[id] < 15 )
{
while ( PlayerXP[attacker] >= LEVELS[PlayerLevel[attacker]] )
{
PlayerLevel[attacker] += 1
client_print ( attacker, print_chat, "[Avatar Mod] Cestitamo, sada ste level ^3%i !", PlayerLevel[id] )
}
ShowHud(attacker)
SaveData(attacker)
}
return PLUGIN_HANDLED
}
public ShowHud ( id )
{
if ( cs_get_user_team ( id ) == CS_TEAM_CT )
{
set_hudmessage(42, 255, 42, 0.05, 0.25, 0, 6.0, 12.0)
show_hudmessage(id, "[Klasa : %s]^n[Level : %i]^n[Iskustvo : %i / %i]^n[Energija : %i]", CLASSES_CT[PlayerClassCT[id]], PlayerLevel[id], PlayerXP[id], LEVELS[PlayerLevel[id]], get_user_health(id))
}
if ( cs_get_user_team ( id ) == CS_TEAM_T )
{
set_hudmessage( 42, 255, 42, 0.05, 0.25, 0, 6.0, 12.0 )
show_hudmessage ( id, "[Klasa : %s]^n[Level : %i]^n[Iskustvo : %i / %i]^n[Energija : %i]", CLASSES_T[PlayerClassT[id]], PlayerLevel[id], PlayerXP[id], LEVELS[PlayerLevel[id]], get_user_health(id))
}
}
public Shop ( id )
{
new menu = menu_create ( "Shop:", "Shop_Handle" )
menu_additem ( menu, "Aspirin \r[ Dodaje \y30 \health points ] \yCost: \r100$" )
menu_additem ( menu, "Iskustvo \r[ Dodaje \y100 \rexperience poena ] \yCost: \r500$" )
menu_additem ( menu, "Super Iskustvo \r[ Dodaje \y300 \rexperience poena ] \yCost: \r1500$" )
menu_display ( id, menu )
}
public Shop_Handle ( id, menu, item )
{
if ( item == MENU_EXIT )
{
menu_destroy ( menu )
ColorChat ( id, GREEN, "[Shop] ^1Closing menu..." )
}
menu_display ( id, menu )
switch ( item )
{
case 0:
{
if ( cs_get_user_money ( id ) < 100 )
{
ColorChat ( id, GREEN, "[Shop] ^1You don't have enough money :(" )
return PLUGIN_CONTINUE
}
cs_set_user_money ( id, cs_get_user_money ( id ) - 100 )
set_user_health ( id, get_user_health ( id ) + 30 )
ColorChat ( id, GREEN, "[Shop] ^1You bought Aspirine :)" )
}
case 1:
{
if ( cs_get_user_money ( id ) < 500 )
{
ColorChat (id, GREEN, "[Shop] ^1You don't have enough money :(" )
return PLUGIN_CONTINUE
}
cs_set_user_money ( id, cs_get_user_money ( id ) - 500 )
PlayerXP[id] += 300
ColorChat ( id, GREEN, "[Shop] ^1You bought Experience :)" )
eDeath()
}
case 2:
{
if ( cs_get_user_money ( id ) < 1500 )
{
ColorChat ( id, GREEN, "[Shop] ^1You don't have enough money :(" )
return PLUGIN_CONTINUE
}
cs_set_user_money ( id, cs_get_user_money ( id ) - 1500 )
PlayerXP[id] += 300
ColorChat ( id, GREEN, "[Shop] ^1You bought Super Experience :)" )
eDeath()
}
}
return PLUGIN_CONTINUE
}
public ChangeClassCT ( id )
{
new menu = menu_create ( "Izaberi svog Avatara:", "ChangeClassCT_Handle" )
menu_additem( menu, "Fast Avatar \r[ Ovaj \yAvatar \rtrci veoma brzo ]", "1", 0 )
menu_additem( menu, "Invisible Avatar \r[ Ovaj \yAvatar \rje nevidljiv ]", "2", 0 )
menu_setprop(menu , MPROP_EXIT , MEXIT_ALL)
menu_display(id , menu , 0)
}
public ChangeClassCT_Handle ( id, menu, item ) /*Sta se desava kad igrac izabere klasu*/
{
if ( cs_get_user_team ( id ) == CS_TEAM_CT )
{
if ( item == MENU_EXIT )
{
menu_destroy ( menu )
ColorChat ( id, GREEN, "[Avatar Mod] ^1Zavaram menu" )
}
new szCommand[6], szName[64]
new access, callback
menu_item_getinfo ( menu, item, access, szCommand, 5, szName, 63, callback )
new i = str_to_num(szCommand)
if(PlayerClassCT[id] != i)
{
PlayerClassCT[id] = i
ColorChat ( id, BLUE, "[Avatar Mod] ^1Sada si ^4%s", CLASSES_CT[i])
}
else
{
ColorChat ( id, BLUE, "[Avatar Mod] ^1Vec si ^4%s", CLASSES_CT[i])
}
menu_destroy(menu)
ColorChat ( id, GREEN, "[Avatar Mod] ^1Zatvaram menu" )
}
return PLUGIN_CONTINUE
}
public ChangeClassT ( id )
{
new menu = menu_create ( "Izaberi svog Vojnika:", "ChangeClassT_Handle" )
menu_additem ( menu, "Marinac \r[ Dobija \yDeagle \r]", "1", 0 )
menu_additem ( menu, "Komandant \r[ Dobija \yM4A1 \ri \yAK47 \r]", "2", 0 )
menu_setprop(menu , MPROP_EXIT , MEXIT_ALL)
menu_display(id , menu , 0)
return PLUGIN_CONTINUE
}
public ChangeClassT_Handle ( id, menu, item ) /*Sta se desava kad igrac izabere klasu*/
{
if ( cs_get_user_team ( id ) == CS_TEAM_T )
{
if ( item == MENU_EXIT )
{
menu_destroy ( menu )
ColorChat ( id, GREEN, "[Avatar Mod] ^1Zavaram menu" )
}
new szCommand[6] , szName[64]
new access , callback
menu_item_getinfo ( menu, item, access, szCommand, 5, szName, 63, callback )
new i = str_to_num(szCommand)
if(PlayerClassT[id] != i)
{
PlayerClassT[id] = i;
ColorChat ( id, BLUE, "[Avatar Mod] ^1Sada si ^4%s", CLASSES_T[i])
}
else
{
ColorChat ( id, BLUE, "[Avatar Mod] ^1Vec si ^4%s", CLASSES_T[i])
}
menu_destroy(menu)
ColorChat ( id, GREEN, "[Avatar Mod] ^1Zatvaram menu" )
}
return PLUGIN_CONTINUE
}
public client_connect ( id )
{
if ( get_pcvar_num ( SaveExpirience ) == 1 )
{
LoadData ( id )
}
}
public client_disconnect ( id )
{
if ( get_pcvar_num ( SaveExpirience ) == 1 )
{
SaveData ( id )
}
PlayerXP[id] = 0
PlayerLevel[id] = 0
PlayerClassCT[id] = 0
PlayerClassT[id] = 0
}
public SaveData ( id )
{
new AuthID[35]
get_user_authid ( id, AuthID, 34 )
new vaultkey[64], vaultdata[256]
format ( vaultkey, 63, "%s-Mod", AuthID )
format ( vaultdata, 255, "%i#%i#", PlayerXP[id], PlayerLevel[id] )
nvault_set ( g_Vault, vaultkey, vaultdata )
return PLUGIN_CONTINUE
}
public LoadData ( id )
{
new AuthID[35]
get_user_authid ( id, AuthID, 34 )
new vaultkey[64], vaultdata[256]
format ( vaultkey, 63, "%s-Mod", AuthID )
format ( vaultdata, 255, "%i#%i#", PlayerXP[id], PlayerLevel[id] )
nvault_get ( g_Vault, vaultkey, vaultdata,255 )
replace_all ( vaultdata, 255, "#", " " )
new playerxp[32], playerlevel[32];
parse ( vaultdata, playerxp, 31, playerlevel, 31 )
PlayerXP[id] = str_to_num ( playerxp )
PlayerLevel[id] = str_to_num ( playerlevel )
return PLUGIN_CONTINUE
}
public BeginningCT ( id ) /*Sta se desava kad se spawnuje Avatar*/
{
if ( cs_get_user_team ( id ) == CS_TEAM_CT )
{
if ( !is_user_alive(id) || !is_user_connected ( id ) )
{
return PLUGIN_CONTINUE
}
if ( !PlayerClassCT[id] )
{
ChangeClassCT ( id )
}
if ( PlayerClassCT[id] == 0 ) /*None*/
{
strip_user_weapons ( id )
cs_set_user_model ( id, "avatar" )
}
if ( PlayerClassCT[id] == 1 ) /*Brz Avatar*/
{
strip_user_weapons ( id )
set_user_health ( id, 2200 )
give_item ( id, "weapon_knife" )
cs_set_user_model ( id, "avatar" )
}
if( PlayerClassCT[id] == 2 ) /*Nevidljiv Avatar*/
{
strip_user_weapons ( id )
set_user_health ( id, 1600 )
give_item ( id, "weapon_knife" )
cs_set_user_model ( id, "avatar" )
set_user_rendering ( id, kRenderFxGlowShell, 0, 0, 0, kRenderTransColor, 70 )
}
}
return PLUGIN_CONTINUE
}
public BeginningT ( id ) /*Sta se desava kad se spawnuje Vojnik*/
{
new CsTeams:team = cs_get_user_team ( id )
if ( team == CS_TEAM_T )
{
if ( !is_user_alive(id) || !is_user_connected ( id ) )
{
return PLUGIN_CONTINUE
}
if ( !PlayerClassT[id] )
{
ChangeClassT ( id )
}
if ( PlayerClassT[id] == 0 )
{
strip_user_weapons ( id )
cs_set_user_model ( id, "marine" )
}
if ( PlayerClassT[id] == 1 ) /*Marinac*/
{
strip_user_weapons ( id )
give_item ( id, "weapon_deagle" )
cs_set_user_bpammo ( id, CSW_DEAGLE, 93 )
cs_set_user_model ( id, "marine" )
}
if( PlayerClassT[id] == 2 ) /*Komandant*/
{
strip_user_weapons ( id )
give_item ( id, "weapon_m4a1" )
give_item ( id, "weapon_ak47" )
cs_set_user_bpammo ( id, CSW_M4A1, 120 )
cs_set_user_bpammo ( id, CSW_AK47, 120 )
cs_set_user_model ( id, "commander" )
}
}
return PLUGIN_CONTINUE
}
public CurWeapon(id)
{
if(PlayerClassCT[id] == 1)
{
if (get_user_weapon(id) == CSW_KNIFE)
{
entity_set_string(id, EV_SZ_viewmodel, "models/avatar_mod/v_avatar_knife.mdl")
}
}
if(PlayerClassCT[id] == 2)
{
if(get_user_weapon(id) == CSW_KNIFE)
{
entity_set_string(id, EV_SZ_viewmodel, "models/avatar_mod/v_avatar_knife.mdl")
}
}
if(PlayerClassT[id] == 1)
{
if(get_user_weapon(id) == CSW_DEAGLE)
{
entity_set_string(id, EV_SZ_viewmodel, "models/avatar_mod/v_soldier_deagle.mdl")
entity_set_string(id, EV_SZ_weaponmodel, "models/avatar_mod/p_soldier_deagle.mdl")
}
}
if(PlayerClassT[id] == 2)
{
if(get_user_weapon(id) == CSW_M4A1)
{
entity_set_string(id, EV_SZ_viewmodel, "models/avatar_mod/v_soldier_m4a1.mdl")
entity_set_string(id, EV_SZ_weaponmodel, "models/avatar_mod/p_soldier_m4a1.mdl")
}
if(get_user_weapon(id) == CSW_AK47)
{
entity_set_string(id, EV_SZ_viewmodel, "models/avatar_mod/v_soldier_ak47.mdl")
entity_set_string(id, EV_SZ_weaponmodel, "models/avatar_mod/p_soldier_ak47.mdl")
}
}
}
public message_TextMsg(const MsgId, const MsgDest, const MsgEntity)
{
static message[32]
get_msg_arg_string(2, message, charsmax(message))
if(equal(message, "#Terrorists_Win"))
{
set_hudmessage(255, 0, 0, -1.0, 0.30, 0, 6.0, 12.0)
show_hudmessage(0, "Vijnici su dobili bitku !")
}
else if(equal(message, "#CTs_Win"))
{
set_hudmessage(0, 170, 255, -1.0, 0.30, 0, 6.0, 12.0)
show_hudmessage(0, "Avatari su dobili bitku !")
}
}
public msgStatusIcon(msgid, msgdest, id)
{
static szIcon[8]
get_msg_arg_string(2, szIcon, 7)
if(equal(szIcon, "buyzone") && get_msg_arg_int(1))
{
set_pdata_int(id, 235, get_pdata_int(id, 235) & ~(1<<0))
return PLUGIN_HANDLED
}
return PLUGIN_CONTINUE
}
public ThirdPersonView(id)
{
if(cs_get_user_team(id) == CS_TEAM_CT)
{
set_view(id, CAMERA_3RDPERSON)
}
}
public FirstPersonView(id)
{
if(cs_get_user_team(id) == CS_TEAM_CT)
{
set_view(id,CAMERA_NONE)
}
}
public Help()
{
switch(random(7))
{
case 0: ColorChat(0, GREEN, "[Avatar Mod] ^1Da vidis stats, ^3say: /xp")
case 1: ColorChat(0, GREEN, "[Avatar Mod] ^1Da promenis klasu ^3say: /classct ^1ili ^3say: /classt")
case 2: ColorChat(0, GREEN, "[Avatar Mod] ^1Da otvorite Avatar Shop ^3say: /shop")
}
set_task(36.0, "Help")
}
public round_start()
{
drop_locked = true
}
public drop(id)
{
if (drop_locked)
{
client_print(id, print_center, "Nemozes da bacas oruzija !")
return PLUGIN_HANDLED
}
return PLUGIN_CONTINUE
}
|
You mean that avatar where is blue guys xD ?
I've seen both of them.
|
|