[aporte] Dr+xp
#1
hola este es mi primer aporte xd bueno primero que nada este sma no es mio. segundo hago este aporte para gente que por hay lo necesita para un futuro (: bueno , de que se trata este dr+xp tenes que matar tt como el mod dr y a medidas que frageas subis nivel/rango algo simple y lindo(? no tiene menu ni nada por el estilo.. solo subis de rango , espero que les guste (: saludos

Código PHP:
#include <amxmodx>
#include <amxmisc>
#include <nvault>  
#include <colorchat>
#include <cstrike>
#include <fun>
#include <hamsandwich>
#include <fakemeta>

new Level[33], eXP[33]
new 
KillXpHsXpHeXp/*, KnifeXp*/
new gVault

new const szPrefix[] = "[^4DeathRun XP^3] -"

#define MaxLevels 12
#define IsPlayer(%1) ( 1 <= %1 <=  g_iMaxPlayers )
#define TASK_SHOW_HUD 10113

new g_msgHudSync
new bool:is_user_ignored33 ]

new const 
Levels[MaxLevels] = 
{
    
100// Noob #1
    
150// Starter #2
    
200// Beginner #3
    
250// Knifer #4
    
300// Rambo #5
    
350// Butcher #6
    
400// Matrix #7
    
450// Probhop #8
    
550// Freak #9
    
600// Racer #10
    
650// Kill Bill #11
    
700 // Respected Player #12
}
new const 
Prefix[MaxLevels +1][] =
{
    
"Noob"// 0
    
"Starter"// 1
    
"Beginner",  // 2
    
"Learning"// 3
    
"Knifer"// 4
    
"Rambo",  // 5
    
"Butcher"// 6
    
"Matrix"// 7
    
"Probhop"// 8
    
"Freak"// 9
    
"Racer"// 10
    
"Kill Bill"// 11
    
"Respected Player" // 12
}

// Bonus Stuff
new healthperlevel,
    
armorperlevel,
    
speedperlevel,
    
damageperlevel,
    
gravityperlvl
    
new g_iMaxPlayers

// ADMIN CHAT COLORS by ConnorMcLeod
enum _:ADMIN_DATAS 

    
m_szName[32], 
    
m_iFlag 


new const 
AdminsDatas[][ADMIN_DATAS] =  

    {
"[Administrador][STAFF]"ADMIN_RCON}, 
    {
"Semi-MOD"ADMIN_LEVEL_H}, 
    
// {"SuperAdmin", ADMIN_CFG}, 
    
{"Admin"ADMIN_KICK}, 
    {
"VIP"ADMIN_RESERVATION
};

public 
plugin_init() 
{
    
register_plugin("Deathrun XP & Level Mod""0.0.9""Freestyle")
    
    
register_message(get_user_msgid("SayText"),"Message_SayText"); // CREDITS TO ConnorMcLeod
    
    
RegisterHam Ham_Spawn"player""Ham_CheckOthers_Bonus"1);
    
RegisterHam Ham_TakeDamage"player""Ham_CheckDamage_Bonus", .Post false );
    
RegisterHam Ham_Item_PreFrame"player""Ham_CheckSpeed_Bonus"1);
    
    
g_iMaxPlayers get_maxplayers( );
    
    
register_cvar"AdminChatColors_On""1" ); // Admin Tag - Example: [Admin] Freestyle
    
register_cvar"XP_Reward_MSG""1" ); // Message of the XP Gain
    
    // CHAT COMMANDS //
    
register_clcmd "say /xp""ShowPlayerXP")
    
register_clcmd "say_team /xp""ShowPlayerXP")
    
register_clcmd "say /level""ShowPlayerLevel")
    
register_clcmd "say_team /level""ShowPlayerLevel")
    
    
// XP SYSTEM //
    
KillXp    register_cvar("drxp_per_kill""5")
    
HsXp    register_cvar("drxp_per_hs""10")
    
HeXp    register_cvar("drxp_per_nade_kill""10")
    
//KnifeXp    = register_cvar("drxp_per_knife_kill", "10")
    
    // Give & Remove XP //
    
register_concmd "give_xp""CmdAddXP"ADMIN_RCON"<nick, #userid, authid | @all> <xp>" )
    
register_concmd "remove_xp""CmdRemoveXP"ADMIN_RCON"<nick, #userid, authid | @all> <xp>" )
    
    
/* Bonus Stuff */
    
    // Health Per Level //
    
healthperlevel    register_cvar("health_per_lvl""10")
    
    
// Armor Per Level //
    
armorperlevel    register_cvar("armor_per_lvl""10"
    
    
// Speed Per Level //
    
speedperlevel    register_cvar("speed_per_lvl""0")
    
    
// Gravity Per Level //
    
gravityperlvl    register_cvar("gravity_per_lvl""0"// NERVER MORE THAN 66 PER LVL
    
    // Damage Per Level //
    
damageperlevel    register_cvar("damage_per_lvl""0")
    
    
g_msgHudSync CreateHudSyncObj()
}

public 
plugin_cfg( )
{    
    
gVault nvault_open"DEATHRUN_XP" )
    
    if ( 
gVault == INVALID_HANDLE )
        
set_fail_state"Error opening nVault" );
}

/*      INFO ABOUT PERSONAL XP/LEVEL      */
public ShowPlayerXP(id)
{
    
ColorChat(idGREY"%s Tenes ^4%i^3 XP Tu nivel es ^4%s^3!"szPrefixeXP[id], Prefix[Level[id]])
}

public 
ShowPlayerLevel(id)
{
    new 
name[32]
    
get_user_name(idnamesizeof(name) -1)
        
    
ColorChat(idGREY"%s Eres nivel ^4%s^3 con ^4%i^3 XP!"szPrefixPrefix[Level[id]], eXP[id])
}

public 
Ham_CheckDamage_BonuspevVictimpevInflictorpevAttackerFloat:flDamageiDmgBits 

    if( !( 
<= pevAttacker <= g_iMaxPlayers) ) 
    { 
        return 
HAM_HANDLED
    } 
     
    if( !
is_user_alivepevAttacker )  ) 
    { 
        return 
HAM_HANDLED
    } 

    
SetHamParamFloatflDamage + ( get_pcvar_numdamageperlevel ) * LevelpevAttacker ] ) ) 

    return 
HAM_IGNORED


/*      Speed Check      */
public Ham_CheckSpeed_Bonusid )
{
    if( !
is_user_aliveid ) || cs_get_user_teamid ) != CS_TEAM_T )
    {
        return 
HAM_IGNORED;
    }
    
    
set_user_maxspeedid250.0 + ( get_pcvar_num(speedperlevel) * Levelid ] ) );
            
    return 
HAM_IGNORED;
}

/*      HP & AP & Gravity Check      */
public Ham_CheckOthers_Bonus(id)
{
    if( !
is_user_aliveid ) || cs_get_user_teamid ) != CS_TEAM_T )
        return 
HAM_IGNORED;
        
    
// HP Check
    
new HPCheck = ( get_user_health(id) + get_pcvar_num(healthperlevel) * Levelid ] );
    
set_user_healthidHPCheck );
    
    
// AP Check
    
new APCheck = ( get_user_armor(id) + get_pcvar_num(armorperlevel) * Levelid ] );
    
set_user_armoridAPCheck );
    
    
// Gravity
    
new GRAVITYCheck 800 - ( get_pcvar_numgravityperlvl ) * Levelid ] );
    
    if(
get_pcvar_num(gravityperlvl) > 66)
    {
        
set_user_gravityidfloat) / 800.0 );
    }
    else
    {
        
set_user_gravityidfloatGRAVITYCheck ) / 800.0 );
    }
    
    
remove_taskTASK_SHOW_HUD id );        

    
set_task(0.1"ShowHud"TASK_SHOW_HUD id)
            
    return 
HAM_IGNORED;
}

/*      Respected Player Join / Leave Stuff      */

public LvL_12_PlayerJoin(id)
{
    new 
name[32]
    
get_user_name(idnamesizeof(name) -1)
        
    
ColorChat(0GREY"%s ^4Respected Player : ^1%s^4 entro al server con ^1%i^4 XP!"szPrefixnameeXP[id])
}

public 
LvL_12_PlayerRemove(id)
{
    new 
name[32]
    
get_user_name(idnamesizeof(name) -1)
        
    
ColorChat(0GREY"%s ^4Respected Player : %s se fue del server con %i XP!"szPrefixnameeXP[id])
}

public 
plugin_end( )
    
nvault_closegVault )
    
public 
client_putinserver(id)
{
    
LoadData(id)
    
set_task3.0"ShowHud"id, .flags "b" );
    
    if(
Level[id] == 12)
    {
        
set_task(5.0"LvL_12_PlayerJoin"id)
    }
}

public 
client_disconnect(id)
{
    
SaveData(id)
    
    if(
Level[id] == 12)
    {
        
set_task(1.0"LvL_12_PlayerRemove"id)
    }
}

/*      XP REWARDS      */
public client_deathiKilleriVictimwpnindexhitplace )
{
    new 
vname[32]
    new 
kname[32]
    
    
get_user_nameiKillerknamecharsmaxkname ) )
    
get_user_nameiVictimvnamecharsmaxvname ) )

    if( 
is_user_ignorediKiller ] )
        return 
PLUGIN_HANDLED_MAIN
    
    get_user_name
iKillerknamecharsmaxkname ) )
    
get_user_nameiVictimvnamecharsmaxvname ) )
    
    if( 
iKiller != iVictim && ( <= iKiller <= g_iMaxPlayers ) && ( <= iVictim <= g_iMaxPlayers ) && !( hitplace == HIT_HEAD ) && !( wpnindex == CSW_HEGRENADE ) )
    {
        
eXP[iKiller] += get_pcvar_num(KillXp)
        
        if( 
get_cvar_num("XP_Reward_MSG") == 
        {
            
ColorChat iKillerGREY"%s You got^4 %i^3 XP for killing^4 %s^3"szPrefixget_pcvar_num(KillXp), vname )
        }
    }
    
    if( 
hitplace == HIT_HEAD )
    {
        
eXP[iKiller] += get_pcvar_num(HsXp)
        
        if( 
get_cvar_num("XP_Reward_MSG") == 
        {
            
ColorChat iKillerGREY"%s You got ^4%i^3 XP for killing ^4%s^3 with a ^4HeadShot"szPrefixget_pcvar_num (HsXp), vname )
        }
    }
    
    if( 
wpnindex == CSW_HEGRENADE && iKiller != iVictim )
    {
        
eXP[iKiller] += get_pcvar_num(HeXp)
        
        if( 
get_cvar_num("XP_Reward_MSG") == 
        {
            
ColorChatiKillerGREEN"%s^1 You got^4 %i^3 XP for killing^4 %s^3 with a ^4Grenade"szPrefixget_pcvar_num (HeXp), vname )
        }
    }
    
CheckLevel(iKiller)
    
SaveData(iKiller)
    
    return 
PLUGIN_CONTINUE
}

public 
CheckLevel(id)
{
    if(
Level[id] < MaxLevels-1)
    {
        while(
eXP[id] >= Levels[Level[id]])
        {
            
Level[id] += 
            ColorChat
(idGREY"%s Felicitaciones ,Subiste de nivel!! ahora sos  : ^4%i^3"szPrefixLevel[id])
        }
    } 
}

/*      HUD PERMANENT INFO      */
public ShowHud(task)
{
    new 
id task TASK_SHOW_HUD
    
    
if(!is_user_alive(id))
        return;
    
    
set_hudmessage(025500.020.3300.00.30.00.0)
    
ShowSyncHudMsg(idg_msgHudSync,"[Status : %s]^n[XP : %i]"Prefix[Level[id]], eXP[id])
    
    
set_task(0.1"ShowHud"TASK_SHOW_HUD id)    
}

/*      nVault Stuff      */
public SaveData(id

    new 
AuthID[35]
    
get_user_authid(id,AuthID,34
    new 
vaultkey[64],vaultdata[256
    
    
format(vaultkey,63,"%s-Mod",AuthID
    
format(vaultdata,255,"%i#%i#",eXP[id],Level[id]) 
    
    
nvault_set(gVault,vaultkey,vaultdata
    
    return 
PLUGIN_CONTINUE 

public 
LoadData(id

    new 
AuthID[35]
    
get_user_authid(id,AuthID,34
    new 
vaultkey[64],vaultdata[256
    
    
format(vaultkey,63,"%s-Mod",AuthID
    
format(vaultdata,255,"%i#%i#",eXP[id],Level[id]) 
    
    
nvault_get(gVault,vaultkey,vaultdata,255
    
    
replace_all(vaultdata255"#"" "
    
    new 
playerxp[32], playerlevel[32
    
    
parse(vaultdataplayerxp31playerlevel31
    
    
eXP[id] = str_to_num(playerxp
    
    
Level[id] = str_to_num(playerlevel
    
    return 
PLUGIN_CONTINUE 


/*      Remove And Add XP      */
public CmdAddXP iPlayerlevelcid )
{
    if( !
cmd_accessiPlayerlevelcid) ) return PLUGIN_HANDLED;
       
    new 
arg 32 ]
    
read_argv 1arg31 
 
    new 
AddXP 32 ]
    
read_argv 2AddXPcharsmax AddXP ) )
 
    new 
XPtoGive str_to_num AddXP )
       
    new 
AdminName 32 ]
    new 
TargetName 32 ]
    
get_user_name iPlayerAdminNamecharsmax AdminName ) )
       
    if( 
arg[0]=='@' )
    { 
        if( 
equali(arg[1],"All") || equali(arg[1],"ALL") )
        {
            new 
players[32], totalplayersAll
            get_players
playerstotalplayers )
            
            for ( new 
0totalplayersi++ )
            {
                
All players]
                       
                
eXPAll ] += XPtoGive
            
}
            
            
CheckLevelAll )
            
ColorChat 0GREY"%s ^1%s^3 give^1 %i^3 XP to all ^1 players^3!"szPrefixAdminNameXPtoGive )
        }
        else if( 
equali(arg[1],"T") || equali(arg[1],"t") )
        {
            new 
players[32], totalplayersT
            get_players
playerstotalplayers )
            
            for ( new 
0totalplayersi++ )
            {
                if ( 
get_user_team(players]) == )
                {
                    
players]
                           
                    
eXP] += XPtoGive
                
}
            }
            
            
CheckLevel)
            
ColorChat 0GREY"%s ^1%s^3 give^1 %i^3 XP to all ^1 Terrorists^3!"szPrefixAdminNameXPtoGive )
        }
        else if( 
equali(arg[1],"CT") || equali(arg[1],"ct") )
        {
            new 
players[32], totalplayersCT
            get_players
playerstotalplayers )
            
            for( new 
0totalplayersi++ )
            {
                if( 
get_user_team(players] ) == )
                {
                    
CT players]
                           
                    
eXPCT ] += XPtoGive
                
}
            }
            
            
CheckLevelCT )
            
ColorChat 0GREY"%s ^1%s^3 give^1 %i^3 XP to all ^1 Counter-Terrorists^3!"szPrefixAdminNameXPtoGive )
        }
    }
    else
    {
        new 
iTarget cmd_targetiPlayerarg)
        
get_user_name iTargetTargetNamecharsmax TargetName ) )
        
        if( 
iTarget )
        {
            
eXPiTarget ] += XPtoGive
            
            CheckLevel
iTarget )
            
ColorChat 0GREY"%s ^1%s^3 give^1 %i^3 XP to^1 %s^3"szPrefixAdminNameXPtoGiveTargetName )
        }
    }
    return 
PLUGIN_HANDLED
}
 
public 
CmdRemoveXP iPlayerlevelcid )
{
    if( !
cmd_access(iPlayerlevelcid3) ) return PLUGIN_HANDLED;
       
    new 
arg 32 ]
    
read_argv 1arg31 
 
    new 
RemoveXP 32 ]
    
read_argv 2RemoveXPcharsmax RemoveXP ) )
 
    new 
XPtoRemove str_to_num RemoveXP )
       
    new 
AdminName 32 ]
    new 
TargetName 32 ]
    
get_user_name iPlayerAdminNamecharsmax AdminName ) )
       
    if( 
arg[0]=='@' )
    { 
        if( 
equali(arg[1],"All") || equali(arg[1],"ALL") )
        {
            new 
players[32], totalplayersAll
            get_players
playerstotalplayers )
            
            for ( new 
0totalplayersi++ )
            {
                
All players]
                       
                
eXPAll ] -= XPtoRemove
            
}
            
            
CheckLevelAll )
            
ColorChat 0GREY"%s ^1%s^3 toke^1 %i^3 XP of all ^1 players^3!"szPrefixAdminNameXPtoRemove )
        }
        else if( 
equali(arg[1],"T") || equali(arg[1],"t") )
        {
            new 
players[32], totalplayersT
            get_players
playerstotalplayers )
            
            for ( new 
0totalplayersi++ )
            {
                if ( 
get_user_team(players]) == )
                {
                    
players]
                           
                    
eXP] -= XPtoRemove
                
}
            }
            
            
CheckLevel)
            
ColorChat 0GREY"%s ^1%s^3 toke^1 %i^3 XP of all ^1 Terrorists^3!"szPrefixAdminNameXPtoRemove )
        }
        else if( 
equali(arg[1],"CT") || equali(arg[1],"ct") )
        {
            new 
players[32], totalplayersCT
            get_players
playerstotalplayers )
            
            for( new 
0totalplayersi++ )
            {
                if( 
get_user_team(players] ) == )
                {
                    
CT players]
                           
                    
eXPCT ] -= XPtoRemove
                
}
            }
            
            
CheckLevelCT )
            
ColorChat 0GREY"%s ^1%s^3 toke^1 %i^3 XP of all ^1 Counter-Terrorists^3!"szPrefixAdminNameXPtoRemove )
        }
    }
    else
    {
        new 
iTarget cmd_targetiPlayerarg)
        
get_user_name iTargetTargetNamecharsmax TargetName ) )
        
        if( !
iTarget )
            return 
PLUGIN_HANDLED
            
        eXP
iTarget ] -= XPtoRemove
            
        CheckLevel
iTarget )
        
ColorChat 0GREY"%s ^1%s^3 give^1 %i^3 XP to^1 %s^3"szPrefixAdminNameXPtoRemoveTargetName )
    }
    
    return 
PLUGIN_HANDLED
}
/*      Level Behind Nick & AdminChatColors
              CREDITS TO ConnorMcLeod            */
public Message_SayText(msgId,msgDest,msgEnt

    new 
id get_msg_arg_int(1); 
    if( 
is_user_connected(id) ) 
    { 
        if( 
get_cvar_num("AdminChatColors_On") == 
        {
            new 
flags get_user_flags(id)
            for(new 
ii<sizeof(AdminsDatas); i++) 
            { 
                if( 
flags AdminsDatas[i][m_iFlag] ) 
                { 
                    new 
szChannel[64]
                    
get_msg_arg_string(2szChannelcharsmax(szChannel))
        
                    if( 
equal(szChannel"#Cstrike_Chat_All") ) 
                    { 
                        
formatex(szChannelcharsmax(szChannel), "^4[%s - %s] ^3%%s1 ^1:  %%s2"Prefix[Level[id]], AdminsDatas[i][m_szName])
                        
set_msg_arg_string(2szChannel)
                    } 
                    else if( !
equal(szChannel"#Cstrike_Name_Change") ) 
                    { 
                        
format(szChannelcharsmax(szChannel), "^4[%s - %s] %s"Prefix[Level[id]], AdminsDatas[i][m_szName], szChannel)
                        
set_msg_arg_string(2szChannel)
                    } 
                    return
                } 
                else
                {
                    new 
szChannel[64]
                    
get_msg_arg_string(2szChannelcharsmax(szChannel))
        
                    if( 
equal(szChannel"#Cstrike_Chat_All") ) 
                    { 
                        
formatex(szChannelcharsmax(szChannel), "^4[%s] ^3%%s1 ^1:  %%s2"Prefix[Level[id]])
                        
set_msg_arg_string(2szChannel)
                    } 
                    else if( !
equal(szChannel"#Cstrike_Name_Change") ) 
                    { 
                        
format(szChannelcharsmax(szChannel), "^4[%s] %s"Prefix[Level[id]], szChannel)
                        
set_msg_arg_string(2szChannel)
                    } 
                    return 
                }
            } 
        }
        else
        {
            new 
szChannel[64]
            
get_msg_arg_string(2szChannelcharsmax(szChannel));
        
            if( 
equal(szChannel"#Cstrike_Chat_All") ) 
            { 
                
formatex(szChannelcharsmax(szChannel), "^4[%s] ^3%%s1 ^1:  %%s2"Prefix[Level[id]])
                
set_msg_arg_string(2szChannel)
            } 
            else if( !
equal(szChannel"#Cstrike_Name_Change") ) 
            { 
                
format(szChannelcharsmax(szChannel), "^4[%s] %s"Prefix[Level[id]], szChannel
                
set_msg_arg_string(2szChannel)
            } 
            return 
        }
    } 

Cargando...
Responder
#2
creo que estaria bien si lo pasas un poco a español los mensajes si se podria ?

Saludos,
K.-

( a lo clanns pacman )
(10/10/2014, 06:38 PM)RauliTop escribió:
(10/10/2014, 04:40 PM)ivan escribió: no sabía que se podia poner los iconos gestuales cuando das reputacion negativa/positiva.
ui, peligro...
pronto habrán reputaciones de ivan:
hace muy muy muii DafuqYao mingGenius buenos Thats what she saidtutoriales Proud me encataan Whatever
Responder
#3
Solo como sugerencia podrias usar un macro para la exp
Responder
#4
(17/04/2014, 02:09 AM)3mcy daimont escribió: Solo como sugerencia podrias usar un macro para la exp

si tambien , podria usar un macro...
Cargando...
Responder
#5
(17/04/2014, 09:51 AM)player wii solider escribió:
(17/04/2014, 02:09 AM)3mcy daimont escribió: Solo como sugerencia podrias usar un macro para la exp

si tambien , podria usar un macro...

y no lo vos a hacer ? pacman
(10/10/2014, 06:38 PM)RauliTop escribió:
(10/10/2014, 04:40 PM)ivan escribió: no sabía que se podia poner los iconos gestuales cuando das reputacion negativa/positiva.
ui, peligro...
pronto habrán reputaciones de ivan:
hace muy muy muii DafuqYao mingGenius buenos Thats what she saidtutoriales Proud me encataan Whatever
Responder
#6
(17/04/2014, 01:53 PM)K.- escribió:
(17/04/2014, 09:51 AM)player wii solider escribió:
(17/04/2014, 02:09 AM)3mcy daimont escribió: Solo como sugerencia podrias usar un macro para la exp

si tambien , podria usar un macro...

y no lo vos a hacer ? pacman
Por la cantidad de niveles que usa, creo que seria lo mismo
(19/06/2014, 11:08 PM)01011001 escribió: No tiene niveles infinitos, llega hasta 2147483648 (Y despues hace un integer overflow)

(19/06/2014, 11:08 PM)[R]ak escribió: Mis conocimientos aumentaron un 500% con este post
Responder
#7
Lindo code , no lo probe pero por lo que veo no tiene errores , si , se puede usar un macro y en mi opinion habria que hacerle un macro para la exp , saludos
Thebest Niggas!

[Imagen: 67957_543474049063124_922932978_n.jpg]
-Skype: juuan.-best
Responder
#8
Código PHP:
/* Sets indexes of players.
* Flags:
* "a" - don't collect dead players.
* "b" - don't collect alive players.
* "c" - skip bots.
* "d" - skip real players.
* "e" - match with team.
* "f" - match with part of name.
* "g" - ignore case sensitivity.
* "h" - skip HLTV.
* Example: Get all alive CTs: get_players(players,num,"ae","CT") */

native get_players(players[32], &num ,const flags[]="", const team[]=""
Responder
#9
(20/04/2014, 12:45 AM)UnrealT escribió:
Código PHP:
/* Sets indexes of players.
* Flags:
* "a" - don't collect dead players.
* "b" - don't collect alive players.
* "c" - skip bots.
* "d" - skip real players.
* "e" - match with team.
* "f" - match with part of name.
* "g" - ignore case sensitivity.
* "h" - skip HLTV.
* Example: Get all alive CTs: get_players(players,num,"ae","CT") */

native get_players(players[32], &num ,const flags[]="", const team[]=""


y eso ??
Cargando...
Responder
#10
No tengo el " #include <colorchat> " Me lo pueden pasar porfavro que sea compatible al que aportaron aqui
Nobato-Aprendiendo Nothingdohere 1%
Responder
#11
Creo que esto es aportes , pueden revivir ..

http://amxmodx-es.com/Thread-AYUDA-Colorchat
(10/10/2014, 06:38 PM)RauliTop escribió:
(10/10/2014, 04:40 PM)ivan escribió: no sabía que se podia poner los iconos gestuales cuando das reputacion negativa/positiva.
ui, peligro...
pronto habrán reputaciones de ivan:
hace muy muy muii DafuqYao mingGenius buenos Thats what she saidtutoriales Proud me encataan Whatever
Responder
#12
Ya que ha sido revivido pues.. No he visto el code la verdad, pero supongo que esto sera un taran.. Whatever


https://forums.alliedmods.net/showthread...7?t=197347
[Imagen: 76561198008294440.png]
Responder
#13
Una cosa que salga en el chat s2 es algo normal?
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)