Plugins De Level Para Surf Ayuda
#1
Primero, que todo buenas, nesesito una gran ayuda de un crack editor
nesesito aver quien me puede regalar un plugins de level, con 820 lvl, y que valla desbloqueando models mientras sube de level,? que si al lvl 10 desbloquea 1 models, al 20 otro y asi susesivamente? porfavor ayudenme soy total mente nuevo en esto y no se editar tengo un sv de surf, y eso es lo unico que me falta porfa si? no importa con los models que me los coloquen porfavor ayudenme
Responder
#2
Usa el Surf de kikizon2 está en su página buscala como kikizon blog, su surf tiene niveles y cosas desbloqueables como cuchillos por modelos, y puedes hacer eso mismo con armas y eso, si quieres que te ayude dime
Responder
#3
Código PHP:
#include <amxmodx>
#include <amxmisc>
#include <hamsandwich>
#include <fakemeta>
#include <fun>
#include <cstrike>

#include <adv_vault>

/* ============================================================================================== */

new const P_INFO[ ][ ] = { "Surf Mod + Niveles""1.0b""kikizon2" };

/* ============================================================================================== */

#define flag_get(%1,%2)        (%1 & (1 << (%2 & 31)))
#define flag_set(%1,%2)        (%1 |= (1 << (%2 & 31)))
#define flag_unset(%1,%2)    (%1 &= ~(1 << (%2 & 31)))

#define CostLevelUp(%1) ( %1 * %1 * 25 )

#define MAX_LEVEL 820 // NIVEL MÁXIMO
#define PW_LENGHT 32 // LETRAS MAXIMAS PARA LA CONTRASEÑA

/* ============================================================================================== */

new const CHAT_PREFIX[ ] = "!g[ SurfMod ]!n";

#define TASK_HUD 5689
#define TASK_RESPAWN 5789
#define TASK_GM 5889

#define ID_HUD ( taskid - TASK_HUD )
#define ID_RESPAWN ( taskid - TASK_RESPAWN )
#define ID_GM ( taskid - TASK_GM )

enum _:MAX_BITS ALIVECONNECTEDCANCHANGE }
enum _:MAX_PROFIT PROFIT_ADMTYPE20 ], PROFIT_ADMFLAGPROFIT_NNPROFIT_HH }
enum _:MAX_CVARS RESPAWN_TIMEEXP_KILLEXP_KILLKNIFEPOINTS_KILLPOINTS_LVLUP }
enum _:RANGE_DATA RANGE_NAME35 ], RANGE_LVL }
enum _:MAX_MSGS TEAMINFOSAYTEXTSHOWMENUVGUIMENU }
enum _:MAX_FIELDS PWDATELVLEXPRANGE }
enum _:WPNMENU WPN_NAME30 ], WPN_ENT20 ], WPN_CSWWPN_COST }
enum _:KNIFES_DATA KNIFE_NAME[32], KNIFE_VMDL[30], KNIFE_PMDL[30], RANGE_REQUIRED }

enum NOT_REGISTEREDREGISTEREDLOGUEDMAX_STATUS }
enum SAVE 0LOAD }


new 
kBitsMAX_BITS ], kCvarsMAX_CVARS ], kMsgMAX_MSGS ], kSyncHUDkMPkHasHH;
new 
kVault1kVault2kField_TACCkFieldsMAX_FIELDS ], kTotalAccounts;
new 
kProfit33 ], kLvl33 ], kExp33 ], kRange33 ], kAccountType33 ][ 20 ], kPN33 ][ 32 ];
new 
kStatus33 ], kPassword33 ][ PW_LENGHT ], kPwCache33 ][ PW_LENGHT ], kDate33 ][ 35 ];
new 
kPoints33 ], kKnifeSelected33 ], kGameDesc50 ];

new const 
HHTIMES[ ][ ] = { "00""04""06""23" };
new const 
szStatus[ ][ ] = { "No Registrado""Registrado""Logueado" };
new const 
RangeUP[ ] = "surmod_bk/rangeup.wav";


new const 
Admin_Profit[ ][ MAX_PROFIT ] =
{
    { 
"Basic"ADMIN_LEVEL_F2},
    { 
"Vip"ADMIN_LEVEL_G3},
    { 
"Platinum"ADMIN_LEVEL_H4}
};

new const 
Ranges[ ][ RANGE_DATA ] = 
{
    { 
""},
    { 
"Recien Llegado"10 },
    { 
"Silver I"20},
    { 
"Silver II"30 },
    { 
"Silver III"50 },
    { 
"Silver IV"60 },
    { 
"Silver Elite"70 },
    { 
"Silver Elite Master"80 },
    { 
"Gold Nova I"90 },
    { 
"Gold Nova II"100 },
    { 
"Gold Nova III"110 },
    { 
"Gold Nova Master"130 },
    { 
"Master Guardian I"140},
    { 
"Master Guardian II"150 },
    { 
"Master Guardian Elite"180 },
    { 
"Distinguished Master Guardian"190 },
    { 
"Legendary Eagle"200 },
    { 
"Legendary Eagle Master"210 },
    { 
"Supreme Master First Class"240 },
    { 
"The Global Elite"250 },
    { 
"BUFIX"99999 }
};

new const 
WeaponPri[ ][ WPNMENU ] =
{
    { 
"M3 Super""weapon_m3"CSW_M3},
    { 
"Mp5 Navy""weapon_mp5navy"CSW_MP5NAVY10 },
    { 
"Famas""weapon_famas"CSW_FAMAS20 },
    { 
"Galil""weapon_galil"CSW_GALIL20 },
    { 
"AUG""weapon_aug"CSW_AUG20 },
    { 
"SG - 552""weapon_sg552"CSW_SG55225 },
    { 
"AWP MAGNUM""weapon_awp"CSW_AWP50 },
    { 
"M4A1""weapon_m4a1"CSW_M4A135 },
    { 
"AK - 47 Kalashnikov""weapon_ak47"CSW_AK4735 },
    { 
"SG - 550""weapon_sg550"CSW_SG55040 },
    { 
"G3SG1""weapon_sg3sg1"CSW_G3SG140 },
    { 
"M249 - Machine Gun""weapon_m249"CSW_M24960 }
};

new const 
WeaponSec[ ][ WPNMENU ] = 
{
    { 
"Glock""weapon_glock18"CSW_GLOCK18},  
    { 
"USP""weapon_usp"CSW_USP},
    { 
"P228""weapon_p228",  CSW_P228},
    { 
"Deagle""weapon_deagle"CSW_DEAGLE10 },
    { 
"Fiveseven""weapon_fiveseven"CSW_FIVESEVEN},
    { 
"Dual Elite""weapon_elite"CSW_ELITE}
};

new const 
Knifes[ ][ KNIFES_DATA ] = 
{
    { 
"Default""v_default""p_default"},
    { 
"Bayonet""v_bayonet""p_bayonet"},
    { 
"ButterFly""v_butterfly""p_butterfly"},
    { 
"Flip""v_flip""p_flip"},
    { 
"Gut""v_gut""p_gut"},
    { 
"Huntsman""v_huntsman""p_huntsman"},
    { 
"M9 Bayonet""v_m9""p_m9"},
    { 
"Karambit""v_karambit""p_karambit"}
};

/* ============================================================================================== */

public plugin_cfg( )
{
    
set_cvar_num"sv_airaccelerate"999 );
    
set_cvar_num"sv_maxspeed"999 );
}

public 
plugin_precache()
{
    static 
kbuffer[300];
    
    for( 
0sizeof Knifes; ++)
    {
        
formatexbuffercharsmax(buffer), "models/surfmod_bk/%s.mdl"Knifes][ KNIFE_VMDL ] );
        
precache_modelbuffer );
        
        
formatexbuffercharsmax(buffer), "models/surfmod_bk/%s.mdl"Knifes][ KNIFE_PMDL ] );
        
precache_modelbuffer );
    }
        
    
    
precache_soundRangeUP );
}

public 
plugin_init( )
{
    
register_pluginP_INFO], P_INFO], P_INFO] );
    
    
register_event("HLTV""ev_RoundStart""a""1=0""2=0");
    
    
RegisterHamHam_Spawn"player""ham_PlayerSpawnPost"true );
    
RegisterHamHam_Killed"player""ham_PlayerKilledPost"true );
    
RegisterHam(Ham_Item_Deploy"weapon_knife""ham_KnifeDeployPost"true);
    
    
register_forward(FM_GetGameDescription"fm_GetGameDescription");
    
register_forward(FM_ClientUserInfoChanged"fm_ClienInfoChanged");
    
    
register_clcmd"JOIN_PASSWORD""JoinPassword" );
    
register_clcmd"jointeam""BlockCooseteam" );
    
register_clcmd"chooseteam""BlockCooseteam" );
    
    
kMsgTEAMINFO ] = get_user_msgid("TeamInfo");
    
kMsgSAYTEXT ] = get_user_msgid("SayText");
    
kMsgSHOWMENU ] = get_user_msgid"ShowMenu" );
    
kMsgVGUIMENU ] = get_user_msgid"VGUIMenu" );
    
    
register_message(kMsgTEAMINFO ], "message_teaminfo");
    
register_message(kMsgVGUIMENU ], "message_VGUImenu");
    
register_message(kMsgSHOWMENU ], "message_VGUImenu");
    
    
kCvarsRESPAWN_TIME ] = register_cvar"sm_respawntime""5.0" );
    
kCvarsEXP_KILL ] = register_cvar"sm_exp_by_kill""50" );
    
kCvarsEXP_KILLKNIFE ] = register_cvar"sm_exp_kill_knife""100" );
    
kCvarsPOINTS_KILL ] = register_cvar"sm_points_kill""10" );
    
kCvarsPOINTS_LVLUP ] = register_cvar"sm_points_kill""10" );

    
kMP get_maxplayers( );
    
kSyncHUD CreateHudSyncObj( );
    
    
kVault1 adv_vault_open"CLIENT_DATA"false );
    
kFieldsPW ] = adv_vault_register_fieldkVault1"Password"DATATYPE_STRINGPW_LENGHT-);
    
kFieldsDATE ] = adv_vault_register_fieldkVault1"Date"DATATYPE_STRINGcharsmax(kDate[]));
    
kFieldsLVL ] = adv_vault_register_fieldkVault1"LVL");
    
kFieldsEXP ] = adv_vault_register_fieldkVault1"EXP");
    
kFieldsRANGE ] = adv_vault_register_fieldkVault1"RANGE");
    
adv_vault_initkVault1 );
    
    
kVault2 adv_vault_open("TOTALACCOUNTS"false);
    
kField_TACC adv_vault_register_fieldkVault2"CuentasCreadas"DATATYPE_INT );
    
adv_vault_initkVault2 );
    
    
LoadTotalAccounts();
    
    
formatex(kGameDesccharsmax(kGameDesc), "%s by %s",P_INFO[0], P_INFO[2]);
}

public 
client_putinserverindex )
{
    
get_user_nameindexkPNindex ], 31 );
    
get_time("%c"kDateindex ], charsmaxkDate[ ] ) );
    
flag_set(kBits[CONNECTED],index);
    
    
kLvlindex ] = kRangeindex ] = 1;
    
kExpindex ] = kKnifeSelectedindex ] = 0;
    
    
ManageDataindexLOAD );
    
LoadProfitsindex );
}

public 
client_disconnectindex )
{
    
remove_taskindex TASK_HUD );
    
remove_taskindex TASK_RESPAWN)
    
ManageDataindexSAVE );
    
flag_unset(kBitsCONNECTED ],index);
}

/* ============================================================================================== */

public ev_RoundStart()
{
    
get_happytime();
    
    for(new 
1<= kMP; ++i)
    {
        if(!
flag_get(kBitsCONNECTED ],i)) continue;
        
        
remove_task(i+TASK_RESPAWN);
    }
}

public 
message_teaminfo(msg_idmsg_dest)
{
    if(
msg_dest != MSG_ALL && msg_dest != MSG_BROADCAST) return;
    
    static 
indexindex get_msg_arg_int(1);
    
    if( !
flag_get(kBitsCONNECTED ],index)) return;

    
set_task1.0"ShowHUD"index TASK_HUD__"b" );
    
set_taskget_pcvar_float(kCvarsRESPAWN_TIME ]), "Respawn"index TASK_RESPAWN );
}

public 
message_VGUImenu(msgiddestindex
{
    if(
kStatus[index] != LOGUED)
        
ShowLoginMenu(index);

    return 
1;
}

public 
Respawn(taskid)
{
    if(
flag_get(kBits[ALIVE], ID_RESPAWN) || !flag_get(kBitsCONNECTED ],ID_RESPAWN))
        return;
        
    
ExecuteHamB(Ham_CS_RoundRespawnID_RESPAWN);
}

public 
RemoveGodModetaskid )
{
    if(
flag_get(kBits[ALIVE], ID_GM) || !flag_get(kBitsCONNECTED ],ID_GM))
        return;
        
    
set_user_godmodeID_GM);
}

/* ============================================================================================== */

public ham_PlayerSpawnPostindex )
{
    
flag_set(kBitsALIVE ],index);
    
    
remove_taskindex TASK_RESPAWN );
}

public 
ham_PlayerKilledPost(victimattackershouldgib)
{
    if(
victim == attacker || !flag_get(kBits[ALIVE], attacker) )
        return;
    
    if(
get_user_weaponattacker ) == CSW_KNIFE )    
        
SetExpattackerget_pcvar_numkCvarsEXP_KILLKNIFE ] ), );
    else
        
SetExpattackerget_pcvar_numkCvarsEXP_KILL ] ), );
    
    
kPointsattacker ] += get_pcvar_numkCvarsPOINTS_KILL ]);
    
    
flag_unset(kBitsALIVE ],victim);
    
set_taskget_pcvar_float(kCvarsRESPAWN_TIME ]), "Respawn"victim TASK_RESPAWN );
}

public 
ham_KnifeDeployPost(wpn)
{
    static 
idid get_weapon_ent_owner(wpn);
    
    if (!
pev_valid(id)) return;
    
    static 
WeaponIDWeaponID cs_get_weapon_id(wpn); 
    
    if(!
flag_get(kBits[ALIVE], id))
        return;
        
    static 
buffer[128];
    
    if(
WeaponID == CSW_KNIFE)
    {
        
formatexbuffercharsmaxbuffer ), "models/surfmod_bk/%s.mdl"Knifes[kKnifeSelected[id]][KNIFE_VMDL]);
        
set_pev(idpev_viewmodel2buffer );
        
        
formatexbuffercharsmaxbuffer ), "models/surfmod_bk/%s.mdl"Knifes[kKnifeSelected[id]][KNIFE_PMDL]);
        
set_pev(idpev_weaponmodel2buffer);
    }
}

public 
fm_GetGameDescription()
{
    
forward_return(FMV_STRINGkGameDesc);
    return 
FMRES_SUPERCEDE;
}

public 
fm_ClientInfoChanged(indexbuffer
{
    if(
flag_get(kBits[CONNECTED],index)) 
    {
        if(
kStatus[index] == LOGUED
        {
            static 
OldName[33];
            
            
engfunc(EngFunc_InfoKeyValuebuffer"name"OldNamecharsmax(OldName));
            
            if(
equal(OldNamekPNindex ]))
                return 
FMRES_IGNORED;
            
            
set_user_info(index"name"kPNindex ]);
            
client_cmd(index"setinfo ^"name^" ^"%s^""kPNindex ]);
        }
    }
    return 
FMRES_IGNORED;    
}

/* ============================================================================================== */

public ShowHUDtaskid )
{
    static 
indexindex ID_HUD;
    
    if (!
flag_get(kBits[ALIVE],index))
    {
        
index pev(indexpev_iuser2);
        
        if (!
flag_get(kBits[ALIVE], index)) 
            return;
    }
    
    static 
color_Rcolor_Gcolor_B;
    
color_R random_num0255 ); color_G random_num0255 ); color_B random_num0255 );
    
    
    
    if(
index != ID_HUD)
    {
        
set_hudmessagecolor_Rcolor_Gcolor_B255000.040.0406.012.0);
        
ShowSyncHudMsgID_HUDkSyncHUD"Specting: %s^nTipo de Cuenta: %s^nRango: %s^nVida: %d^nPuntos: %d^nNivel: %d",
        
kPN[index], kAccountType[index], RangeskRange[index]][ RANGE_NAME ], get_user_healthindex ), kPointsindex ], kLvlindex ]);
    }
    else
    {
        
set_hudmessagecolor_Rcolor_Gcolor_B255000.040.0406.012.0);
        
ShowSyncHudMsgID_HUD kSyncHUD"Tipo de Cuenta: %s^nRango: %s^nVida: %d^nPuntos: %d^nNivel: %d / %d^nExp: %d / %d^n^nHappy Hour: %s",
        
kAccountType[index], RangeskRange[index]][ RANGE_NAME ], get_user_healthindex ), kPointsindex ], kLvlindex ], MAX_LEVELkExpindex ], CostLevelUp(kLvlindex ]), kHasHH "Activada" "Desactivada" );
    }
}

public 
BlockCooseteamindex )
{
    if(
kStatus[index] != LOGUED)
    {
        
ShowLoginMenu(index);
        return 
PLUGIN_HANDLED;
    }
    
    if(!
get_user_team(index) || get_user_team(index) == 3)
        return 
PLUGIN_CONTINUE;
        
    
ShowMainMenu(index);
    return 
PLUGIN_HANDLED;
}

public 
JoinPasswordindex )
{
    
read_argskPasswordindex ], PW_LENGHT-);
    
remove_quoteskPasswordindex ] );
    
trimkPasswordindex ] );
    
    if(
equal(kPassword[index], "") || containi(kPassword[index]," ") != -1
    {
        
client_print(indexprint_center"Tu password contiene errores");
        return;
    }
    
    switch( 
kStatusindex ] )
    {
        case 
NOT_REGISTERED:
        {
            
client_print(indexprint_center"Confirma tu password");
            
copykPwCache[index], PW_LENGHT-1kPassword[index]);
            
ShowConfirmationMenuindex );
        }
        case 
REGISTERED:
        {
            new 
bufferPW_LENGHT ];
            
adv_vault_get_preparekVault1_kPNindex ] );
            
adv_vault_get_fieldkVault1kFieldsPW ], bufferPW_LENGHT-);
            
            if( 
equalbufferkPasswordindex ]) ) 
            {
                
ManageData(indexSAVE);
                
client_print(indexprint_center"Te has logueado");
                
ForceJoinTeamindex );
                return;
            }
            
            
ShowLoginMenuindex );
            
client_print(indexprint_center"Password Incorrecta.");
        }
        case 
LOGUED:
        {
            if( 
flag_get(kBitsCANCHANGE ],index) ) 
            {
                
client_print(indexprint_center"No Permitido...");
                return;
            }
            
            
client_printindexprint_center"Confirma tu password para cambiarla..." );
            
copykPwCacheindex ], PW_LENGHT-1kPasswordindex ]);
            
ShowConfirmationMenuindex );
        }
    }
}

/* ============================================================================================== */

ShowLoginMenu(index
{
    static 
tittle[999], lenlen 0;
    
    
len += formatex(tittle[len], charsmax(tittle) - len"\rSistema de Cuentas by \d%s \y^n"P_INFO] );
    
len += formatex(tittle[len], charsmax(tittle) - len"\yNumero total de cuentas: \d%d^n^n"kTotalAccounts );
    
len += formatex(tittle[len], charsmax(tittle) - len"\wBienvenido: \d%s^n"kPNindex ] );
    
len += formatex(tittle[len], charsmax(tittle) - len"\wEstado: \d[ \r%s \d]^n"szStatuskStatusindex ] ] );
    
len += formatex(tittle[len], charsmax(tittle) - len"\wTu ultima Visita Fue: \d%s^n^n", !kDate[index][0] ? "NUNCA"kDateindex ]);
    
    new 
menu menu_create(tittle,"menu_login");
    
    
menu_additem(menu, (kStatus[index] == REGISTERED)?"Loguearse":"\dLoguearse""1");
    
menu_additem(menu, (kStatus[index] == NOT_REGISTERED)?"Registrarse^n":"\dRegistrarse^n""2");
    
menu_additem(menu, (kStatus[index] == LOGUED && !flag_get(kBitsCANCHANGE ],index))?"Cambiar pass":"\dCambiar pass""3");
    
    if( 
kStatusindex ] != LOGUED )
        
menu_setprop(menuMPROP_EXITMEXIT_NEVER);

    
menu_display(indexmenu );
}

ShowConfirmationMenu(index
{
    static 
tittle128 ];
    
formatex(tittle127"La password sera \r%s^n^n\yContinuar?"kPwCacheindex ]);
    
    new 
menu menu_create(tittle,"menu_confirm");
    
    
menu_additem(menu,"\rSi\w, adelante","1");
    
menu_additem(menu,"\rNo\w, deseo reescribirla","2");
    
    
menu_setprop(menuMPROP_EXITMEXIT_NEVER);
    
    
menu_display(indexmenu0);
}

ShowMainMenuindex )
{
    new 
menu menu_create"\y[\dSurf Mod\y] \wMenu Principal""menu_main" );
    
    
menu_additemmenu"Modelos de \yCuchillos^n""1" );
    
menu_additemmenu"Comprar \yArmamento""2" );
    
menu_additemmenu"Comprar \yItems^n""3" );
    
    
menu_additemmenu"Configuracion de \yCuenta""4" );
    
    
menu_displayindexmenu );
}

ShowGunMenuindex )
{
    new 
menu menu_create"\y[ \dSURF + LVL \y] \wArmamento""menu_gun" );
    
    
menu_additemmenu"Primarias""1" );
    
menu_additemmenu"Secundarias""2" );
    
    
menu_displayindexmenu );
}

ShowPriMenuindex )
{
    new 
iwpn[50], menu menu_create"\y[ \dSURF + LVL \y] \wArmamento Primario""menu_pri" );
    
    for( 
0sizeof WeaponPri ; ++)
    {
        if( 
kPointsindex ] >= WeaponPri][ WPN_COST ])
        {
            
formatexwpncharsmax(wpn), "\w%s \y[ \r%d Points \y]"WeaponPri][ WPN_NAME ], WeaponPri][ WPN_COST ] )
            
menu_additemmenuwpn"");
        }
        else
        {
            
formatexwpncharsmax(wpn), "\d%s \y[ \r%d Points \y]"WeaponPri][ WPN_NAME ], WeaponPri][ WPN_COST ] );
            
menu_additemmenuwpn"" );
        }
    }
    
    
menu_displayindexmenu );
}

ShowSecMenuindex )
{
    new 
iwpn[50], menu menu_create"\y[ \dSURF + LVL \y] \wArmamento Secundario""menu_sec" );
    
    for( 
0sizeof WeaponPri ; ++)
    {
        if( 
kPointsindex ] >= WeaponSec][ WPN_COST ])
        {
            
formatexwpncharsmax(wpn), "\w%s \y[ \r%d Points \y]"WeaponSec][ WPN_NAME ], WeaponSec][ WPN_COST ] )
            
menu_additemmenuwpn"");
        }
        else
        {
            
formatexwpncharsmax(wpn), "\d%s \y[ \r%d Points \y]"WeaponSec][ WPN_NAME ], WeaponSec][ WPN_COST ] );
            
menu_additemmenuwpn"" );
        }
    }
    
    
menu_displayindexmenu );
}

ShowItemMenuindex )
{
    new 
menu menu_create"\y[ \dSURF + LVL \y] \wItems""menu_item" );
    
    
menu_additemmenu"+100HP \y[ \r10 Points \y]""1" );
    
menu_additemmenu"GodMode \d( \y10 segundos\d) \y[ \r20 Points \y]""2" );
    
    
menu_displayindexmenu );
}

public 
ShowMenuKnifesindex )
{
    static 
kmenustring[80]; menu menu_create"\y[ \dSURF + LVL \y] \wMenu de Cuchillos""menu_knifes" );
    
    for( 
0sizeof Knifes; ++)
    {
        if(
kRangeindex ] >= Knifes][ RANGE_REQUIRED ])
            
menu_additemmenuKnifes][ KNIFE_NAME ], "" );
        else
        {
            
formatexstringcharsmax( string ), "\d%s \y[ \r%s \y]"Knifes][ KNIFE_NAME ], RangesKnifes[k][RANGE_REQUIRED]][RANGE_NAME]);
            
menu_additemmenustring"" );
        }
    }
    
    
menu_displayindexmenu );
    return 
PLUGIN_HANDLED;
}

public 
menu_knifesindexmenuitem )
{
    if(
item == MENU_EXIT)
    {
        
menu_destroymenu );
        return 
PLUGIN_HANDLED;
    }
    
    if(
kRangeindex ] < Knifesitem ][ RANGE_REQUIRED ])
    {
        
Color_Printindex"Necesitas ser rango: !g^"%s^" !npara usar este knife"RangesKnifes[item][RANGE_REQUIRED]][RANGE_NAME]);
        
ShowMenuKnifesindex );
        return 
PLUGIN_HANDLED;
    }
    
    
kKnifeSelectedindex ] = item;
    
engclient_cmdindex"weapon_knife");
    
    
menu_destroymenu );
    return 
PLUGIN_HANDLED;
}

public 
menu_itemindexmenuitem )
{
    switch( 
item )
    {
        case 
0:
        {
            if(
kPointsindex ] < 10)
            {
                
Color_Printindex"No tienes suficientes puntos");
                return 
PLUGIN_HANDLED;
            }
            
            
set_user_healthindexget_user_healthindex ) + 100 );
            
kPointsindex ] -= 10;
        }
        case 
1:
        {
            if( 
kPointsindex ] < 20)
            {
                
Color_Printindex"No tienes suficientes puntos");
                return 
PLUGIN_HANDLED;
            }
            
            
set_user_godmodeindex);
            
set_task10.0"RemoveGodMode"index TASK_GM);
            
            
kPointsindex ] -= 20;
        }
        
        case 
MENU_EXIT: { menu_destroymenu ); return PLUGIN_HANDLED; }
    }
    
    
menu_destroymenu );
    return 
PLUGIN_HANDLED;
}

public 
menu_priindexmenuitem )
{
    if(
item == MENU_EXIT )
    {
        
menu_destroymenu );
        return 
PLUGIN_HANDLED;
    }
    
    if( 
kPointsindex ] < WeaponPriitem ][ WPN_COST ])
    {
        
Color_Printindex"No tienes suficientes puntos");
        
ShowMainMenuindex );
        return 
PLUGIN_HANDLED;
    }
    
    
give_itemindexWeaponPriitem ][ WPN_ENT ]);
    
cs_set_user_bpammoindexWeaponPriitem ][ WPN_CSW ], 999 );
    
    
kPointsindex ] -= WeaponPriitem ][ WPN_COST ];
    
    
menu_destroymenu );
    return 
PLUGIN_HANDLED;
}

public 
menu_secindexmenuitem )
{
    if(
item == MENU_EXIT )
    {
        
menu_destroymenu );
        return 
PLUGIN_HANDLED;
    }
    
    if( 
kPointsindex ] < WeaponSecitem ][ WPN_COST ])
    {
        
Color_Printindex"No tienes suficientes puntos");
        
ShowMainMenuindex );
        return 
PLUGIN_HANDLED;
    }
    
    
give_itemindexWeaponSecitem ][ WPN_ENT ]);
    
cs_set_user_bpammoindexWeaponSecitem ][ WPN_CSW ], 999 );
    
    
kPointsindex ] -= WeaponSecitem ][ WPN_COST ];
    
    
menu_destroymenu );
    return 
PLUGIN_HANDLED;
}

public 
menu_gunindexmenuitem )
{
    switch ( 
item )
    {
        case 
0ShowPriMenuindex );
        case 
1ShowSecMenuindex );
        
        case 
MENU_EXIT: { menu_destroymenu ); return PLUGIN_HANDLED; }
    }
    
    
menu_destroymenu );
    return 
PLUGIN_HANDLED;
}

public 
menu_mainindexmenuitem )
{
    switch ( 
item )
    {
        case 
0ShowMenuKnifesindex );
        case 
1ShowGunMenuindex );
        case 
2ShowItemMenuindex );
        case 
3ShowLoginMenuindex );
        
        case 
MENU_EXIT: { menu_destroymenu ); return PLUGIN_HANDLED; }
    }
    
    
menu_destroymenu );
    return 
PLUGIN_HANDLED;
}

public 
menu_login(indexmenuitem
{
    switch(
item
    {
        case 
0
        {
            if(
kStatus[index] == REGISTERED
            {
                
client_print(indexprint_center"Ingresa tu PASSWORD para entrar a tu cuenta");
                
client_cmd(index,"messagemode ^"JOIN_PASSWORD^"");
                return 
PLUGIN_HANDLED;
            } 
            
            
client_print(indexprint_center"No puedes elegir esta opcion");
        }
        case 
1
        {
            if(
kStatus[index] == NOT_REGISTERED
            {
                
client_print(indexprint_center"Ingresa una PASSWORD para crear una cuenta");
                
client_cmd(index,"messagemode ^"JOIN_PASSWORD^"");
                return 
PLUGIN_HANDLED;
            } 
            
            
client_print(indexprint_center"No puedes elegir esta opcion");
        }
        case 
2
        {
            if(
kStatus[index] == LOGUED && !flag_get(kBitsCANCHANGE ],index)) 
            {
                
client_print(indexprint_center"Ingresa tu nueva PASSWORD");
                
client_cmd(index,"messagemode ^"JOIN_PASSWORD^"");
                return 
PLUGIN_HANDLED;
            } 
            
            
client_print(indexprint_center"No estas logueado o ya cambiaste tu password");
        }
        
        case 
MENU_EXIT: { menu_destroy(menu); return PLUGIN_HANDLED; }
    }
    
    
menu_destroy(menu);
    return 
PLUGIN_HANDLED;
}

public 
menu_confirm(indexmenuitem
{
    switch(
item
    {
        case 
0
        {
            switch(
kStatus[index]) 
            {
                case 
LOGUED
                {
                    
copy(kPassword[index], PW_LENGHT-1kPwCache[index]);
                    
ManageData(indexSAVE);
                    
client_print(indexprint_center"Tu password ha sido cambiada satisfactoriamente");
                    
flag_set(kBitsCANCHANGE ],index);
                }
                case 
NOT_REGISTERED
                {    
                    ++
kTotalAccounts;
                    
client_print(indexprint_center"Tu cuenta ha sido creada satisfactoriamente");
                    
copy(kPassword[index], PW_LENGHT-1kPwCache[index]);
                    
ManageData(indexSAVE);
                    
ForceJoinTeam(index);
                    
                    
adv_vault_set_startkVault2 );
                    
adv_vault_set_fieldkVault2kField_TACCkTotalAccounts );
                    
adv_vault_set_endkVault2);
                }
            }
        }
        case 
1
        {
            
menu_destroy(menu);
            
client_cmd(index,"messagemode ^"JOIN_PASSWORD^"");
            
            if(
kStatus[index] == LOGUED)
                
client_print(indexprint_center"Ingresa tu nueva PASSWORD");
            else
                
client_print(indexprint_center"Ingresa la PASSWORD para tu nueva cuenta");
        }
        case 
MENU_EXIT: { menu_destroy(menu); return PLUGIN_HANDLED; }
    }
    
    
menu_destroy(menu);
    return 
PLUGIN_HANDLED;
}

/* ============================================================================================== */

LoadProfitsindex )
{
    if(
is_user_adminindex ))
    {
        static 
iflagsflags get_user_flagsindex );
        
        for(
sizeof Admin_Profit ; ++i
        {
            if(
flags Admin_Profit][ PROFIT_ADMFLAG ])
            { 
                if( 
kHasHH )
                    
kProfit[index] = Admin_Profit][ PROFIT_HH ];
                else
                    
kProfit[index] = Admin_Profit][ PROFIT_NN ];
                    
                
formatex(kAccountTypeindex ], charsmaxkAccountType ), "%s"Admin_Profit][ PROFIT_ADMTYPE ]);
                
                break;
            }
        }
    }
    else
    {
        if( 
kHasHH )
            
kProfitindex ] = 2;
        else
            
kProfitindex ] = 1;
            
        
formatexkAccountTypeindex ], charsmaxkAccountType ), "NORMAL");
    }
}

get_happytime()
{
    
kHasHH false;
    
    static 
timeh[3], hourindex;
    
get_time("%H"timehcharsmax(timeh));
    
    for(
hour 0hour sizeof HHTIMES; ++hour
    {
        if(
equal(timehHHTIMES[hour])) 
            
kHasHH true;
    }
    
    
    for(
index 1index <= kMP; ++index)
    {
        if(!
flag_get(kBitsCONNECTED ],index)) continue;
        
        
LoadProfitsindex );
    }
}

UpdateLevel(index)
{
    static 
lvllvl kLvl[index];
    
    while(
kExp[index] >= CostLevelUpkLvl[index] ) && kLvl[index] < MAX_LEVEL)
    {
        ++
kLvl[index];
        
kPointsindex ] += get_pcvar_numkCvarsPOINTS_LVLUP ]);
    }
        
    if(
kLvl[index] > lvl)
    {
        
UpdateRange(index);
        
client_cmdindex"spk ^"%s^""RangeUP );
        
Color_Print(index"Felicidades has ascendido al nivel: !g%d"kLvl[index]);
    }
}

UpdateRange(index)
{
    static 
rangerange kRange[index];
    
    if( 
kLvlindex ] >= RangeskRangeindex ] ][ RANGE_LVL ])
        ++
kRange[index];
        
    if(
kRangeindex ] > range)
        
Color_Print(index"Felicidades has ascendido al Rango: !g%s"Ranges[kRange[index]][RANGE_NAME]);
}

ForceJoinTeam(index)
{
    static 
teammsg_blockteammsg_block_vguirestorevgui;
    
    
restore get_pdata_int(index510);
    
vgui restore & (1<<0);
    
    if (
vguiset_pdata_int(index510restore & ~(1<<0));
    
    
teammsg_block get_msg_block(kMsg[SHOWMENU]);
    
teammsg_block_vgui get_msg_block(kMsg[VGUIMENU]);
    
    
set_msg_block(kMsg[SHOWMENU], BLOCK_ONCE);
    
set_msg_block(kMsg[VGUIMENU], BLOCK_ONCE);
    
    
engclient_cmd(index"jointeam""5");
    
engclient_cmd(index"joinclass""5");
    
    
set_msg_block(kMsg[SHOWMENU], teammsg_block);
    
set_msg_block(kMsg[VGUIMENU], teammsg_block_vgui);
    
    if (
vguiset_pdata_int(index510restore);
        
    
kStatus[index] = LOGUED;
}

LoadTotalAccounts()
{
    if ( !
adv_vault_get_preparekVault21) ) 
    {
        
adv_vault_set_startkVault2 );
        
        
kTotalAccounts 0;
        
adv_vault_set_fieldkVault2kField_TACCkTotalAccounts );
        
        
adv_vault_set_endkVault21);
        return;
    }
    
    
kTotalAccounts adv_vault_get_fieldkVault2kField_TACC );
}

ManageDataindextype )
{
    if(!
flag_get(kBitsCONNECTED ],index) )
        return;
        
    if( 
type == SAVE )
    {
        
adv_vault_set_startkVault1 );
        
adv_vault_set_fieldkVault1kFieldsPW ], kPasswordindex ] );
        
adv_vault_set_fieldkVault1kFieldsDATE ], kDateindex ] );
        
adv_vault_set_fieldkVault1kFieldsLVL ], kLvlindex ]);
        
adv_vault_set_fieldkVault1kFieldsEXP ], kExpindex ]);
        
adv_vault_set_fieldkVault1kFieldsRANGE ], kRangeindex ]);
        
adv_vault_set_endkVault10kPNindex ] );
    }
    
    if( 
type == LOAD )
    {
        if( !
adv_vault_get_preparekVault1_kPNindex ] ) ) 
        {
            
kStatus[index] = NOT_REGISTERED;
            return;
        }
        
        
kStatusindex ] = REGISTERED;
        
        
adv_vault_get_fieldkVault1kFieldsPW ], kPassword[index], PW_LENGHT-);
        
adv_vault_get_fieldkVault1kFieldsDATE ], kDateindex ], charsmax(kDate[]) );
        
kLvlindex ] = adv_vault_get_fieldkVault1kFieldsLVL ] );
        
kExpindex ] = adv_vault_get_fieldkVault1kFieldsEXP ] );
        
kRangeindex ] = adv_vault_get_fieldkVault1kFieldsRANGE ] );
    }
}

/* ============================================================================================== */

stock SetExp(indexexpprofit)
{
    if( 
kLvlindex ] >= MAX_LEVEL ) return;
    
    
kExp[index] += ( profit ? (exp kProfitindex ]) : exp );
    
UpdateLevel(index);
}

stock get_weapon_ent_owner(ent)
{
    if (
pev_valid(ent) != 2)
        return -
1;
    
    return 
get_pdata_cbase(ent414);
}

stock Color_Print(const id, const input[], any:...)
{    
    new 
count 1players[32];
    static 
msg[191], len;
    
    
len formatex(msgcharsmax(msg), "%s "CHAT_PREFIX);
    
vformat(msg[len], 190 leninput3);
    
    
replace_all(msg190"!g""^4");
    
replace_all(msg190"!n""^1");
    
replace_all(msg190"!t""^3");
    
    
    if(
id
        
players[0] = id;
    else 
        
get_players(playerscount"ch");
             
    for (new 
0count; ++i)
    {
        if(
flag_get(kBits[CONNECTED], players[i]))
        {
            
message_begin(MSG_ONE_UNRELIABLEkMsgSAYTEXT ], _players[i]);  
            
write_byte(players[i]);
            
write_string(msg);
            
message_end();                
        }        
    }



Usa el TEMPLATE de los CUCHILLO para las ARMAS
Responder
#4
me gusaria usar el de kikizon, bro ! pero yo quiero mi mod original yo ya tengo todo lo demas, solo me falta, los lvl asi como los estoy pidiendo :/
Responder
#5
Las armas por niveles son automáticas, cada vez que subís de nivel te da el arma de ese nivel..

Código PHP:
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <dhudmessage>
#include <engine>
#include <fakemeta>
#include <fun>
#include <hamsandwich>

new const __PLUGIN[ ][ ] = { "Surf Mod""v1.0.0""Sky" };
new const 
__PREFIXSAY[ ] = "^3[ SURFMOD ]^1";
new const 
__PREFIXMEN[ ] = "\d[\y SURFMOD\d ]\w";

/* ====================================================== */

/* ====================================================== */

#define NextLevel(%1) (%1 * 55 + 20)
#define LevelMax 800
#define ID_SHOWHUD (taskid - TASK_SHOWHUD)
#define TASK_SHOWHUD 16367
#define RANDOMR random_num( 0, 255 )
#define RANDOMG random_num( 0, 255 )
#define RANDOMB random_num( 0, 255 )

const PEV_SPEC_TARGET pev_iuser2;
const 
PRIMARY_WEAPONS_BIT_SUM = (<< CSW_SCOUT)|(<< CSW_XM1014)|(<< CSW_MAC10)|(<< CSW_AUG)|(<< CSW_UMP45)|(<< CSW_SG550)|(<< CSW_GALIL)|(<< CSW_FAMAS)|
(
<< CSW_AWP)|(<< CSW_MP5NAVY)|(<< CSW_M249)|(<< CSW_M3)|(<< CSW_M4A1)|(<< CSW_TMP)|(<< CSW_G3SG1)|(<< CSW_SG552)|(<< CSW_AK47)|(<< CSW_P90);

const 
SECONDARY_WEAPONS_BIT_SUM = (<< CSW_P228)|(<< CSW_ELITE)|(<< CSW_FIVESEVEN)|(<< CSW_USP)|(<< CSW_GLOCK18)|(<< CSW_DEAGLE);
const 
PDATA_SAFE 2;
const 
OFFSET_WEAPONOWNER 41;
const 
OFFSET_LINUX_WEAPONS 4;
const 
HIDE_RM = (1<<3);

enum _:WEAPONSENUM
{
    
NAMEWPN30 ],
    
WEAPON_30 ],
    
CSW_,
    
V_MODEL50 ],
    
BPAMMO,
    
LEVELWPN,
    
Float:DAMAGEWPN,
    
Float:SPEEDWPN
};

new const 
WEAPONPRIM[ ][ WEAPONSENUM ] = 
{
    { 
"SCHMIDT TMP""weapon_tmp"CSW_TMP"default"99900.00.07 },
    { 
"UMP 45""weapon_ump45"CSW_UMP45"default"99910.00.10 },
    { 
"MP5 NAVY""weapon_mp5navy"CSW_MP5NAVY"default"99920.00.07 },
    { 
"ES P90""weapon_p90"CSW_P90"default"99930.00.06 },
    { 
"IMI GALIL""weapon_galil"CSW_GALIL"default"99940.00.08 },
    { 
"FAMAS""weapon_famas"CSW_FAMAS"default"99950.00.08 },
    { 
"SG-552 COMMANDO""weapon_sg552"CSW_SG552"default"99960.00.08 },
    { 
"M4A1 CARBINE""weapon_m4a1"CSW_M4A1"default"99970.00.08 },
    { 
"AK-47 KALASHNIKOV""weapon_ak47"CSW_AK47"default"99980.00.09 }
};

new const 
WEAPONSEC[ ][ WEAPONSENUM ] =
{
    { 
"USP .45 ACP TACTICAL""weapon_usp"CSW_USP"default"99900.00.14 },
    { 
"GLOCK 18C""weapon_glock18"CSW_GLOCK18"default"99910.00.15 },
    { 
"FIVESEVEN""weapon_fiveseven"CSW_FIVESEVEN"default"99920.00.15 },
    { 
"DUAL ELITE BERETTAS""weapon_elite"CSW_ELITE"default"99930.00.07 },
    { 
"DESERT EAGLE .50 AE""weapon_deagle"CSW_DEAGLE"default"99940.00.22 }
};

new const 
WEAPONS_ENT[ ][ ] = 

    
"""weapon_p228""""weapon_scout""weapon_hegrenade""weapon_xm1014""weapon_c4""weapon_mac10",
    
"weapon_aug""weapon_smokegrenade""weapon_elite""weapon_fiveseven""weapon_ump45""weapon_sg550",
    
"weapon_galil""weapon_famas""weapon_usp""weapon_glock18""weapon_awp""weapon_mp5navy""weapon_m249",
    
"weapon_m3""weapon_m4a1""weapon_tmp""weapon_g3sg1""weapon_flashbang""weapon_deagle""weapon_sg552",
    
"weapon_ak47""weapon_p90" 
};

new 
sLevel33 ], sFrags33 ];
new 
sWeaponSelectedPrim33 ], sWeaponSelectedSec33 ];
new 
sWeaponId[33];
new 
sStatusIconsHideWeaponsCrosshair;

new 
cvarFragsUser,
    
cvarFragsAdmin,
    
cvarTimeRespawn;

/* ====================================================== */

/* ====================================================== */

public plugin_init( )
{
    
register_plugin__PLUGIN], __PLUGIN], __PLUGIN] );

    
register_event"DeathMsg""event_Death""a" );
    
register_event"ResetHUD""event_ResetHud""b" );

    
RegisterHamHam_Killed"player""ham_PlayerKilled_Post"true );
    
RegisterHamHam_Spawn"player""ham_Spawn"true );
    
RegisterHamHam_TakeDamage"player""ham_PlayerTakeDamage" );
    new 
i;
    for( 
0sizeofWEAPONS_ENT ); ++)
    {
        if( 
WEAPONS_ENT][ ] ) {
            
RegisterHamHam_Item_DeployWEAPONS_ENT], "ham_ItemDeploy");
            
RegisterHamHam_Weapon_PrimaryAttackWEAPONS_ENT], "ham_PrimaryAttack");
        }
    }
        
    
register_clcmd"nightvision""open_Menu" );    
    
register_clcmd"drop""clcmd_LockedCommand" );
    
register_clcmd"kill""clcmd_LockedCommand" );
    
    
sStatusIcon get_user_msgid"StatusIcon" );
    
sHideWeapon get_user_msgid"HideWeapon" );
    
sCrosshair get_user_msgid"Crosshair" );
    
    
register_messagesStatusIcon"message_BlockBuyZone" );
    
register_messagesHideWeapon"message_HideWeapon" );

    
cvarFragsUser register_cvar"sf_fragsuser""5" );
    
cvarFragsAdmin register_cvar"sf_fragsadmin""10" );
    
cvarTimeRespawn register_cvar"sf_timerespawn""3.0" );
}

public 
plugin_precache( )
{
    new 
b;
    
    for( 
0sizeofWEAPONPRIM ); b++ )
    {
        if( !
equalWEAPONPRIM][ V_MODEL ], "default" ) )
            
precache_modelWEAPONPRIM][ V_MODEL ] );
    }
    for( 
0sizeofWEAPONSEC ); b++ )
    {
        if( !
equalWEAPONSEC][ V_MODEL ], "default" ) )
            
precache_modelWEAPONSEC][ V_MODEL ] );
    }
}

public 
client_putinserverid )
{
    
set_task0.5"OpenShowHud"id+TASK_SHOWHUD__"b" );

    
sLevelid ] = 0;
    
sFragsid ] = 0;
}

public 
client_disconnectid remove_taskid+TASK_SHOWHUD );

/* ====================================================== */

/* ====================================================== */

public event_Death( )
{
    new 
iAttacker read_data);
    new 
iVictim read_data);
    new 
iAdmin is_user_adminiAttacker );

    if( 
iAttacker == iVictim || !is_user_connectediAttacker ) || !is_user_connectediVictim ) ) return;

    
sFragsiAttacker ] += iAdmin get_pcvar_numcvarFragsAdmin ) : get_pcvar_numcvarFragsUser );
    
cciAttacker"%s Ganaste^4 %d^1 frag(s) por matar a un enemigo%s."__PREFIXSAYiAdmin get_pcvar_numcvarFragsAdmin ) : get_pcvar_numcvarFragsUser ),
    
iAdmin " siendo admin" "" );

    
UpdateLeveliAttacker );
}

public 
event_ResetHudid )
{
    
message_beginMSG_ONEsHideWeapon_id );
    
write_byteHIDE_RM );
    
message_end( );
    
    
message_beginMSG_ONEsCrosshair_id );
    
write_byte);
    
message_end( );
}

public 
ham_PlayerKilled_Postvictimattacker )
{
    if( 
victim == attacker || !is_user_connectedattacker ) )
        return;
    
    
set_dhudmessageRANDOMRRANDOMGRANDOMB0.290.4916.01.10.300.30 );
    
show_dhudmessagevictim"REVIVIRAS EN 3 SEGUNDO(S)." );
    
    
set_taskget_pcvar_floatcvarTimeRespawn ), "activeRespawn"victim );
}

public 
ham_Spawnid )
{
    if( !
is_user_aliveid ) ) return;
    
    
set_task0.5"GiveWeapons"id );
}

public 
ham_PlayerTakeDamage( const iVictim, const iInflictor, const iAttackerFloat:fDamage, const iDamageBits )
{        
    if( 
iVictim == iAttacker || !is_user_connectediAttacker ))
        return 
HAM_IGNORED;

    static 
idWeaponidWeapon get_user_weapon(iAttacker);    
    
    if( 
idWeapon == WEAPONPRIMsWeaponSelectedPrimiAttacker ] ][ CSW_ ] )
    {
        if( 
WEAPONPRIMsWeaponSelectedPrimiAttacker ] ][ DAMAGEWPN ] )
            
fDamage *= WEAPONPRIMsWeaponSelectedPrimiAttacker ] ][ DAMAGEWPN ];
    }    
    else if( 
idWeapon == WEAPONSECsWeaponSelectedSeciAttacker ] ][ CSW_ ] )
    {
        if( 
WEAPONSECsWeaponSelectedSeciAttacker ] ][ DAMAGEWPN ] )
            
fDamage *= WEAPONSECsWeaponSelectedSeciAttacker ] ][ DAMAGEWPN ];
    }

    
SetHamParamFloat4fDamage );
    return 
HAM_IGNORED;
}

public 
GiveWeaponsid )
{
    if( !
is_user_aliveid ) ) return;

    
strip_user_weaponsid );
    
give_itemid"weapon_knife" );

    new 
wpn = -1;
    new 
wpntwo = -1;

    for( new 
0sizeofWEAPONPRIM ); b++ )
    {
        if( 
sLevelid ] >= WEAPONPRIM][ LEVELWPN ] )
            
wpn b;
    }
    
    for( new 
sc 0sc sizeofWEAPONSEC ); sc++ )
    {
        if( 
sLevelid ] >= WEAPONSECsc ][ LEVELWPN ] )
            
wpntwo sc;
    }

    
sWeaponSelectedPrimid ] = wpn;
    
sWeaponSelectedSecid ] = wpntwo;

    
give_itemidWEAPONPRIMwpn ][ WEAPON_ ] );
    
cs_set_user_bpammoidWEAPONPRIMwpn ][ CSW_ ], WEAPONPRIMwpn ][ BPAMMO ] );
    
    
give_itemidWEAPONSECwpntwo ][ WEAPON_ ] );
    
cs_set_user_bpammoidWEAPONSECwpntwo ][ CSW_ ], WEAPONSECwpntwo ][ BPAMMO ] );
}

public 
ham_ItemDeployiEnt )
{
    static 
iOwner;
    
iOwner getWeaponEntIdiEnt );

    if( !
pev_validiOwner ) )
        return;

    static 
iWeaponIndex;
    
iWeaponIndex cs_get_weapon_idiEnt );

    
sWeaponIdiOwner ] = iWeaponIndex;
    
SetPlayerWeaponSkiniOwneriWeaponIndex );
}

public 
ham_PrimaryAttackweapon )
{
    new 
id get_pdata_cbaseweapon41);
    
    if( !
is_user_aliveid ) ) return HAM_IGNORED;
    
    if( 
WEAPONPRIMsWeaponSelectedPrimid ] ][ CSW_ ] )
    {
        static 
Float:flRatePrim;
        
flRatePrim WEAPONPRIMsWeaponSelectedPrimid ] ][ SPEEDWPN ];
        
        
set_pdata_floatweapon46flRatePrim);
        
set_pdata_floatweapon47flRatePrim);
        
set_pdata_floatweapon48flRatePrim);
    }
    else if( 
WEAPONSECsWeaponSelectedSecid ] ][ CSW_ ] )
    {
        static 
Float:flRateSec;
        
flRateSec WEAPONSECsWeaponSelectedSecid ] ][ SPEEDWPN ];
        
        
set_pdata_floatweapon46flRateSec);
        
set_pdata_floatweapon47flRateSec);
        
set_pdata_floatweapon48flRateSec);
    }
    
    return 
HAM_IGNORED;
}

public 
message_BlockBuyZonemsgidmsgdestid )
{
    static 
szIcon];
    
get_msg_arg_string2szIcon);
    
    if( 
equalszIcon"buyzone" ) && get_msg_arg_int) )
    {
        
set_pdata_intid235get_pdata_intid235 ) & ~( 1<<) );
        return 
PLUGIN_HANDLED;
    } 
    return 
PLUGIN_CONTINUE;
}

public 
message_HideWeapon( ) set_msg_arg_int1ARG_BYTEget_msg_arg_int) | HIDE_RM ); 

/* ====================================================== */

/* ====================================================== */

public clcmd_LockedCommand( ) return PLUGIN_HANDLED;

public 
SetPlayerWeaponSkinidweaponid )
{
    if( ( 
<< weaponid ) & PRIMARY_WEAPONS_BIT_SUM )
    {
        if( !
equalWEAPONPRIMsWeaponSelectedPrimid ] ][ V_MODEL ], "default" ) )
            
entity_set_stringidEV_SZ_viewmodelWEAPONPRIMsWeaponSelectedPrimid ] ][ V_MODEL ] );
    }
    else if( ( 
<< weaponid ) & SECONDARY_WEAPONS_BIT_SUM )
    {
        if( !
equalWEAPONSECsWeaponSelectedSecid ] ][ V_MODEL ], "default" ) )
            
entity_set_stringidEV_SZ_viewmodelWEAPONSECsWeaponSelectedSecid ] ][ V_MODEL ] );
    }
}

public 
OpenShowHudtaskid )
{
    static 
idid ID_SHOWHUD;

    if( !
is_user_aliveid ) )
    {
        
id pevidPEV_SPEC_TARGET );

        if( !
is_user_aliveid ) ) return;
    }

    new 
iName32 ], iHealthiArmoriLeveliFrags;
    
get_user_nameidiNamecharsmaxiName ) );
    
iHealth get_user_healthid );
    
iArmor get_user_armorid );
    
iLevel sLevelid ];
    
iFrags sFragsid ];

    if( 
id != ID_SHOWHUD )
    {
        
set_dhudmessageRANDOMRRANDOMGRANDOMB0.0250.2116.01.10.00.0 );
        
show_dhudmessageID_SHOWHUD"ESPECTEANDO A %s^nVIDA: %d^nARMADURA: %d^nNIVEL: %d/%d^nFRAGS: %d^n"iNameiHealthiArmoriLevelLevelMaxiFrags );
    }
    else 
    {
        
set_dhudmessageRANDOMRRANDOMGRANDOMB0.0250.2116.01.10.00.0 );
        
show_dhudmessageID_SHOWHUD"VIDA: %d^nARMADURA: %d^nNIVEL: %d/%d^nFRAGS: %d/%d^n"get_user_healthID_SHOWHUD ), get_user_armorID_SHOWHUD ),
        
sLevelID_SHOWHUD ], LevelMaxsFragsID_SHOWHUD ], NextLevelsLevelID_SHOWHUD ] ) );
    }


public 
UpdateLevelid )
{
    new 
iUploaded false;

    while( 
sFragsid ] >= NextLevelsLevelid ] ) && sLevelid ] < LevelMax )
    {
        
sLevelid ]++;
        
iUploaded true;
    }

    if( 
iUploaded )
    {
        
ccid"%s Felicitaciones! - Subiste al^4 nivel: %d^1."__PREFIXSAYsLevelid ] );
        
iUploaded false;
        
GiveWeaponsid )
    }
}    

public 
activeRespawnid )
{
    if( 
cs_get_user_teamid ) == CS_TEAM_CT || cs_get_user_teamid ) == CS_TEAM_T )
        
ExecuteHamBHam_CS_RoundRespawnid );
}

public 
open_Menuid )
{
    static 
iFormatex999 ];
    
    
formatexiFormatexcharsmaxiFormatex ), "%s MENU PRINCIPAL"__PREFIXMEN );
    new 
iMenu menu_createiFormatex"hand_MenuPrincipal" );
    
    
menu_additemiMenu"\wINFORMACION DE\y ARMAS PRIMARIAS""1" );
    
menu_additemiMenu"\wINFORMACION DE\y ARMAS SECUNDARIAS""2" );
    
    
menu_setpropiMenuMPROP_EXITNAME"SALIR" );
    
menu_setpropiMenuMPROP_NEXTNAME"SIGUIENTE" );
    
menu_setpropiMenuMPROP_BACKNAME"ATRAS" );
    
menu_displayidiMenu);
}
public 
hand_MenuPrincipalidmenuitem )
{
    switch( 
item )
    {
        case 
0open_InfWeaponsPrimid );
        case 
1open_InfWeaponsSecid );
        case 
MENU_EXIT:
        {
            
menu_destroymenu );
            return 
PLUGIN_HANDLED;
        }
    }
    
    
menu_destroymenu );
    return 
PLUGIN_HANDLED;
}

public 
open_InfWeaponsPrimid )
{
    static 
iFormatex999 ];
    
    
formatexiFormatexcharsmaxiFormatex ), "%s INFORMACION DE\y ARMAS PRIMARIAS"__PREFIXMEN );
    new 
iMenu menu_createiFormatex"hand_InfWeaponsPrim" );
    
    for( new 
0sizeofWEAPONPRIM ); i++ )
    {
        
formatexiFormatexcharsmaxiFormatex ), "\w%s \y( NIVEL: %d )"WEAPONPRIM][ NAMEWPN ], WEAPONPRIM][ LEVELWPN ] );
        
menu_additemiMenuiFormatex );
    }
    
    
menu_setpropiMenuMPROP_EXITNAME"SALIR" );
    
menu_setpropiMenuMPROP_NEXTNAME"SIGUIENTE" );
    
menu_setpropiMenuMPROP_BACKNAME"ATRAS" );
    
menu_displayidiMenu);
}
public 
hand_InfWeaponsPrimidmenuitem )
{
    if( 
item == MENU_EXIT )
    {
        
menu_destroymenu );
        return 
PLUGIN_HANDLED;
    }
    
    
open_InfWeaponsPrimid );
    
    return 
PLUGIN_HANDLED;
}

public 
open_InfWeaponsSecid )
{
    static 
iFormatex999 ];
    
    
formatexiFormatexcharsmaxiFormatex ), "%s INFORMACION DE\y ARMAS SECUNDARIAS"__PREFIXMEN );
    new 
iMenu menu_createiFormatex"hand_InfWeaponsSec" );
    
    for( new 
0sizeofWEAPONSEC ); i++ )
    {
        
formatexiFormatexcharsmaxiFormatex ), "\w%s \y( NIVEL: %d )"WEAPONSEC][ NAMEWPN ], WEAPONSEC][ LEVELWPN ] );
        
menu_additemiMenuiFormatex );
    }
    
    
menu_setpropiMenuMPROP_EXITNAME"SALIR" );
    
menu_setpropiMenuMPROP_NEXTNAME"SIGUIENTE" );
    
menu_setpropiMenuMPROP_BACKNAME"ATRAS" );
    
menu_displayidiMenu);
}
public 
hand_InfWeaponsSecidmenuitem )
{
    if( 
item == MENU_EXIT )
    {
        
menu_destroymenu );
        return 
PLUGIN_HANDLED;
    }
    
    
open_InfWeaponsSecid );
    
    return 
PLUGIN_HANDLED;
}

/* ====================================================== */

/* ====================================================== */

stock cc(id, const input[], any:...)
{
    static 
szMsg[191], msgSayText;
    
    if (!
msgSayText)
        
msgSayText get_user_msgid("SayText");
    
    
vformat(szMsg190input3);

    
replace_all(szMsg190"!g""^4");
    
replace_all(szMsg190"!y""^1");
    
replace_all(szMsg190"!team""^3");
    
    
message_begin(id MSG_ONE_UNRELIABLE MSG_BROADCASTmsgSayText, .player id);
    
write_byte(id id 33);
    
write_string(szMsg);
    
message_end();
}

stock getWeaponEntId(const ent)
{
    if( 
pev_valident ) != PDATA_SAFE )
        return -
1;
    
    return 
get_pdata_cbaseentOFFSET_WEAPONOWNEROFFSET_LINUX_WEAPONS );


Responder
#6
(10/07/2018, 01:36 PM)YonaiwerG escribió: me gusaria usar el de kikizon, bro ! pero yo quiero mi mod original yo ya tengo todo lo demas, solo me falta, los lvl asi como los estoy pidiendo :/

Es muy fácil hacerlo original, solo tenes que:

- Poner PREFIX para los mensajes
- SISTEMA DE GUARDADO (si quieres los niveles como dices tú, preferible usa el sistema de cuentas más usado xd)
- NIVELES (usa niveles por macro es mejor)
- MENU (para poner información y bueno tu sabes)

Y lo adaptas, todo lo que quieras agregar pidelo en Pedido de Plugins, pasa el code tuyo haber si es "original" como dices tu, mandalo por mp o por aca Nothingdohere
Responder
#7
(11/07/2018, 12:54 PM)Nazy.- escribió:
(10/07/2018, 01:36 PM)YonaiwerG escribió: me gusaria usar el de kikizon, bro ! pero yo quiero mi mod original yo ya tengo todo lo demas, solo me falta, los lvl asi como los estoy pidiendo :/

Es muy fácil hacerlo original, solo tenes que:

- Poner PREFIX para los mensajes
- SISTEMA DE GUARDADO (si quieres los niveles como dices tú, preferible usa el sistema de cuentas más usado xd)
- NIVELES (usa niveles por macro es mejor)
- MENU (para poner información y bueno tu sabes)

Y lo adaptas, todo lo que quieras agregar pidelo en Pedido de Plugins, pasa el code tuyo haber si es "original" como dices tu, mandalo por mp o por aca Nothingdohere

Que es lo original de eso que nombraste?

Responder
#8
es, que nisiquiera tengo un sma, creado nada' no se nada de eso pacman

nisiquiera se nada de lo que me estan explicando :/
Responder
#9
(11/07/2018, 01:33 PM)Skylar escribió:
(11/07/2018, 12:54 PM)Nazy.- escribió:
(10/07/2018, 01:36 PM)YonaiwerG escribió: me gusaria usar el de kikizon, bro ! pero yo quiero mi mod original yo ya tengo todo lo demas, solo me falta, los lvl asi como los estoy pidiendo :/

Es muy fácil hacerlo original, solo tenes que:

- Poner PREFIX para los mensajes
- SISTEMA DE GUARDADO (si quieres los niveles como dices tú, preferible usa el sistema de cuentas más usado xd)
- NIVELES (usa niveles por macro es mejor)
- MENU (para poner información y bueno tu sabes)

Y lo adaptas, todo lo que quieras agregar pidelo en Pedido de Plugins, pasa el code tuyo haber si es "original" como dices tu, mandalo por mp o por aca Nothingdohere

Que es lo original de eso que nombraste?

Creo que lo "original" es que el haya comentado RoflmaoRoflmaoRoflmao


(11/07/2018, 11:49 PM)YonaiwerG escribió: es, que nisiquiera tengo un sma, creado nada' no se nada de eso pacman

nisiquiera se nada de lo que me estan explicando :/

Aprende a compilar un plugin y después copia el código de @Skylar y pegalo en un nuevo proyecto.
PD: Seguramente te falte un include "dhudmessage". Es este. https://forums.alliedmods.net/showthread.php?t=149210
Sólo pega el ".inc" en.. "cstrike/addons/amxmodx/scripting/include".
Responder
#10
no tengo, idea niper, de lo que me dijiste, pero ya se como compilar, un sma, solo que no'se como editarlo, tampoco se hacer un adv_vault.inc' nada de eso :/

como soluciono el error, del dhudmessenge?
Responder
#11
el adv_vault.inc lo puedes conseguir, y si tratas de compilar y te sale error en el "dhudmessenge" tienes que colocar el include
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)