Mensajes: 1
Temas: 1
Registro en: May 2020
Reputación:
0
Buenas noches compro surf + level , con models sin bugs
Dejo mi Face haci me contactan
https://www.facebook.com/profile.php?id=100013188616938
Mensajes: 3,238
Temas: 47
Registro en: Feb 2015
Reputación:
34
Código PHP: /* ====================================================== */
#include <amxmodx> #include <amxmisc> #include <cstrike> #include <engine> #include <fakemeta> #include <fun> #include <hamsandwich> #include <sqlx>
new const g_szNameDb[ ] = "surfmod"; new const g_szDataBases[ ][ ] = { "surf_data", "surf_cuentas" };
/* ====================================================== */
enum( ) { E_STATUS_UNREGISTERED = 0, E_STATUS_REGISTERED, E_STATUS_UNLOGGED, E_STATUS_LOGGED, E_DATA_REGISTER, E_DATA_ENTERED, E_DATA_SAVE, E_DATA_LOAD };
new g_Cuentas; new g_Status[ 33 ]; new g_Password[ 33 ][ 21 ]; new g_PlayerName[ 33 ][ 33 ]; new Handle:g_hTuple, Handle:g_hConnection; /* ====================================================== */
/* ====================================================== */
#define NextLevel(%1) (%1 * 55 + 200) #define LevelMax 100 #define ID_SHOWHUD (taskid - TASK_SHOWHUD) #define TASK_SHOWHUD 16367 #define FL_WATERJUMP (1<<11) #define FL_ONGROUND (1<<9)
new g_Level[ 33 ], g_Exp[ 33 ]; new g_Hud;
new cvarExpUsers, cvarExpUsersHs; new cvarExpAdmin, cvarExpAdminHs;
new g_HideWeapon, g_Crosshair;
enum _:DATA_PLUGIN { P_NAME, P_VERSION, P_AUTOR, P_PREFIX }; enum _:DATA_WEAPONS { W_CSW, W_VMODEL[ 50 ], W_LEVEL, Float:W_DAMAGE };
new const szConstPlugin[ DATA_PLUGIN ][ ] = { { "Surf Mod" }, { "1.0" }, { "Sky^^" }, { "^3[ SURFMOD ]^1" } }; new const szConstWeaponsPrimary[ ][ DATA_WEAPONS ] = { { CSW_M3, "default", 0, 1.0 }, { CSW_M3, "default", 1, 1.0 }, { CSW_M3, "default", 2, 1.0 }, { CSW_M3, "default", 3, 1.0 }, { CSW_AK47, "default", 0, 1.0 }, { CSW_AK47, "default", 1, 1.0 }, { CSW_AK47, "default", 2, 1.0 }, { CSW_AK47, "default", 3, 1.0 }, { CSW_M4A1, "default", 0, 1.0 }, { CSW_M4A1, "default", 1, 1.0 }, { CSW_M4A1, "default", 2, 1.0 }, { CSW_M4A1, "default", 3, 1.0 } }; new const szConstWeaponsSecondary[ ][ DATA_WEAPONS ] = { { CSW_USP, "default", 0, 1.0 }, { CSW_USP, "default", 1, 1.0 }, { CSW_USP, "default", 2, 1.0 }, { CSW_USP, "default", 3, 1.0 }, { CSW_DEAGLE, "default", 0, 1.0 }, { CSW_DEAGLE, "default", 1, 1.0 }, { CSW_DEAGLE, "default", 2, 1.0 }, { CSW_DEAGLE, "default", 3, 1.0 }, { CSW_GLOCK18, "default", 0, 1.0 }, { CSW_GLOCK18, "default", 1, 1.0 }, { CSW_GLOCK18, "default", 2, 1.0 }, { CSW_GLOCK18, "default", 3, 1.0 } }; 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 const g_szHookArgs[ ][ ] = { "#Team_Select", "#Team_Select_Spect", "#IG_Team_Select", "#IG_Team_Select_Spect" }
const iRed = 225; const iGreen = 0;// reparado :v const iBlue = 0; new Float:iPosX = 0.00; new Float:iPosY = 0.84;
const HIDE_RM = (1<<3) | (1<<5); const PEV_SPEC_TARGET = pev_iuser2; const OFFSET_WEAPONOWNER = 41; const OFFSET_LINUX_WEAPONS = 4; const PDATA_SAFE = 2;
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);
/* ====================================================== */
public plugin_precache( ) { g_Hud = CreateHudSyncObj( ); static i; for( i = 0; i < sizeof( szConstWeaponsPrimary ); i++ ) if( !equal( szConstWeaponsPrimary[ i ][ W_VMODEL ], "default" ) ) precache_model( szConstWeaponsPrimary[ i ][ W_VMODEL ] ); for( i = 0; i < sizeof( szConstWeaponsSecondary ); i++ ) if( !equal( szConstWeaponsSecondary[ i ][ W_VMODEL ], "default" ) ) precache_model( szConstWeaponsSecondary[ i ][ W_VMODEL ] ); } public plugin_init( ) { server_print("no_amxx_uncompress"); register_plugin( szConstPlugin[ P_NAME ], szConstPlugin[ P_VERSION ], szConstPlugin[ P_AUTOR ] );
g_HideWeapon = get_user_msgid("HideWeapon"); g_Crosshair = get_user_msgid("Crosshair");
register_message( get_user_msgid( "ShowMenu" ), "msgShowMenu" ); register_message( get_user_msgid( "VGUIMenu" ), "msgVGUImenu" ); register_message( get_user_msgid("MOTD"), "msgMotd" ); register_message(g_HideWeapon, "Hide_Weapon"); register_event( "DeathMsg", "event_Death", "a" ); register_event("ResetHUD", "e_ResetHud", "b"); 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 );
register_forward( FM_ClientUserInfoChanged, "fw__ClientInfoChanged" ); register_clcmd("jointeam", "cm__JoinTeam") register_clcmd( "drop", "clcmd_LockedCommand" ); register_clcmd( "CREAR_PASSWORD", "cm__CreatePw" ); register_clcmd( "CONFIRMAR_PASSWORD", "cm__ConfirmPw" ); register_clcmd( "IDENTIFICAR_PASSWORD", "cm__LogPw" ); cvarExpUsers = register_cvar( "amx_exp_users", "30" ); cvarExpUsersHs = register_cvar( "amx_exp_users_hs", "40" ); cvarExpAdmin = register_cvar( "amx_exp_admin", "60" ); cvarExpAdminHs = register_cvar( "amx_exp_admin_hs", "70" );
MySqlx( ); }
/* ====================================================== */
public client_putinserver( id ) { get_user_name( id, g_PlayerName[ id ], charsmax( g_PlayerName[ ] ) ); g_Status[ id ] = E_STATUS_UNREGISTERED; check__Name( id );
set_task( 0.5, "taskHud", id+TASK_SHOWHUD, _, _, "b" );
g_Level[ id ] = g_Exp[ id ] = 0; }
check__Name( id ) { new Handle:query; query = SQL_PrepareQuery( g_hConnection, "SELECT Name FROM '%s' WHERE Name = ^"%s^"", g_szDataBases[ 0 ], g_PlayerName[ id ] ); SQL_Execute( query ); if( SQL_NumResults( query ) && SQL_Execute( query ) ) g_Status[ id ] = E_STATUS_REGISTERED; SQL_FreeHandle( query ); }
public client_disconnect( id ) { if( g_Status[ id ] == E_STATUS_LOGGED ) { Manage__Data( id, 1 ); g_Status[ id ] = E_STATUS_UNLOGGED; }
remove_task( id+TASK_SHOWHUD ); }
/* ====================================================== */
public msgShowMenu( id, dest, entity ) { new msg[ 32 ]; get_msg_arg_string( 4, msg, charsmax( msg ) ); for( new i = 0; i < sizeof g_szHookArgs; i++ ) { if( equal( msg, g_szHookArgs[ i ] ) ) { if( g_Status[ entity ] != E_STATUS_LOGGED ) Show_Menu__Register( entity ); return PLUGIN_HANDLED; } } return PLUGIN_CONTINUE; }
public msgVGUImenu( id, dest, entity ) { new menuid = get_msg_arg_int( 1 ); if( menuid == 2 || menuid == 3 ) { if( g_Status[ entity ] != E_STATUS_LOGGED ) Show_Menu__Register( entity ); return PLUGIN_HANDLED; } return PLUGIN_CONTINUE; }
public msgMotd( id, dest, entity ) return PLUGIN_HANDLED;
public Hide_Weapon() set_msg_arg_int(1, ARG_BYTE, get_msg_arg_int(1) | HIDE_RM);
public cm__JoinTeam( id ) { if( g_Status[ id ] == E_STATUS_LOGGED ) return PLUGIN_CONTINUE; Show_Menu__Register( id ); return PLUGIN_HANDLED; }
public clcmd_LockedCommand( id ) return PLUGIN_HANDLED;
public event_Death( ) { new iAttacker = read_data( 1 ); new iVictim = read_data( 2 ); new iHs = read_data( 3 ); if( iAttacker == iVictim || !is_user_connected( iAttacker ) || !is_user_connected( iVictim ) ) return; if( is_user_admin( iAttacker ) ) { if( iHs ) { g_Exp[ iAttacker ] += get_pcvar_num( cvarExpAdminHs ); cc( iAttacker, "%s Ganaste %d exp por matar de HeadShot siendo admin.", szConstPlugin[ P_PREFIX ], get_pcvar_num( cvarExpAdminHs ) ); } else { g_Exp[ iAttacker ] += get_pcvar_num( cvarExpAdmin ); cc( iAttacker, "%s Ganaste %d exp por matar siendo admin.", szConstPlugin[ P_PREFIX ], get_pcvar_num( cvarExpAdmin ) ); } } else { if( iHs ) { g_Exp[ iAttacker ] += get_pcvar_num( cvarExpUsersHs ); cc( iAttacker, "%s Ganaste %d exp por matar de HeadShot.", szConstPlugin[ P_PREFIX ], get_pcvar_num( cvarExpUsersHs ) ); } else { g_Exp[ iAttacker ] += get_pcvar_num( cvarExpUsers ); cc( iAttacker, "%s Ganaste %d exp por matar.", szConstPlugin[ P_PREFIX ], get_pcvar_num( cvarExpUsers ) ); } } updateLevel( iAttacker ); } public e_ResetHud(id) { message_begin(MSG_ONE, g_HideWeapon, _, id); write_byte(HIDE_RM); message_end(); message_begin(MSG_ONE, g_Crosshair, _, id); write_byte(0); message_end(); }
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); // reparado :v static level1; level1 = SetItems( iAttacker, idWeapon, 1 ); static level2; level2 = SetItems( iAttacker, idWeapon, 2 ); if( idWeapon == szConstWeaponsPrimary[ level1 ][ W_CSW ] ) fDamage *= szConstWeaponsPrimary[ level1 ][ W_DAMAGE ]; else if( idWeapon == szConstWeaponsSecondary[ level2 ][ W_CSW ] ) fDamage *= szConstWeaponsSecondary[ level2 ][ W_DAMAGE ]; SetHamParamFloat( 4, fDamage ); return HAM_IGNORED; }
public ham_ItemDeploy( iEnt ) { static iOwner; iOwner = getWeaponEntId( iEnt ); if( !pev_valid( iOwner ) ) return; static iWeaponIndex; iWeaponIndex = cs_get_weapon_id( iEnt ); // reparado :v static level1; level1 = SetItems( iOwner, iWeaponIndex, 1 ); static level2; level2 = SetItems( iOwner, iWeaponIndex, 2 ); if( !equal( szConstWeaponsPrimary[ level1 ][ W_VMODEL ], "default" ) ) if( iWeaponIndex == szConstWeaponsPrimary[ level1 ][ W_CSW ] ) set_pev(iOwner, pev_viewmodel2, szConstWeaponsPrimary[ level1 ][ W_VMODEL ]); if( !equal( szConstWeaponsSecondary[ level2 ][ W_VMODEL ], "default" ) ) if( iWeaponIndex == szConstWeaponsSecondary[ level2 ][ W_CSW ] ) set_pev(iOwner, pev_viewmodel2, szConstWeaponsSecondary[ level2 ][ W_VMODEL ]); }
public client_PreThink( id ) { entity_set_float( id, EV_FL_fuser2, 0.0 ); if( entity_get_int( id, EV_INT_button ) & 2 ) { new flags = entity_get_int( id, EV_INT_flags ); if( flags & FL_WATERJUMP ) return PLUGIN_CONTINUE; if( entity_get_int( id, EV_INT_waterlevel ) >= 2 ) return PLUGIN_CONTINUE; if( !( flags & FL_ONGROUND ) ) return PLUGIN_CONTINUE; new Float:velocity[ 3 ]; entity_get_vector( id, EV_VEC_velocity, velocity ); velocity[ 2 ] += 250.0; entity_set_vector( id, EV_VEC_velocity, velocity ); entity_set_int( id, EV_INT_gaitsequence, 6 ); } return PLUGIN_CONTINUE; }
/* ====================================================== */
public fw__ClientInfoChanged( id, buffer ) { if( !is_user_connected( id ) ) return FMRES_IGNORED; new name[ 32 ]; new newname[ 32 ]; get_user_name( id, name, 31 ); engfunc( EngFunc_InfoKeyValue, buffer, "name", newname, 31 ); if( !equal( name, newname ) ) { engfunc( EngFunc_SetClientKeyValue, id, buffer,"name", name ); client_cmd( id,"name ^"%s^"",name ) } return FMRES_IGNORED; }
public Show_Menu__Register( id ) { new ftex[ 200 ]; formatex( ftex, charsmax( ftex ), "\r[ SURF MOD ]\y Sistema de Cuentas^n^n\r-\w Nombre:\y %s^n\r-\w Estado:\y %s^n\r-\w Cuentas registradas:\y %d", g_PlayerName[ id ], ( g_Status[ id ] == E_STATUS_REGISTERED ) ? "Registrado" : "No registrado", g_Cuentas ); new menu = menu_create( ftex, "Hand_Menu__Register" ); if( g_Status[ id ] == E_STATUS_REGISTERED ) menu_additem( menu, "\dRegistrarme", "1" ); else menu_additem( menu, "\wRegistrarme", "1" ); if( g_Status[ id ] == E_STATUS_REGISTERED ) menu_additem( menu, "\wIdentificarme", "2" ); else menu_additem( menu, "\dIdentificarme", "2" ); menu_setprop( menu, MPROP_EXIT, MEXIT_NEVER ); menu_display( id, menu, 0 ); } public Hand_Menu__Register( id, menu, item ) { switch( item ) { case 0: { if( g_Status[ id ] == E_STATUS_REGISTERED ) { cc( id, "%s Ya estas registrado, identificate.", szConstPlugin[ P_PREFIX ] ); Show_Menu__Register( id ); } else client_cmd( id, "messagemode ^"CREAR_PASSWORD^"" ); } case 1: { if( g_Status[ id ] == E_STATUS_REGISTERED ) client_cmd( id, "messagemode ^"IDENTIFICAR_PASSWORD^"" ); else { cc( id, "%s No estas registrado, por favor registrate.", szConstPlugin[ P_PREFIX ] ); Show_Menu__Register( id ); } } } return PLUGIN_HANDLED; }
public cm__CreatePw( id ) { if( g_Status[ id ] == E_STATUS_LOGGED || g_Status[ id ] == E_STATUS_REGISTERED ) return; read_args( g_Password[ id ], charsmax( g_Password[ ] ) ); remove_quotes( g_Password[ id ] ); trim( g_Password[ id ] ); if( strlen( g_Password[ id ] ) < 5 && strlen( g_Password[ id ] ) > 21 ) { cc( id, "%s La contrasenia debe contener mas de^4 5 caracteres^1 y menos de^4 21 caracteres^1.", szConstPlugin[ P_PREFIX ] ); return; } client_cmd( id, "messagemode ^"CONFIRMAR_PASSWORD^"" ); } public cm__ConfirmPw( id ) { if( g_Status[ id ] == E_STATUS_LOGGED ) return; static iPw[ 21 ]; read_args( iPw, charsmax( iPw ) ); remove_quotes( iPw ); trim( iPw ); if( !equali( iPw, g_Password[ id ] ) ) { cc( id, "%s La contrasena no coincide con la anterior.", szConstPlugin[ P_PREFIX ] ); return; } remove_task( id+500 ); sc_query( id, E_DATA_REGISTER, "INSERT INTO ^"%s^" (Name, Password) VALUES (^"%s^", ^"%s^")", g_szDataBases[ 0 ], g_PlayerName[ id ], g_Password[ id ] ); } public cm__LogPw( id ) { if( g_Status[ id ] == E_STATUS_LOGGED || g_Status[ id ] != E_STATUS_REGISTERED ) return; read_args( g_Password[ id ], charsmax( g_Password[ ] ) ); remove_quotes( g_Password[ id ] ); trim( g_Password[ id ] ); remove_task( id+500 ); sc_query( id, E_DATA_ENTERED, "SELECT Password FROM ^"%s^" WHERE Name = ^"%s^"", g_szDataBases[ 0 ], g_PlayerName[ id ] ); }
public Manage__Data( id, type ) { if( g_Status[ id ] != E_STATUS_LOGGED ) return; if( type == 1 ) sc_query( id, E_DATA_SAVE, "UPDATE ^"%s^" SET Nivel='%d',Expe='%d' WHERE Name=^"%s^"", g_szDataBases[ 0 ], g_Level[ id ], g_Exp[ id ], g_PlayerName[ id ] ); if( type == 2 ) sc_query( id, E_DATA_LOAD, "SELECT * FROM '%s' WHERE Name=^"%s^"", g_szDataBases[ 0 ], g_PlayerName[ id ] ); } public Save__Accounts( ) { static iQuery[ 256 ]; formatex( iQuery, charsmax( iQuery ), "UPDATE ^"%s^" SET Cuentas='%d'", g_szDataBases[ 1 ], g_Cuentas ); SQL_ThreadQuery( g_hTuple, "SQL_IgnoreAccounts", iQuery ); } public SQL_DataHandled( failstate, Handle:query, error[], szerror, data[], szdata, Float:time ) { static id; id = data[ 0 ]; if( failstate == TQUERY_QUERY_FAILED || failstate == TQUERY_CONNECT_FAILED ) log_to_file( "SQL_Error.txt", "Error: %i - %s", szerror, error ); switch( data[ 1 ] ) { case E_DATA_REGISTER: { if( failstate < TQUERY_SUCCESS ) cc( id, "%s Ocurrio un error al registrarte!", szConstPlugin[ P_PREFIX ] ); else { g_Status[ id ] = E_STATUS_LOGGED; Manage__Data( id, 2 ); g_Cuentas++; g_Level[ id ] = 0; g_Exp[id] = 0; cc( id, "%s Bienvenido^4 %s^1. Eres la cuenta registrada numero^4 #%d^1.", szConstPlugin[ P_PREFIX ], g_PlayerName[ id ], g_Cuentas ); Save__Accounts( ); } } case E_DATA_ENTERED: { if( SQL_NumResults( query ) ) { static iPw[ 21 ]; SQL_ReadResult( query, 0, iPw, charsmax( iPw ) ); if( equali( iPw, g_Password[ id ] ) ) { g_Status[ id ] = E_STATUS_LOGGED; cc( 0, "%s^4 %s^1 ha ingresado.", szConstPlugin[ P_PREFIX ], g_PlayerName[ id ] ); Manage__Data( id, 2 ); } else { cc( id, "%s La contrasenia que introduciste es incorrecta.", szConstPlugin[ P_PREFIX ] ); } } } case E_DATA_SAVE: { if( failstate < TQUERY_SUCCESS ) cc( id, "%s Ocurrio un error al guardar tus datos.", szConstPlugin[ P_PREFIX ] ); } case E_DATA_LOAD: { if( SQL_NumResults( query ) ) { g_Level[ id ] = SQL_ReadResult( query, 2 ); g_Exp[ id ] = SQL_ReadResult( query, 3 );
engclient_cmd( id, "jointeam", "5" ); engclient_cmd( id, "joinclass", "5" ); } else cc( id, "%s Ocurrio un error al cargar tus datos.", szConstPlugin[ P_PREFIX ] ); } } }
public MySqlx( ) { static /*get_type[ 12 ], table[ 6805 ], len,*/ error, errorcode[ 128 ]; /*SQL_SetAffinity( "sqlite" ); SQL_GetAffinity( get_type, charsmax( get_type ) );*/
g_hTuple = SQL_MakeDbTuple( MYSQL_HOST, MYSQL_USER, MYSQL_PASS, g_szNameDb ); g_hConnection = SQL_Connect( g_hTuple, error, errorcode, charsmax( errorcode ) ); if( !g_hTuple ) { log_to_file( "SQL_Connection.txt", "Error en la conexion" ); return pause( "a" ); } /*len = 0; len += formatex( table[ len ], charsmax( table ) - len, "CREATE TABLE IF NOT EXISTS '%s'", g_szDataBases[ 0 ] ); len += formatex( table[ len ], charsmax( table ) - len, "( Name varchar(32) NOT NULL UNIQUE PRIMARY KEY," ); len += formatex( table[ len ], charsmax( table ) - len, "Password varchar(33) NOT NULL," ); len += formatex( table[ len ], charsmax( table ) - len, "Nivel int NOT NULL DEFAULT '0' ," ); len += formatex( table[ len ], charsmax( table ) - len, "Expe int NOT NULL DEFAULT '0' )" ); SQL_ThreadQuery( g_hTuple, "SQL_CreateTable", table ); len = 0; len += formatex( table[ len ], charsmax( table ) - len, "CREATE TABLE IF NOT EXISTS '%s'", g_szDataBases[ 1 ] ); len += formatex( table[ len ], charsmax( table ) - len, "( Cuentas int NOT NULL DEFAULT '0' )" ); SQL_ThreadQuery( g_hTuple, "SQL_CreateTable", table );*/ if( g_hConnection != Empty_Handle ) { new Handle:szquery; szquery = SQL_PrepareQuery( g_hConnection, "SELECT * FROM '%s'", g_szDataBases[ 1 ] ); SQL_Execute( szquery ); if( SQL_NumResults( szquery ) && SQL_Execute( szquery ) ) g_Cuentas = SQL_ReadResult( szquery, 0 ); else { static query[ 256 ]; formatex( query, charsmax( query ), "INSERT INTO '%s' (Cuentas) VALUES ('0')", g_szDataBases[ 1 ] ); SQL_ThreadQuery( g_hTuple, "SQL_IgnoreAccounts", query ); } SQL_FreeHandle( szquery ); } return PLUGIN_CONTINUE; }
public SQL_CreateTable( failstate, Handle:query, error[], szerror, data[], szdata, Float:time ) { switch( failstate ) { case TQUERY_CONNECT_FAILED: log_to_file( "SQL_TConnection.txt", "Error: %i - %s", szerror, error ); case TQUERY_QUERY_FAILED: log_to_file( "SQL_TQuery.txt", "Error: %i - %s", szerror, error ); } }
public SQL_IgnoreAccounts( failstate, Handle:query, error[], szerror, data[], szdata, Float:time ) { SQL_FreeHandle( query ); return PLUGIN_HANDLED; }
public plugin_end( ) { if( g_hTuple ) { Save__Accounts( ); SQL_FreeHandle( g_hTuple ); } }
/* ====================================================== */
public taskHud( taskid ) { static id; id = ID_SHOWHUD; if( !is_user_alive( id ) ) { id = pev( id, PEV_SPEC_TARGET ); if( !is_user_alive( id ) ) return; } new iHealth, iLevel, iExp; iHealth = get_user_health( id ); iLevel = g_Level[ id ]; iExp = g_Exp[ id ]; if( id != ID_SHOWHUD ) { set_hudmessage( iRed, iGreen, iBlue, iPosX, iPosY, 2, 6.0, 1.1, 0.0, 0.0 ); ShowSyncHudMsg( ID_SHOWHUD, g_Hud, "[ NOMBRE: %s ][ VIDA: %d / NIVEL: %d/%d ][ EXP: %d / EXP RESTANTE: %d ]", g_PlayerName[ id ], iHealth, iLevel, LevelMax, iExp, NextLevel( g_Level[ id ] )); } else { set_hudmessage( iRed, iGreen, iBlue, iPosX, iPosY, 2, 6.0, 1.1, 0.0, 0.0 ); ShowSyncHudMsg( ID_SHOWHUD, g_Hud, "[ VIDA: %d / NIVEL: %d/%d ][ EXP: %d / EXP RESTANTE: %d ]", get_user_health( ID_SHOWHUD ), g_Level[ ID_SHOWHUD ], LevelMax, g_Exp[ ID_SHOWHUD ], NextLevel( g_Level[ ID_SHOWHUD ] )); } }
public updateLevel( id ) { static level; level = g_Level[ id ]; // optimizado :v while( g_Exp[ id ] >= NextLevel( g_Level[ id ] ) && g_Level[ id ] < LevelMax ) ++g_Level[ id ]; if( g_Level[ id ] > level) cc( id, "%s Felicitaciones, subiste al nivel: %d.", szConstPlugin[ P_PREFIX ], g_Level[ id ] ); } stock SetItems( id, weapon, tipo ) // by hypno :v { static var, i; var = 0; if(tipo == 1){ for(i = 0; i < sizeof(szConstWeaponsPrimary); ++i) if(weapon == szConstWeaponsPrimary[i][W_CSW] && g_Level[ id ] >= szConstWeaponsPrimary[i][W_LEVEL] ) var = i; } if(tipo == 2){ for(i = 0; i < sizeof(szConstWeaponsSecondary); ++i) if(weapon == szConstWeaponsSecondary[i][W_CSW] && g_Level[ id ] >= szConstWeaponsSecondary[i][W_LEVEL] ) var = i; } return var; }
/* ====================================================== */
stock getWeaponEntId(const ent) { if( pev_valid( ent ) != PDATA_SAFE ) return -1; return get_pdata_cbase( ent, OFFSET_WEAPONOWNER, OFFSET_LINUX_WEAPONS ); } 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(); }
public sc_query( id, status, const buffer[ ], any:... ) { new query[ 1024 ], data[ 2 ]; data[ 0 ] = id; data[ 1 ] = status; vformat( query, charsmax( query ), buffer, 4 ); SQL_ThreadQuery( g_hTuple, "SQL_DataHandled", query, data, 2 ); }
Código PHP: /* =================================================================================== [ Surf Mod + Level v1.0.0 ]
=================================================================================== */
#include <amxmodx> #include <amxmisc> #include <cstrike> #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 TASK_RESPAWN = 49384 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, DESCRIPTION[ 50 ] };
new const WEAPONPRIM[ ][ WEAPONSENUM ] = { { "Schmidt TMP", "weapon_tmp", CSW_TMP, "default", 999, 0, 0.0, 0.07, "Sin descripcion" }, { "UMP 45", "weapon_ump45", CSW_UMP45, "default", 999, 1, 0.0, 0.10, "Sin descripcion" }, { "MP5 Navy", "weapon_mp5navy", CSW_MP5NAVY, "default", 999, 2, 0.0, 0.07, "Sin descripcion" }, { "ES P90", "weapon_p90", CSW_P90, "default", 999, 3, 0.0, 0.06, "Sin descripcion" }, { "IMI Galil", "weapon_galil", CSW_GALIL, "default", 999, 4, 0.0, 0.08, "Sin descripcion" }, { "Famas", "weapon_famas", CSW_FAMAS, "default", 999, 5, 0.0, 0.08, "Sin descripcion" }, { "SG-552 Commando", "weapon_sg552", CSW_SG552, "default", 999, 6, 0.0, 0.08, "Sin descripcion" }, { "M4A1 Carbine", "weapon_m4a1", CSW_M4A1, "default", 999, 7, 0.0, 0.08, "Sin descripcion" }, { "AK-47 Kalashnikov", "weapon_ak47", CSW_AK47, "default", 999, 8, 0.0, 0.09, "Sin descripcion" } };
new const WEAPONSEC[ ][ WEAPONSENUM ] = { { "USP .45 ACP Tactical", "weapon_usp", CSW_USP, "default", 999, 0, 0.0, 0.14, "Sin descripcion" }, { "Glock 18C", "weapon_glock18", CSW_GLOCK18, "default", 999, 1, 0.0, 0.15, "Sin descripcion" }, { "FiveseveN", "weapon_fiveseven", CSW_FIVESEVEN, "default", 999, 2, 0.0, 0.15, "Sin descripcion" }, { "Dual Elite Berettas", "weapon_elite", CSW_ELITE, "default", 999, 3, 0.0, 0.07, "Sin descripcion" }, { "Desert Eagle .50 AE", "weapon_deagle", CSW_DEAGLE, "default", 999, 4, 0.0, 0.22, "Sin descripcion" } };
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 const szLogName[ ] = "Surf_Logs.txt";
new sLevel[ 33 ], sFrags[ 33 ]; new sWeaponSelectedPrim[ 33 ], sWeaponSelectedSec[ 33 ]; new sWeaponId[33]; new sOption[ 33 ], sMode[ 33 ]; new sTarget[ 33 ]; new sPoints[ 33 ]; new sStatusIcon, sHideWeapon, sCrosshair;
new cvarFragsUser, cvarFragsAdmin, cvarPointsUser, cvarPointsAdmin, 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 ); if( WEAPONS_ENT[ i ][ 0 ] ) RegisterHam( Ham_Weapon_PrimaryAttack, WEAPONS_ENT[ i ], "ham_PrimaryAttack", 1 ); } register_clcmd( "nightvision", "open_Menu" ); register_clcmd( "drop", "clcmd_LockedCommand" ); register_clcmd( "CANTIDAD", "clcmd_Cantidad" ); 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" ); cvarPointsUser = register_cvar( "sf_pointsuser", "5" ); cvarPointsAdmin = register_cvar( "sf_pointsadmin", "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; sPoints[ id ] = 0; }
public client_disconnected( id ) { remove_task( id+TASK_SHOWHUD ); remove_task( id+TASK_RESPAWN ); }
/* ====================================================== */
/* ====================================================== */
public event_Death( ) { new iAttacker = read_data( 1 ); new iVictim = read_data( 2 ); new iAdmin = is_user_admin( iAttacker ); new iCvarFP[ 4 ]; iCvarFP[ 0 ] = get_pcvar_num( cvarFragsAdmin ); iCvarFP[ 1 ] = get_pcvar_num( cvarFragsUser ); iCvarFP[ 2 ] = get_pcvar_num( cvarPointsAdmin ); iCvarFP[ 3 ] = get_pcvar_num( cvarPointsUser );
if( iAttacker == iVictim || !is_user_connected( iAttacker ) || !is_user_connected( iVictim ) ) return;
sFrags[ iAttacker ] += iAdmin ? iCvarFP[ 0 ] : iCvarFP[ 1 ]; sPoints[ iAttacker ] += iAdmin ? iCvarFP[ 2 ] : iCvarFP[ 3 ]; cc( iAttacker, "%s Ganaste^4 %d^1 frag(s) y^4 %d^1 punto(s) por matar a un enemigo%s.", __PREFIXSAY, iAdmin ? iCvarFP[ 0 ] : iCvarFP[ 1 ], iAdmin ? iCvarFP[ 2 ] : iCvarFP[ 3 ], 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 %d segundo(s).", get_pcvar_num( cvarTimeRespawn ) ); set_task( get_pcvar_float( cvarTimeRespawn ), "activeRespawn", victim+TASK_RESPAWN ); }
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^nPuntos: %d", get_user_health( ID_SHOWHUD ), get_user_armor( ID_SHOWHUD ), sLevel[ ID_SHOWHUD ], LevelMax, sFrags[ ID_SHOWHUD ], NextLevel( sLevel[ ID_SHOWHUD ] ), sPoints[ ID_SHOWHUD ] ); } }
public UpdateLevel( id ) { new iUploaded = false; new iLow = false;
while( sFrags[ id ] >= NextLevel( sLevel[ id ] ) && sLevel[ id ] < LevelMax ) { sLevel[ id ]++; sFrags[ id ] -= NextLevel( sLevel[ id ] ); iUploaded = true; } while( sFrags[ id ] < 0 && sLevel[ id ] > 1 ) { sLevel[ id ]--; sFrags[ id ] += NextLevel( sLevel[ id ] ); iLow = true; }
if( iUploaded ) { cc( id, "%s Felicitaciones! - Subiste al^4 nivel: %d^1.", __PREFIXSAY, sLevel[ id ] ); iUploaded = false; GiveWeapons( id ) } if( iLow ) { cc( id, "%s Bajaste al^4 nivel: %d^1.", __PREFIXSAY, sLevel[ id ] ); iLow = false; GiveWeapons( id ); } if( sFrags[ id ] <= 0 ) sFrags[ id ] = 0; }
public activeRespawn( id ) { id -= TASK_RESPAWN; if( CS_TEAM_T <= cs_get_user_team( id ) <= CS_TEAM_CT ) 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" ); if( get_user_flags( id ) & ADMIN_RCON ) { menu_additem( iMenu, "\wInformacion de Armas Primarias", "1" ); menu_additem( iMenu, "\wInformacion de Armas Secundarias^n", "2" ); menu_additem( iMenu, "\wTienda", "3" ); menu_additem( iMenu, "\wMenu de Dueños", "4" ); menu_setprop( iMenu, MPROP_EXITNAME, "Salir" ); menu_setprop( iMenu, MPROP_NEXTNAME, "Siguiente" ); menu_setprop( iMenu, MPROP_BACKNAME, "Atras" ); menu_display( id, iMenu, 0 ); } else { menu_additem( iMenu, "\wInformacion de Armas Primarias", "1" ); menu_additem( iMenu, "\wInformacion de Armas Secundarias^n", "2" ); menu_additem( iMenu, "\wTienda", "3" ); 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 ) { if( get_user_flags( id ) & ADMIN_RCON ) { switch( item ) { case 0: open_InfWeaponsPrim( id ); case 1: open_InfWeaponsSec( id ); case 2: cc( id, "%s Proximamente.", __PREFIXSAY ); case 3: open_MenuOwners( id ); case MENU_EXIT: { menu_destroy( menu ); return PLUGIN_HANDLED; } } } else { switch( item ) { case 0: open_InfWeaponsPrim( id ); case 1: open_InfWeaponsSec( id ); case 2: cc( id, "%s Proximamente.", __PREFIXSAY ); 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 Armas Primarias", __PREFIXMEN ); new iMenu = menu_create( iFormatex, "hand_InfWeaponsPrim" ); for( new i = 0; i < sizeof( WEAPONPRIM ); i++ ) { formatex( iFormatex, charsmax( iFormatex ), "\w%s", WEAPONPRIM[ i ][ NAMEWPN ] ); 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; } cc( id, "%s Nombre:^4 %s^1 || Nivel:^4 %d^1 || Descripcion:^4 %s^1.", __PREFIXSAY, WEAPONPRIM[ item ][ NAMEWPN ], WEAPONPRIM[ item ][ LEVELWPN ], WEAPONPRIM[ item ][ DESCRIPTION ] ); menu_destroy( menu ); return PLUGIN_HANDLED; }
public open_InfWeaponsSec( id ) { static iFormatex[ 999 ]; formatex( iFormatex, charsmax( iFormatex ), "%s Informacion de Armas Secundarias", __PREFIXMEN ); new iMenu = menu_create( iFormatex, "hand_InfWeaponsSec" ); for( new i = 0; i < sizeof( WEAPONSEC ); i++ ) { formatex( iFormatex, charsmax( iFormatex ), "\w%s", WEAPONSEC[ i ][ NAMEWPN ] ); 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; } cc( id, "%s Nombre:^4 %s^1 || Nivel:^4 %d^1 || Descripcion:^4 %s^1.", __PREFIXSAY, WEAPONSEC[ item ][ NAMEWPN ], WEAPONSEC[ item ][ LEVELWPN ], WEAPONSEC[ item ][ DESCRIPTION ] ); menu_destroy( menu ); return PLUGIN_HANDLED; } public open_MenuOwners( id ) { static iFormatex[ 999 ]; formatex( iFormatex, charsmax( iFormatex ), "%s Menu de Dueños", __PREFIXMEN ); new iMenu = menu_create( iFormatex, "hand_MenuOwners" ); menu_additem( iMenu, sOption[ id ] ? "\wDar Frags" : "\wQuitar Frags" ); menu_additem( iMenu, sOption[ id ] ? "\wDar Niveles^n" : "\wQuitar Niveles^n" ); menu_additem( iMenu, sOption[ id ] ? "\wQuitar" : "\wAgregar" ); 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_MenuOwners( id, menu, item ) { switch( item ) { case 0..1: sMode[ id ] = item; case 2: { sOption[ id ] =! sOption[ id ]; open_MenuOwners( id ); return PLUGIN_HANDLED; } case MENU_EXIT: { menu_destroy( menu ); return PLUGIN_HANDLED; } } open_PlayersAdmMenu( id ); return PLUGIN_HANDLED; } public open_PlayersAdmMenu( id ) { static iFormatex[ 999 ]; new szData[ 10 ], szName[ 32 ], szPlayers[ 32 ], iNum; formatex( iFormatex, charsmax( iFormatex ), "%s Menu de Players", __PREFIXMEN ); new iMenu = menu_create( iFormatex, "hand_PlayersAdmMenu" ); get_players( szPlayers, iNum ); for( new i = 0; i < iNum; i++ ) { get_user_name( szPlayers[ i ], szName, charsmax( szName ) ); num_to_str( szPlayers[ i ], szData, charsmax( szData ) ); menu_additem( iMenu, szName, szData, 0 ); } 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_PlayersAdmMenu( id, menu, item ) { if( item == MENU_EXIT ) { menu_destroy( menu ); return PLUGIN_HANDLED; } new szData[ 6 ], szName[ 64 ]; new szAccess, callback; menu_item_getinfo( menu, item, szAccess, szData, charsmax( szData ), szName, charsmax( szName ), callback ); sTarget[ id ] = str_to_num( szData ); console_cmd( id, "messagemode CANTIDAD" ); menu_destroy( menu ); return PLUGIN_HANDLED; }
public clcmd_Cantidad( id ) { new iCant[ 32 ], szName[ 32 ], iName[ 32 ], szCant, szSteamID[ 32 ], szIP[ 21 ], szCurrentMap[ 21 ]; read_argv( 1, iCant, charsmax( iCant ) ); get_user_name( sTarget[ id ], iName, charsmax( iName ) ); get_user_name( id, szName, charsmax( szName ) ); get_user_authid( id, szSteamID, charsmax( szSteamID ) ); get_user_ip( id, szIP, charsmax( szIP ), 1 ); get_mapname( szCurrentMap, charsmax( szCurrentMap ) ); szCant = str_to_num( iCant ); replace_all( iCant, charsmax( iCant ), "%", "" ); replace_all( iCant, charsmax( iCant ), "-", "" ); if( equal( iCant, "" ) || equal( iCant, " " ) ) return PLUGIN_HANDLED; switch( sMode[ id ] ) { case 0: { log_to_file( szLogName, "El dueño %s <^"%s^" | ^"%s^" > en el mapa <^"%s^">, %s %d frag%s a %s.", szName, szSteamID, szIP, szCurrentMap, sOption[ id ] ? "le dio" : "le saco", szCant, szCant == 1 ? "" : "s", iName ); cc( id, "%s Le %s^4 %d frag%s^1 a^4 %s^1.", __PREFIXSAY, sOption[ id ] ? "diste" : "sacaste", szCant, szCant == 1 ? "" : "s", iName ); cc( sTarget[ id ], "%s El dueño^4 %s^1 te %s^4 %d frag%s^1.", __PREFIXSAY, szName, sOption[ id ] ? "dio" : "saco", szCant, szCant == 1 ? "" : "s" ); if( sOption[ id ] ) sFrags[ sTarget[ id ] ] += szCant; else sFrags[ sTarget[ id ] ] -= szCant; UpdateLevel( sTarget[ id ] ); } case 1: { log_to_file( szLogName, "El dueño %s <^"%s^" | ^"%s^" > en el mapa <^"%s^">, %s %d nivel%s a %s.", szName, szSteamID, szIP, szCurrentMap, sOption[ id ] ? "le dio" : "le saco", szCant, szCant == 1 ? "" : "es", iName ); cc( id, "%s Le %s^4 %d nivel%s^1 a^4 %s^1.", __PREFIXSAY, sOption[ id ] ? "diste" : "sacaste", szCant, szCant == 1 ? "" : "es", iName ); cc( sTarget[ id ], "%s El dueño^4 %s^1 te %s^4 %d nivel%s^1.", __PREFIXSAY, szName, sOption[ id ] ? "dio" : "saco", szCant, szCant == 1 ? "" : "es" ); if( sOption[ id ] ) sLevel[ sTarget[ id ] ] += szCant; else sLevel[ sTarget[ id ] ] -= szCant; GiveWeapons( sTarget[ 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 ); } /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang3082\\ f0\\ fs16 \n\\ par } */
Son bastantes viejos xd
|