Mensajes: 7
Temas: 2
Registro en: Jul 2018
Reputación:
0
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
Mensajes: 546
Temas: 83
Registro en: Mar 2018
Reputación:
9
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
Mensajes: 546
Temas: 83
Registro en: Mar 2018
Reputación:
9
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 { ALIVE, CONNECTED, CANCHANGE } enum _:MAX_PROFIT { PROFIT_ADMTYPE[ 20 ], PROFIT_ADMFLAG, PROFIT_NN, PROFIT_HH } enum _:MAX_CVARS { RESPAWN_TIME, EXP_KILL, EXP_KILLKNIFE, POINTS_KILL, POINTS_LVLUP } enum _:RANGE_DATA { RANGE_NAME[ 35 ], RANGE_LVL } enum _:MAX_MSGS { TEAMINFO, SAYTEXT, SHOWMENU, VGUIMENU } enum _:MAX_FIELDS { PW, DATE, LVL, EXP, RANGE } enum _:WPNMENU { WPN_NAME[ 30 ], WPN_ENT[ 20 ], WPN_CSW, WPN_COST } enum _:KNIFES_DATA { KNIFE_NAME[32], KNIFE_VMDL[30], KNIFE_PMDL[30], RANGE_REQUIRED }
enum { NOT_REGISTERED, REGISTERED, LOGUED, MAX_STATUS } enum { SAVE = 0, LOAD }
new kBits[ MAX_BITS ], kCvars[ MAX_CVARS ], kMsg[ MAX_MSGS ], kSyncHUD, kMP, kHasHH; new kVault1, kVault2, kField_TACC, kFields[ MAX_FIELDS ], kTotalAccounts; new kProfit[ 33 ], kLvl[ 33 ], kExp[ 33 ], kRange[ 33 ], kAccountType[ 33 ][ 20 ], kPN[ 33 ][ 32 ]; new kStatus[ 33 ], kPassword[ 33 ][ PW_LENGHT ], kPwCache[ 33 ][ PW_LENGHT ], kDate[ 33 ][ 35 ]; new kPoints[ 33 ], kKnifeSelected[ 33 ], kGameDesc[ 50 ];
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_F, 2, 3 }, { "Vip", ADMIN_LEVEL_G, 3, 4 }, { "Platinum", ADMIN_LEVEL_H, 4, 5 } };
new const Ranges[ ][ RANGE_DATA ] = { { "", 0 }, { "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, 5 }, { "Mp5 Navy", "weapon_mp5navy", CSW_MP5NAVY, 10 }, { "Famas", "weapon_famas", CSW_FAMAS, 20 }, { "Galil", "weapon_galil", CSW_GALIL, 20 }, { "AUG", "weapon_aug", CSW_AUG, 20 }, { "SG - 552", "weapon_sg552", CSW_SG552, 25 }, { "AWP MAGNUM", "weapon_awp", CSW_AWP, 50 }, { "M4A1", "weapon_m4a1", CSW_M4A1, 35 }, { "AK - 47 Kalashnikov", "weapon_ak47", CSW_AK47, 35 }, { "SG - 550", "weapon_sg550", CSW_SG550, 40 }, { "G3SG1", "weapon_sg3sg1", CSW_G3SG1, 40 }, { "M249 - Machine Gun", "weapon_m249", CSW_M249, 60 } };
new const WeaponSec[ ][ WPNMENU ] = { { "Glock", "weapon_glock18", CSW_GLOCK18, 3 }, { "USP", "weapon_usp", CSW_USP, 3 }, { "P228", "weapon_p228", CSW_P228, 4 }, { "Deagle", "weapon_deagle", CSW_DEAGLE, 10 }, { "Fiveseven", "weapon_fiveseven", CSW_FIVESEVEN, 5 }, { "Dual Elite", "weapon_elite", CSW_ELITE, 8 } };
new const Knifes[ ][ KNIFES_DATA ] = { { "Default", "v_default", "p_default", 1 }, { "Bayonet", "v_bayonet", "p_bayonet", 2 }, { "ButterFly", "v_butterfly", "p_butterfly", 3 }, { "Flip", "v_flip", "p_flip", 4 }, { "Gut", "v_gut", "p_gut", 5 }, { "Huntsman", "v_huntsman", "p_huntsman", 6 }, { "M9 Bayonet", "v_m9", "p_m9", 7 }, { "Karambit", "v_karambit", "p_karambit", 8 } };
/* ============================================================================================== */
public plugin_cfg( ) { set_cvar_num( "sv_airaccelerate", 999 ); set_cvar_num( "sv_maxspeed", 999 ); }
public plugin_precache() { static k, buffer[300]; for( k = 0; k < sizeof Knifes; ++k ) { formatex( buffer, charsmax(buffer), "models/surfmod_bk/%s.mdl", Knifes[ k ][ KNIFE_VMDL ] ); precache_model( buffer ); formatex( buffer, charsmax(buffer), "models/surfmod_bk/%s.mdl", Knifes[ k ][ KNIFE_PMDL ] ); precache_model( buffer ); } precache_sound( RangeUP ); }
public plugin_init( ) { register_plugin( P_INFO[ 0 ], P_INFO[ 1 ], P_INFO[ 2 ] ); register_event("HLTV", "ev_RoundStart", "a", "1=0", "2=0"); RegisterHam( Ham_Spawn, "player", "ham_PlayerSpawnPost", true ); RegisterHam( Ham_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" ); kMsg[ TEAMINFO ] = get_user_msgid("TeamInfo"); kMsg[ SAYTEXT ] = get_user_msgid("SayText"); kMsg[ SHOWMENU ] = get_user_msgid( "ShowMenu" ); kMsg[ VGUIMENU ] = get_user_msgid( "VGUIMenu" ); register_message(kMsg[ TEAMINFO ], "message_teaminfo"); register_message(kMsg[ VGUIMENU ], "message_VGUImenu"); register_message(kMsg[ SHOWMENU ], "message_VGUImenu"); kCvars[ RESPAWN_TIME ] = register_cvar( "sm_respawntime", "5.0" ); kCvars[ EXP_KILL ] = register_cvar( "sm_exp_by_kill", "50" ); kCvars[ EXP_KILLKNIFE ] = register_cvar( "sm_exp_kill_knife", "100" ); kCvars[ POINTS_KILL ] = register_cvar( "sm_points_kill", "10" ); kCvars[ POINTS_LVLUP ] = register_cvar( "sm_points_kill", "10" );
kMP = get_maxplayers( ); kSyncHUD = CreateHudSyncObj( ); kVault1 = adv_vault_open( "CLIENT_DATA", false ); kFields[ PW ] = adv_vault_register_field( kVault1, "Password", DATATYPE_STRING, PW_LENGHT-1 ); kFields[ DATE ] = adv_vault_register_field( kVault1, "Date", DATATYPE_STRING, charsmax(kDate[])); kFields[ LVL ] = adv_vault_register_field( kVault1, "LVL"); kFields[ EXP ] = adv_vault_register_field( kVault1, "EXP"); kFields[ RANGE ] = adv_vault_register_field( kVault1, "RANGE"); adv_vault_init( kVault1 ); kVault2 = adv_vault_open("TOTALACCOUNTS", false); kField_TACC = adv_vault_register_field( kVault2, "CuentasCreadas", DATATYPE_INT ); adv_vault_init( kVault2 ); LoadTotalAccounts(); formatex(kGameDesc, charsmax(kGameDesc), "%s by %s",P_INFO[0], P_INFO[2]); }
public client_putinserver( index ) { get_user_name( index, kPN[ index ], 31 ); get_time("%c", kDate[ index ], charsmax( kDate[ ] ) ); flag_set(kBits[CONNECTED],index); kLvl[ index ] = kRange[ index ] = 1; kExp[ index ] = kKnifeSelected[ index ] = 0; ManageData( index, LOAD ); LoadProfits( index ); }
public client_disconnect( index ) { remove_task( index + TASK_HUD ); remove_task( index + TASK_RESPAWN) ManageData( index, SAVE ); flag_unset(kBits[ CONNECTED ],index); }
/* ============================================================================================== */
public ev_RoundStart() { get_happytime(); for(new i = 1; i <= kMP; ++i) { if(!flag_get(kBits[ CONNECTED ],i)) continue; remove_task(i+TASK_RESPAWN); } }
public message_teaminfo(msg_id, msg_dest) { if(msg_dest != MSG_ALL && msg_dest != MSG_BROADCAST) return; static index; index = get_msg_arg_int(1); if( !flag_get(kBits[ CONNECTED ],index)) return;
set_task( 1.0, "ShowHUD", index + TASK_HUD, _, _, "b" ); set_task( get_pcvar_float(kCvars[ RESPAWN_TIME ]), "Respawn", index + TASK_RESPAWN ); }
public message_VGUImenu(msgid, dest, index) { if(kStatus[index] != LOGUED) ShowLoginMenu(index);
return 1; }
public Respawn(taskid) { if(flag_get(kBits[ALIVE], ID_RESPAWN) || !flag_get(kBits[ CONNECTED ],ID_RESPAWN)) return; ExecuteHamB(Ham_CS_RoundRespawn, ID_RESPAWN); }
public RemoveGodMode( taskid ) { if(flag_get(kBits[ALIVE], ID_GM) || !flag_get(kBits[ CONNECTED ],ID_GM)) return; set_user_godmode( ID_GM, 0 ); }
/* ============================================================================================== */
public ham_PlayerSpawnPost( index ) { flag_set(kBits[ ALIVE ],index); remove_task( index + TASK_RESPAWN ); }
public ham_PlayerKilledPost(victim, attacker, shouldgib) { if(victim == attacker || !flag_get(kBits[ALIVE], attacker) ) return; if(get_user_weapon( attacker ) == CSW_KNIFE ) SetExp( attacker, get_pcvar_num( kCvars[ EXP_KILLKNIFE ] ), 1 ); else SetExp( attacker, get_pcvar_num( kCvars[ EXP_KILL ] ), 1 ); kPoints[ attacker ] += get_pcvar_num( kCvars[ POINTS_KILL ]); flag_unset(kBits[ ALIVE ],victim); set_task( get_pcvar_float(kCvars[ RESPAWN_TIME ]), "Respawn", victim + TASK_RESPAWN ); }
public ham_KnifeDeployPost(wpn) { static id; id = get_weapon_ent_owner(wpn); if (!pev_valid(id)) return; static WeaponID; WeaponID = cs_get_weapon_id(wpn); if(!flag_get(kBits[ALIVE], id)) return; static buffer[128]; if(WeaponID == CSW_KNIFE) { formatex( buffer, charsmax( buffer ), "models/surfmod_bk/%s.mdl", Knifes[kKnifeSelected[id]][KNIFE_VMDL]); set_pev(id, pev_viewmodel2, buffer ); formatex( buffer, charsmax( buffer ), "models/surfmod_bk/%s.mdl", Knifes[kKnifeSelected[id]][KNIFE_PMDL]); set_pev(id, pev_weaponmodel2, buffer); } }
public fm_GetGameDescription() { forward_return(FMV_STRING, kGameDesc); return FMRES_SUPERCEDE; }
public fm_ClientInfoChanged(index, buffer) { if(flag_get(kBits[CONNECTED],index)) { if(kStatus[index] == LOGUED) { static OldName[33]; engfunc(EngFunc_InfoKeyValue, buffer, "name", OldName, charsmax(OldName)); if(equal(OldName, kPN[ index ])) return FMRES_IGNORED; set_user_info(index, "name", kPN[ index ]); client_cmd(index, "setinfo ^"name^" ^"%s^"", kPN[ index ]); } } return FMRES_IGNORED; }
/* ============================================================================================== */
public ShowHUD( taskid ) { static index; index = ID_HUD; if (!flag_get(kBits[ALIVE],index)) { index = pev(index, pev_iuser2); if (!flag_get(kBits[ALIVE], index)) return; } static color_R, color_G, color_B; color_R = random_num( 0, 255 ); color_G = random_num( 0, 255 ); color_B = random_num( 0, 255 ); if(index != ID_HUD) { set_hudmessage( color_R, color_G, color_B, 255, 0, 0, 0.04, 0.04, 0, 6.0, 12.0); ShowSyncHudMsg( ID_HUD, kSyncHUD, "Specting: %s^nTipo de Cuenta: %s^nRango: %s^nVida: %d^nPuntos: %d^nNivel: %d", kPN[index], kAccountType[index], Ranges[ kRange[index]][ RANGE_NAME ], get_user_health( index ), kPoints[ index ], kLvl[ index ]); } else { set_hudmessage( color_R, color_G, color_B, 255, 0, 0, 0.04, 0.04, 0, 6.0, 12.0); ShowSyncHudMsg( ID_HUD , kSyncHUD, "Tipo de Cuenta: %s^nRango: %s^nVida: %d^nPuntos: %d^nNivel: %d / %d^nExp: %d / %d^n^nHappy Hour: %s", kAccountType[index], Ranges[ kRange[index]][ RANGE_NAME ], get_user_health( index ), kPoints[ index ], kLvl[ index ], MAX_LEVEL, kExp[ index ], CostLevelUp(kLvl[ index ]), kHasHH ? "Activada" : "Desactivada" ); } }
public BlockCooseteam( index ) { 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 JoinPassword( index ) { read_args( kPassword[ index ], PW_LENGHT-1 ); remove_quotes( kPassword[ index ] ); trim( kPassword[ index ] ); if(equal(kPassword[index], "") || containi(kPassword[index]," ") != -1) { client_print(index, print_center, "Tu password contiene errores"); return; } switch( kStatus[ index ] ) { case NOT_REGISTERED: { client_print(index, print_center, "Confirma tu password"); copy( kPwCache[index], PW_LENGHT-1, kPassword[index]); ShowConfirmationMenu( index ); } case REGISTERED: { new buffer[ PW_LENGHT ]; adv_vault_get_prepare( kVault1, _, kPN[ index ] ); adv_vault_get_field( kVault1, kFields[ PW ], buffer, PW_LENGHT-1 ); if( equal( buffer, kPassword[ index ]) ) { ManageData(index, SAVE); client_print(index, print_center, "Te has logueado"); ForceJoinTeam( index ); return; } ShowLoginMenu( index ); client_print(index, print_center, "Password Incorrecta."); } case LOGUED: { if( flag_get(kBits[ CANCHANGE ],index) ) { client_print(index, print_center, "No Permitido..."); return; } client_print( index, print_center, "Confirma tu password para cambiarla..." ); copy( kPwCache[ index ], PW_LENGHT-1, kPassword[ index ]); ShowConfirmationMenu( index ); } } }
/* ============================================================================================== */
ShowLoginMenu(index) { static tittle[999], len; len = 0; len += formatex(tittle[len], charsmax(tittle) - len, "\rSistema de Cuentas by \d%s \y^n", P_INFO[ 2 ] ); 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", kPN[ index ] ); len += formatex(tittle[len], charsmax(tittle) - len, "\wEstado: \d[ \r%s \d]^n", szStatus[ kStatus[ index ] ] ); len += formatex(tittle[len], charsmax(tittle) - len, "\wTu ultima Visita Fue: \d%s^n^n", !kDate[index][0] ? "NUNCA": kDate[ index ]); 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(kBits[ CANCHANGE ],index))?"Cambiar pass":"\dCambiar pass", "3"); if( kStatus[ index ] != LOGUED ) menu_setprop(menu, MPROP_EXIT, MEXIT_NEVER);
menu_display(index, menu ); }
ShowConfirmationMenu(index) { static tittle[ 128 ]; formatex(tittle, 127, "La password sera \r%s^n^n\yContinuar?", kPwCache[ index ]); new menu = menu_create(tittle,"menu_confirm"); menu_additem(menu,"\rSi\w, adelante","1"); menu_additem(menu,"\rNo\w, deseo reescribirla","2"); menu_setprop(menu, MPROP_EXIT, MEXIT_NEVER); menu_display(index, menu, 0); }
ShowMainMenu( index ) { new menu = menu_create( "\y[\dSurf Mod\y] \wMenu Principal", "menu_main" ); menu_additem( menu, "Modelos de \yCuchillos^n", "1" ); menu_additem( menu, "Comprar \yArmamento", "2" ); menu_additem( menu, "Comprar \yItems^n", "3" ); menu_additem( menu, "Configuracion de \yCuenta", "4" ); menu_display( index, menu ); }
ShowGunMenu( index ) { new menu = menu_create( "\y[ \dSURF + LVL \y] \wArmamento", "menu_gun" ); menu_additem( menu, "Primarias", "1" ); menu_additem( menu, "Secundarias", "2" ); menu_display( index, menu ); }
ShowPriMenu( index ) { new i, wpn[50], menu = menu_create( "\y[ \dSURF + LVL \y] \wArmamento Primario", "menu_pri" ); for( i = 0; i < sizeof WeaponPri ; ++i ) { if( kPoints[ index ] >= WeaponPri[ i ][ WPN_COST ]) { formatex( wpn, charsmax(wpn), "\w%s \y[ \r%d Points \y]", WeaponPri[ i ][ WPN_NAME ], WeaponPri[ i ][ WPN_COST ] ) menu_additem( menu, wpn, ""); } else { formatex( wpn, charsmax(wpn), "\d%s \y[ \r%d Points \y]", WeaponPri[ i ][ WPN_NAME ], WeaponPri[ i ][ WPN_COST ] ); menu_additem( menu, wpn, "" ); } } menu_display( index, menu ); }
ShowSecMenu( index ) { new i, wpn[50], menu = menu_create( "\y[ \dSURF + LVL \y] \wArmamento Secundario", "menu_sec" ); for( i = 0; i < sizeof WeaponPri ; ++i ) { if( kPoints[ index ] >= WeaponSec[ i ][ WPN_COST ]) { formatex( wpn, charsmax(wpn), "\w%s \y[ \r%d Points \y]", WeaponSec[ i ][ WPN_NAME ], WeaponSec[ i ][ WPN_COST ] ) menu_additem( menu, wpn, ""); } else { formatex( wpn, charsmax(wpn), "\d%s \y[ \r%d Points \y]", WeaponSec[ i ][ WPN_NAME ], WeaponSec[ i ][ WPN_COST ] ); menu_additem( menu, wpn, "" ); } } menu_display( index, menu ); }
ShowItemMenu( index ) { new menu = menu_create( "\y[ \dSURF + LVL \y] \wItems", "menu_item" ); menu_additem( menu, "+100HP \y[ \r10 Points \y]", "1" ); menu_additem( menu, "GodMode \d( \y10 segundos\d) \y[ \r20 Points \y]", "2" ); menu_display( index, menu ); }
public ShowMenuKnifes( index ) { static k, menu, string[80]; menu = menu_create( "\y[ \dSURF + LVL \y] \wMenu de Cuchillos", "menu_knifes" ); for( k = 0; k < sizeof Knifes; ++k ) { if(kRange[ index ] >= Knifes[ k ][ RANGE_REQUIRED ]) menu_additem( menu, Knifes[ k ][ KNIFE_NAME ], "" ); else { formatex( string, charsmax( string ), "\d%s \y[ \r%s \y]", Knifes[ k ][ KNIFE_NAME ], Ranges[ Knifes[k][RANGE_REQUIRED]][RANGE_NAME]); menu_additem( menu, string, "" ); } } menu_display( index, menu ); return PLUGIN_HANDLED; }
public menu_knifes( index, menu, item ) { if(item == MENU_EXIT) { menu_destroy( menu ); return PLUGIN_HANDLED; } if(kRange[ index ] < Knifes[ item ][ RANGE_REQUIRED ]) { Color_Print( index, "Necesitas ser rango: !g^"%s^" !npara usar este knife", Ranges[ Knifes[item][RANGE_REQUIRED]][RANGE_NAME]); ShowMenuKnifes( index ); return PLUGIN_HANDLED; } kKnifeSelected[ index ] = item; engclient_cmd( index, "weapon_knife"); menu_destroy( menu ); return PLUGIN_HANDLED; }
public menu_item( index, menu, item ) { switch( item ) { case 0: { if(kPoints[ index ] < 10) { Color_Print( index, "No tienes suficientes puntos"); return PLUGIN_HANDLED; } set_user_health( index, get_user_health( index ) + 100 ); kPoints[ index ] -= 10; } case 1: { if( kPoints[ index ] < 20) { Color_Print( index, "No tienes suficientes puntos"); return PLUGIN_HANDLED; } set_user_godmode( index, 1 ); set_task( 10.0, "RemoveGodMode", index + TASK_GM); kPoints[ index ] -= 20; } case MENU_EXIT: { menu_destroy( menu ); return PLUGIN_HANDLED; } } menu_destroy( menu ); return PLUGIN_HANDLED; }
public menu_pri( index, menu, item ) { if(item == MENU_EXIT ) { menu_destroy( menu ); return PLUGIN_HANDLED; } if( kPoints[ index ] < WeaponPri[ item ][ WPN_COST ]) { Color_Print( index, "No tienes suficientes puntos"); ShowMainMenu( index ); return PLUGIN_HANDLED; } give_item( index, WeaponPri[ item ][ WPN_ENT ]); cs_set_user_bpammo( index, WeaponPri[ item ][ WPN_CSW ], 999 ); kPoints[ index ] -= WeaponPri[ item ][ WPN_COST ]; menu_destroy( menu ); return PLUGIN_HANDLED; }
public menu_sec( index, menu, item ) { if(item == MENU_EXIT ) { menu_destroy( menu ); return PLUGIN_HANDLED; } if( kPoints[ index ] < WeaponSec[ item ][ WPN_COST ]) { Color_Print( index, "No tienes suficientes puntos"); ShowMainMenu( index ); return PLUGIN_HANDLED; } give_item( index, WeaponSec[ item ][ WPN_ENT ]); cs_set_user_bpammo( index, WeaponSec[ item ][ WPN_CSW ], 999 ); kPoints[ index ] -= WeaponSec[ item ][ WPN_COST ]; menu_destroy( menu ); return PLUGIN_HANDLED; }
public menu_gun( index, menu, item ) { switch ( item ) { case 0: ShowPriMenu( index ); case 1: ShowSecMenu( index ); case MENU_EXIT: { menu_destroy( menu ); return PLUGIN_HANDLED; } } menu_destroy( menu ); return PLUGIN_HANDLED; }
public menu_main( index, menu, item ) { switch ( item ) { case 0: ShowMenuKnifes( index ); case 1: ShowGunMenu( index ); case 2: ShowItemMenu( index ); case 3: ShowLoginMenu( index ); case MENU_EXIT: { menu_destroy( menu ); return PLUGIN_HANDLED; } } menu_destroy( menu ); return PLUGIN_HANDLED; }
public menu_login(index, menu, item) { switch(item) { case 0: { if(kStatus[index] == REGISTERED) { client_print(index, print_center, "Ingresa tu PASSWORD para entrar a tu cuenta"); client_cmd(index,"messagemode ^"JOIN_PASSWORD^""); return PLUGIN_HANDLED; } client_print(index, print_center, "No puedes elegir esta opcion"); } case 1: { if(kStatus[index] == NOT_REGISTERED) { client_print(index, print_center, "Ingresa una PASSWORD para crear una cuenta"); client_cmd(index,"messagemode ^"JOIN_PASSWORD^""); return PLUGIN_HANDLED; } client_print(index, print_center, "No puedes elegir esta opcion"); } case 2: { if(kStatus[index] == LOGUED && !flag_get(kBits[ CANCHANGE ],index)) { client_print(index, print_center, "Ingresa tu nueva PASSWORD"); client_cmd(index,"messagemode ^"JOIN_PASSWORD^""); return PLUGIN_HANDLED; } client_print(index, print_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(index, menu, item) { switch(item) { case 0: { switch(kStatus[index]) { case LOGUED: { copy(kPassword[index], PW_LENGHT-1, kPwCache[index]); ManageData(index, SAVE); client_print(index, print_center, "Tu password ha sido cambiada satisfactoriamente"); flag_set(kBits[ CANCHANGE ],index); } case NOT_REGISTERED: { ++kTotalAccounts; client_print(index, print_center, "Tu cuenta ha sido creada satisfactoriamente"); copy(kPassword[index], PW_LENGHT-1, kPwCache[index]); ManageData(index, SAVE); ForceJoinTeam(index); adv_vault_set_start( kVault2 ); adv_vault_set_field( kVault2, kField_TACC, kTotalAccounts ); adv_vault_set_end( kVault2, 1 ); } } } case 1: { menu_destroy(menu); client_cmd(index,"messagemode ^"JOIN_PASSWORD^""); if(kStatus[index] == LOGUED) client_print(index, print_center, "Ingresa tu nueva PASSWORD"); else client_print(index, print_center, "Ingresa la PASSWORD para tu nueva cuenta"); } case MENU_EXIT: { menu_destroy(menu); return PLUGIN_HANDLED; } } menu_destroy(menu); return PLUGIN_HANDLED; }
/* ============================================================================================== */
LoadProfits( index ) { if(is_user_admin( index )) { static i, flags; flags = get_user_flags( index ); for(i = 0 ; i < sizeof Admin_Profit ; ++i) { if(flags & Admin_Profit[ i ][ PROFIT_ADMFLAG ]) { if( kHasHH ) kProfit[index] = Admin_Profit[ i ][ PROFIT_HH ]; else kProfit[index] = Admin_Profit[ i ][ PROFIT_NN ]; formatex(kAccountType[ index ], charsmax( kAccountType ), "%s", Admin_Profit[ i ][ PROFIT_ADMTYPE ]); break; } } } else { if( kHasHH ) kProfit[ index ] = 2; else kProfit[ index ] = 1; formatex( kAccountType[ index ], charsmax( kAccountType ), "NORMAL"); } }
get_happytime() { kHasHH = false; static timeh[3], hour, index; get_time("%H", timeh, charsmax(timeh)); for(hour = 0; hour < sizeof HHTIMES; ++hour) { if(equal(timeh, HHTIMES[hour])) kHasHH = true; } for(index = 1; index <= kMP; ++index) { if(!flag_get(kBits[ CONNECTED ],index)) continue; LoadProfits( index ); } }
UpdateLevel(index) { static lvl; lvl = kLvl[index]; while(kExp[index] >= CostLevelUp( kLvl[index] ) && kLvl[index] < MAX_LEVEL) { ++kLvl[index]; kPoints[ index ] += get_pcvar_num( kCvars[ POINTS_LVLUP ]); } if(kLvl[index] > lvl) { UpdateRange(index); client_cmd( index, "spk ^"%s^"", RangeUP ); Color_Print(index, "Felicidades has ascendido al nivel: !g%d", kLvl[index]); } }
UpdateRange(index) { static range; range = kRange[index]; if( kLvl[ index ] >= Ranges[ kRange[ index ] ][ RANGE_LVL ]) ++kRange[index]; if(kRange[ index ] > range) Color_Print(index, "Felicidades has ascendido al Rango: !g%s", Ranges[kRange[index]][RANGE_NAME]); }
ForceJoinTeam(index) { static teammsg_block, teammsg_block_vgui, restore, vgui; restore = get_pdata_int(index, 510); vgui = restore & (1<<0); if (vgui) set_pdata_int(index, 510, restore & ~(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 (vgui) set_pdata_int(index, 510, restore); kStatus[index] = LOGUED; }
LoadTotalAccounts() { if ( !adv_vault_get_prepare( kVault2, 1) ) { adv_vault_set_start( kVault2 ); kTotalAccounts = 0; adv_vault_set_field( kVault2, kField_TACC, kTotalAccounts ); adv_vault_set_end( kVault2, 1); return; } kTotalAccounts = adv_vault_get_field( kVault2, kField_TACC ); }
ManageData( index, type ) { if(!flag_get(kBits[ CONNECTED ],index) ) return; if( type == SAVE ) { adv_vault_set_start( kVault1 ); adv_vault_set_field( kVault1, kFields[ PW ], kPassword[ index ] ); adv_vault_set_field( kVault1, kFields[ DATE ], kDate[ index ] ); adv_vault_set_field( kVault1, kFields[ LVL ], kLvl[ index ]); adv_vault_set_field( kVault1, kFields[ EXP ], kExp[ index ]); adv_vault_set_field( kVault1, kFields[ RANGE ], kRange[ index ]); adv_vault_set_end( kVault1, 0, kPN[ index ] ); } if( type == LOAD ) { if( !adv_vault_get_prepare( kVault1, _, kPN[ index ] ) ) { kStatus[index] = NOT_REGISTERED; return; } kStatus[ index ] = REGISTERED; adv_vault_get_field( kVault1, kFields[ PW ], kPassword[index], PW_LENGHT-1 ); adv_vault_get_field( kVault1, kFields[ DATE ], kDate[ index ], charsmax(kDate[]) ); kLvl[ index ] = adv_vault_get_field( kVault1, kFields[ LVL ] ); kExp[ index ] = adv_vault_get_field( kVault1, kFields[ EXP ] ); kRange[ index ] = adv_vault_get_field( kVault1, kFields[ RANGE ] ); } }
/* ============================================================================================== */
stock SetExp(index, exp, profit) { if( kLvl[ index ] >= MAX_LEVEL ) return; kExp[index] += ( profit ? (exp * kProfit[ index ]) : exp ); UpdateLevel(index); }
stock get_weapon_ent_owner(ent) { if (pev_valid(ent) != 2) return -1; return get_pdata_cbase(ent, 41, 4); }
stock Color_Print(const id, const input[], any:...) { new count = 1, players[32]; static msg[191], len; len = formatex(msg, charsmax(msg), "%s ", CHAT_PREFIX); vformat(msg[len], 190 - len, input, 3); replace_all(msg, 190, "!g", "^4"); replace_all(msg, 190, "!n", "^1"); replace_all(msg, 190, "!t", "^3"); if(id) players[0] = id; else get_players(players, count, "ch"); for (new i = 0; i < count; ++i) { if(flag_get(kBits[CONNECTED], players[i])) { message_begin(MSG_ONE_UNRELIABLE, kMsg[ SAYTEXT ], _, players[i]); write_byte(players[i]); write_string(msg); message_end(); } }
}
Usa el TEMPLATE de los CUCHILLO para las ARMAS
Mensajes: 7
Temas: 2
Registro en: Jul 2018
Reputación:
0
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 :/
Mensajes: 3,238
Temas: 47
Registro en: Feb 2015
Reputación:
34
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 = (1 << CSW_SCOUT)|(1 << CSW_XM1014)|(1 << CSW_MAC10)|(1 << CSW_AUG)|(1 << CSW_UMP45)|(1 << CSW_SG550)|(1 << CSW_GALIL)|(1 << CSW_FAMAS)| (1 << CSW_AWP)|(1 << CSW_MP5NAVY)|(1 << CSW_M249)|(1 << CSW_M3)|(1 << CSW_M4A1)|(1 << CSW_TMP)|(1 << CSW_G3SG1)|(1 << CSW_SG552)|(1 << CSW_AK47)|(1 << CSW_P90);
const SECONDARY_WEAPONS_BIT_SUM = (1 << CSW_P228)|(1 << CSW_ELITE)|(1 << CSW_FIVESEVEN)|(1 << CSW_USP)|(1 << CSW_GLOCK18)|(1 << CSW_DEAGLE); const PDATA_SAFE = 2; const OFFSET_WEAPONOWNER = 41; const OFFSET_LINUX_WEAPONS = 4; const HIDE_RM = (1<<3);
enum _:WEAPONSENUM { NAMEWPN[ 30 ], WEAPON_[ 30 ], CSW_, V_MODEL[ 50 ], BPAMMO, LEVELWPN, Float:DAMAGEWPN, Float:SPEEDWPN };
new const WEAPONPRIM[ ][ WEAPONSENUM ] = { { "SCHMIDT TMP", "weapon_tmp", CSW_TMP, "default", 999, 0, 0.0, 0.07 }, { "UMP 45", "weapon_ump45", CSW_UMP45, "default", 999, 1, 0.0, 0.10 }, { "MP5 NAVY", "weapon_mp5navy", CSW_MP5NAVY, "default", 999, 2, 0.0, 0.07 }, { "ES P90", "weapon_p90", CSW_P90, "default", 999, 3, 0.0, 0.06 }, { "IMI GALIL", "weapon_galil", CSW_GALIL, "default", 999, 4, 0.0, 0.08 }, { "FAMAS", "weapon_famas", CSW_FAMAS, "default", 999, 5, 0.0, 0.08 }, { "SG-552 COMMANDO", "weapon_sg552", CSW_SG552, "default", 999, 6, 0.0, 0.08 }, { "M4A1 CARBINE", "weapon_m4a1", CSW_M4A1, "default", 999, 7, 0.0, 0.08 }, { "AK-47 KALASHNIKOV", "weapon_ak47", CSW_AK47, "default", 999, 8, 0.0, 0.09 } };
new const WEAPONSEC[ ][ WEAPONSENUM ] = { { "USP .45 ACP TACTICAL", "weapon_usp", CSW_USP, "default", 999, 0, 0.0, 0.14 }, { "GLOCK 18C", "weapon_glock18", CSW_GLOCK18, "default", 999, 1, 0.0, 0.15 }, { "FIVESEVEN", "weapon_fiveseven", CSW_FIVESEVEN, "default", 999, 2, 0.0, 0.15 }, { "DUAL ELITE BERETTAS", "weapon_elite", CSW_ELITE, "default", 999, 3, 0.0, 0.07 }, { "DESERT EAGLE .50 AE", "weapon_deagle", CSW_DEAGLE, "default", 999, 4, 0.0, 0.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 sLevel[ 33 ], sFrags[ 33 ]; new sWeaponSelectedPrim[ 33 ], sWeaponSelectedSec[ 33 ]; new sWeaponId[33]; new sStatusIcon, sHideWeapon, sCrosshair;
new cvarFragsUser, cvarFragsAdmin, cvarTimeRespawn;
/* ====================================================== */
/* ====================================================== */
public plugin_init( ) { register_plugin( __PLUGIN[ 0 ], __PLUGIN[ 1 ], __PLUGIN[ 2 ] );
register_event( "DeathMsg", "event_Death", "a" ); register_event( "ResetHUD", "event_ResetHud", "b" );
RegisterHam( Ham_Killed, "player", "ham_PlayerKilled_Post", true ); RegisterHam( Ham_Spawn, "player", "ham_Spawn", true ); RegisterHam( Ham_TakeDamage, "player", "ham_PlayerTakeDamage" ); new i; for( i = 0; i < sizeof( WEAPONS_ENT ); ++i ) { if( WEAPONS_ENT[ i ][ 0 ] ) { RegisterHam( Ham_Item_Deploy, WEAPONS_ENT[ i ], "ham_ItemDeploy", 1 ); RegisterHam( Ham_Weapon_PrimaryAttack, WEAPONS_ENT[ i ], "ham_PrimaryAttack", 1 ); } } 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_message( sStatusIcon, "message_BlockBuyZone" ); register_message( sHideWeapon, "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( b = 0; b < sizeof( WEAPONPRIM ); b++ ) { if( !equal( WEAPONPRIM[ b ][ V_MODEL ], "default" ) ) precache_model( WEAPONPRIM[ b ][ V_MODEL ] ); } for( b = 0; b < sizeof( WEAPONSEC ); b++ ) { if( !equal( WEAPONSEC[ b ][ V_MODEL ], "default" ) ) precache_model( WEAPONSEC[ b ][ V_MODEL ] ); } }
public client_putinserver( id ) { set_task( 0.5, "OpenShowHud", id+TASK_SHOWHUD, _, _, "b" );
sLevel[ id ] = 0; sFrags[ id ] = 0; }
public client_disconnect( id ) remove_task( id+TASK_SHOWHUD );
/* ====================================================== */
/* ====================================================== */
public event_Death( ) { new iAttacker = read_data( 1 ); new iVictim = read_data( 2 ); new iAdmin = is_user_admin( iAttacker );
if( iAttacker == iVictim || !is_user_connected( iAttacker ) || !is_user_connected( iVictim ) ) return;
sFrags[ iAttacker ] += iAdmin ? get_pcvar_num( cvarFragsAdmin ) : get_pcvar_num( cvarFragsUser ); cc( iAttacker, "%s Ganaste^4 %d^1 frag(s) por matar a un enemigo%s.", __PREFIXSAY, iAdmin ? get_pcvar_num( cvarFragsAdmin ) : get_pcvar_num( cvarFragsUser ), iAdmin ? " siendo admin" : "" );
UpdateLevel( iAttacker ); }
public event_ResetHud( id ) { message_begin( MSG_ONE, sHideWeapon, _, id ); write_byte( HIDE_RM ); message_end( ); message_begin( MSG_ONE, sCrosshair, _, id ); write_byte( 0 ); message_end( ); }
public ham_PlayerKilled_Post( victim, attacker ) { if( victim == attacker || !is_user_connected( attacker ) ) return; set_dhudmessage( RANDOMR, RANDOMG, RANDOMB, 0.29, 0.49, 1, 6.0, 1.1, 0.30, 0.30 ); show_dhudmessage( victim, "REVIVIRAS EN 3 SEGUNDO(S)." ); set_task( get_pcvar_float( cvarTimeRespawn ), "activeRespawn", victim ); }
public ham_Spawn( id ) { if( !is_user_alive( id ) ) return; set_task( 0.5, "GiveWeapons", id ); }
public ham_PlayerTakeDamage( const iVictim, const iInflictor, const iAttacker, Float:fDamage, const iDamageBits ) { if( iVictim == iAttacker || !is_user_connected( iAttacker )) return HAM_IGNORED;
static idWeapon; idWeapon = get_user_weapon(iAttacker); if( idWeapon == WEAPONPRIM[ sWeaponSelectedPrim[ iAttacker ] ][ CSW_ ] ) { if( WEAPONPRIM[ sWeaponSelectedPrim[ iAttacker ] ][ DAMAGEWPN ] ) fDamage *= WEAPONPRIM[ sWeaponSelectedPrim[ iAttacker ] ][ DAMAGEWPN ]; } else if( idWeapon == WEAPONSEC[ sWeaponSelectedSec[ iAttacker ] ][ CSW_ ] ) { if( WEAPONSEC[ sWeaponSelectedSec[ iAttacker ] ][ DAMAGEWPN ] ) fDamage *= WEAPONSEC[ sWeaponSelectedSec[ iAttacker ] ][ DAMAGEWPN ]; }
SetHamParamFloat( 4, fDamage ); return HAM_IGNORED; }
public GiveWeapons( id ) { if( !is_user_alive( id ) ) return;
strip_user_weapons( id ); give_item( id, "weapon_knife" );
new wpn = -1; new wpntwo = -1;
for( new b = 0; b < sizeof( WEAPONPRIM ); b++ ) { if( sLevel[ id ] >= WEAPONPRIM[ b ][ LEVELWPN ] ) wpn = b; } for( new sc = 0; sc < sizeof( WEAPONSEC ); sc++ ) { if( sLevel[ id ] >= WEAPONSEC[ sc ][ LEVELWPN ] ) wpntwo = sc; }
sWeaponSelectedPrim[ id ] = wpn; sWeaponSelectedSec[ id ] = wpntwo;
give_item( id, WEAPONPRIM[ wpn ][ WEAPON_ ] ); cs_set_user_bpammo( id, WEAPONPRIM[ wpn ][ CSW_ ], WEAPONPRIM[ wpn ][ BPAMMO ] ); give_item( id, WEAPONSEC[ wpntwo ][ WEAPON_ ] ); cs_set_user_bpammo( id, WEAPONSEC[ wpntwo ][ CSW_ ], WEAPONSEC[ wpntwo ][ BPAMMO ] ); }
public ham_ItemDeploy( iEnt ) { static iOwner; iOwner = getWeaponEntId( iEnt );
if( !pev_valid( iOwner ) ) return;
static iWeaponIndex; iWeaponIndex = cs_get_weapon_id( iEnt );
sWeaponId[ iOwner ] = iWeaponIndex; SetPlayerWeaponSkin( iOwner, iWeaponIndex ); }
public ham_PrimaryAttack( weapon ) { new id = get_pdata_cbase( weapon, 41, 4 ); if( !is_user_alive( id ) ) return HAM_IGNORED; if( WEAPONPRIM[ sWeaponSelectedPrim[ id ] ][ CSW_ ] ) { static Float:flRatePrim; flRatePrim = WEAPONPRIM[ sWeaponSelectedPrim[ id ] ][ SPEEDWPN ]; set_pdata_float( weapon, 46, flRatePrim, 4 ); set_pdata_float( weapon, 47, flRatePrim, 4 ); set_pdata_float( weapon, 48, flRatePrim, 4 ); } else if( WEAPONSEC[ sWeaponSelectedSec[ id ] ][ CSW_ ] ) { static Float:flRateSec; flRateSec = WEAPONSEC[ sWeaponSelectedSec[ id ] ][ SPEEDWPN ]; set_pdata_float( weapon, 46, flRateSec, 4 ); set_pdata_float( weapon, 47, flRateSec, 4 ); set_pdata_float( weapon, 48, flRateSec, 4 ); } return HAM_IGNORED; }
public message_BlockBuyZone( 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 message_HideWeapon( ) set_msg_arg_int( 1, ARG_BYTE, get_msg_arg_int( 1 ) | HIDE_RM );
/* ====================================================== */
/* ====================================================== */
public clcmd_LockedCommand( ) return PLUGIN_HANDLED;
public SetPlayerWeaponSkin( id, weaponid ) { if( ( 1 << weaponid ) & PRIMARY_WEAPONS_BIT_SUM ) { if( !equal( WEAPONPRIM[ sWeaponSelectedPrim[ id ] ][ V_MODEL ], "default" ) ) entity_set_string( id, EV_SZ_viewmodel, WEAPONPRIM[ sWeaponSelectedPrim[ id ] ][ V_MODEL ] ); } else if( ( 1 << weaponid ) & SECONDARY_WEAPONS_BIT_SUM ) { if( !equal( WEAPONSEC[ sWeaponSelectedSec[ id ] ][ V_MODEL ], "default" ) ) entity_set_string( id, EV_SZ_viewmodel, WEAPONSEC[ sWeaponSelectedSec[ id ] ][ V_MODEL ] ); } }
public OpenShowHud( taskid ) { static id; id = ID_SHOWHUD;
if( !is_user_alive( id ) ) { id = pev( id, PEV_SPEC_TARGET );
if( !is_user_alive( id ) ) return; }
new iName[ 32 ], iHealth, iArmor, iLevel, iFrags; get_user_name( id, iName, charsmax( iName ) ); iHealth = get_user_health( id ); iArmor = get_user_armor( id ); iLevel = sLevel[ id ]; iFrags = sFrags[ id ];
if( id != ID_SHOWHUD ) { set_dhudmessage( RANDOMR, RANDOMG, RANDOMB, 0.025, 0.21, 1, 6.0, 1.1, 0.0, 0.0 ); show_dhudmessage( ID_SHOWHUD, "ESPECTEANDO A %s^nVIDA: %d^nARMADURA: %d^nNIVEL: %d/%d^nFRAGS: %d^n", iName, iHealth, iArmor, iLevel, LevelMax, iFrags ); } else { set_dhudmessage( RANDOMR, RANDOMG, RANDOMB, 0.025, 0.21, 1, 6.0, 1.1, 0.0, 0.0 ); show_dhudmessage( ID_SHOWHUD, "VIDA: %d^nARMADURA: %d^nNIVEL: %d/%d^nFRAGS: %d/%d^n", get_user_health( ID_SHOWHUD ), get_user_armor( ID_SHOWHUD ), sLevel[ ID_SHOWHUD ], LevelMax, sFrags[ ID_SHOWHUD ], NextLevel( sLevel[ ID_SHOWHUD ] ) ); } }
public UpdateLevel( id ) { new iUploaded = false;
while( sFrags[ id ] >= NextLevel( sLevel[ id ] ) && sLevel[ id ] < LevelMax ) { sLevel[ id ]++; iUploaded = true; }
if( iUploaded ) { cc( id, "%s Felicitaciones! - Subiste al^4 nivel: %d^1.", __PREFIXSAY, sLevel[ id ] ); iUploaded = false; GiveWeapons( id ) } }
public activeRespawn( id ) { if( cs_get_user_team( id ) == CS_TEAM_CT || cs_get_user_team( id ) == CS_TEAM_T ) ExecuteHamB( Ham_CS_RoundRespawn, id ); }
public open_Menu( id ) { static iFormatex[ 999 ]; formatex( iFormatex, charsmax( iFormatex ), "%s MENU PRINCIPAL", __PREFIXMEN ); new iMenu = menu_create( iFormatex, "hand_MenuPrincipal" ); menu_additem( iMenu, "\wINFORMACION DE\y ARMAS PRIMARIAS", "1" ); menu_additem( iMenu, "\wINFORMACION DE\y ARMAS SECUNDARIAS", "2" ); menu_setprop( iMenu, MPROP_EXITNAME, "SALIR" ); menu_setprop( iMenu, MPROP_NEXTNAME, "SIGUIENTE" ); menu_setprop( iMenu, MPROP_BACKNAME, "ATRAS" ); menu_display( id, iMenu, 0 ); } public hand_MenuPrincipal( id, menu, item ) { switch( item ) { case 0: open_InfWeaponsPrim( id ); case 1: open_InfWeaponsSec( id ); case MENU_EXIT: { menu_destroy( menu ); return PLUGIN_HANDLED; } } menu_destroy( menu ); return PLUGIN_HANDLED; }
public open_InfWeaponsPrim( id ) { static iFormatex[ 999 ]; formatex( iFormatex, charsmax( iFormatex ), "%s INFORMACION DE\y ARMAS PRIMARIAS", __PREFIXMEN ); new iMenu = menu_create( iFormatex, "hand_InfWeaponsPrim" ); for( new i = 0; i < sizeof( WEAPONPRIM ); i++ ) { formatex( iFormatex, charsmax( iFormatex ), "\w%s \y( NIVEL: %d )", WEAPONPRIM[ i ][ NAMEWPN ], WEAPONPRIM[ i ][ LEVELWPN ] ); menu_additem( iMenu, iFormatex ); } menu_setprop( iMenu, MPROP_EXITNAME, "SALIR" ); menu_setprop( iMenu, MPROP_NEXTNAME, "SIGUIENTE" ); menu_setprop( iMenu, MPROP_BACKNAME, "ATRAS" ); menu_display( id, iMenu, 0 ); } public hand_InfWeaponsPrim( id, menu, item ) { if( item == MENU_EXIT ) { menu_destroy( menu ); return PLUGIN_HANDLED; } open_InfWeaponsPrim( id ); return PLUGIN_HANDLED; }
public open_InfWeaponsSec( id ) { static iFormatex[ 999 ]; formatex( iFormatex, charsmax( iFormatex ), "%s INFORMACION DE\y ARMAS SECUNDARIAS", __PREFIXMEN ); new iMenu = menu_create( iFormatex, "hand_InfWeaponsSec" ); for( new i = 0; i < sizeof( WEAPONSEC ); i++ ) { formatex( iFormatex, charsmax( iFormatex ), "\w%s \y( NIVEL: %d )", WEAPONSEC[ i ][ NAMEWPN ], WEAPONSEC[ i ][ LEVELWPN ] ); menu_additem( iMenu, iFormatex ); } menu_setprop( iMenu, MPROP_EXITNAME, "SALIR" ); menu_setprop( iMenu, MPROP_NEXTNAME, "SIGUIENTE" ); menu_setprop( iMenu, MPROP_BACKNAME, "ATRAS" ); menu_display( id, iMenu, 0 ); } public hand_InfWeaponsSec( id, menu, item ) { if( item == MENU_EXIT ) { menu_destroy( menu ); return PLUGIN_HANDLED; } open_InfWeaponsSec( id ); return PLUGIN_HANDLED; }
/* ====================================================== */
/* ====================================================== */
stock cc(id, const input[], any:...) { static szMsg[191], msgSayText; if (!msgSayText) msgSayText = get_user_msgid("SayText"); vformat(szMsg, 190, input, 3);
replace_all(szMsg, 190, "!g", "^4"); replace_all(szMsg, 190, "!y", "^1"); replace_all(szMsg, 190, "!team", "^3"); message_begin(id ? MSG_ONE_UNRELIABLE : MSG_BROADCAST, msgSayText, .player = id); write_byte(id ? id : 33); write_string(szMsg); message_end(); }
stock getWeaponEntId(const ent) { if( pev_valid( ent ) != PDATA_SAFE ) return -1; return get_pdata_cbase( ent, OFFSET_WEAPONOWNER, OFFSET_LINUX_WEAPONS ); }
Mensajes: 546
Temas: 83
Registro en: Mar 2018
Reputación:
9
(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
Mensajes: 3,238
Temas: 47
Registro en: Feb 2015
Reputación:
34
(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
Que es lo original de eso que nombraste?
Mensajes: 7
Temas: 2
Registro en: Jul 2018
Reputación:
0
11/07/2018, 11:49 PM
(Última modificación: 11/07/2018, 11:50 PM por YonaiwerG.)
es, que nisiquiera tengo un sma, creado nada' no se nada de eso
nisiquiera se nada de lo que me estan explicando :/
Mensajes: 1,072
Temas: 57
Registro en: Feb 2016
Reputación:
8
(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
Que es lo original de eso que nombraste?
Creo que lo "original" es que el haya comentado
(11/07/2018, 11:49 PM)YonaiwerG escribió: es, que nisiquiera tengo un sma, creado nada' no se nada de eso
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".
Mensajes: 7
Temas: 2
Registro en: Jul 2018
Reputación:
0
12/07/2018, 12:46 AM
(Última modificación: 12/07/2018, 01:14 AM por YonaiwerG.)
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?
Mensajes: 9
Temas: 5
Registro en: Jan 2018
Reputación:
0
el adv_vault.inc lo puedes conseguir, y si tratas de compilar y te sale error en el "dhudmessenge" tienes que colocar el include
|