Base Builder + Niveles v2.7
#1
Bombilla 
Base Builder + Niveles v2.7


[Imagen: sigline.png]

Cita:Bueno, como veo varios pidiendo Base Builder + Niveles, les dejo este con guardado vía MySQL.

[Imagen: sigline.png]

Features:
  • Sistema de cuentas por MySQL
  • Sistema de Levels por Frags
  • HappyHour
  • Ganacia de Admins x2
  • Habilidades Zombie & Humanas
  • Shop Zombie & Humano
  • Sistema de Logros
  • Sistema de Resets
  • Sistema de Combos (Al resetear te da la posibilidad de hacer combos)
  • Armas por Niveles

[Imagen: sigline.png]

Módulos:

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

[Imagen: sigline.png]

ChangeLog:

Código:
1.0
     - Primera versión
                    
1.1
     - Fixeo de menu
     - Arreglado errores en MySQL
                    
1.2
    - Arreglado sistema de Combo
                    
1.3
     - Agregado Menu de Armas por Niveles
     - Fix final del sistema de Combos
                    
1.4
     - Agregada FrostNade
     - Agregada HappyHour
     - Correjido error de la HE Grenade
                    
1.5
     - Fix Menu de Armas
                    
1.6
     - Fixeo en la conexion MySQL
     - Arreglo en la mejora danio
     - Ganancia de admin multiplicada x2
                    
1.7
     - Arreglada efectos de la frostnade
                    
2.0
     - Reescrito el code desde 0
     - Agregada consulta de la MySQL
     - Hookeo del OldMenu (Gracias Rak)
     - Agregado TeamJoin de Exolent para evitar futuros bugs

2.1
     - Arreglado sistema de combo

2.2
     - Agregado menu de estadisticas
     - Correjido el Team Join

2.3
     - Agregado limite para las granadas
                    
2.4
     - Agregado menu de armas al menu principal
                    
2.5
     - Arreglado error de comprobacion en la HappyHour
     - Correjido error de logeo (Gracias LeiToH)

2.6
     - Fix bug de armas
                
2.7
     - Fix chooseteam
     - Correjido dar armas a los zombies
     - Agregado que los zombies no puedan recojer armas

[Imagen: sigline.png]

Créditos:

Código:
- Tirant (Original Mod)
- Neeeeeeeeeeel.- & r0ma
- cLAANS
- Stickp0le
- fearAR
- Rak
- CSAxel
- roccoxx
- Sangriento
- LeiToH
- sheeenk! (Gracias por testear y encontrar los bugs)

Other people...  :P

[Imagen: sigline.png]

Para utilizar este plugin necesitan una base de datos MySQL. Para que no tengan que crear la base de datos y las tablas, acá les dejo la consulta SQL, solo la insertan en el phpMyAdmin y les crea todo automáticamente. Igualmente esta en el .sma la consulta


Código PHP:
CREATE TABLE cuentas 
(
        
id INT(10UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
    
Usuario varchar(34NOT NULL UNIQUE KEY
    
Password varchar(34NOT NULL
    
Pj varchar(32NOT NULL UNIQUE KEY,
    
Level int(10NOT NULL DEFAULT '0',
        
Experiencia int(10NOT NULL DEFAULT '0',
        
BBPacks int(10NOT NULL DEFAULT '0',
        
Punto1 int(10NOT NULL DEFAULT '0',
        
Punto2 int(10NOT NULL DEFAULT '0',
        
Punto3 int(10NOT NULL DEFAULT '0',
        
Punto4 int(10NOT NULL DEFAULT '0',
        
Punto5 int(10NOT NULL DEFAULT '0',
        
Punto6 int(10NOT NULL DEFAULT '0',
        
Punto7 int(10NOT NULL DEFAULT '0',
        
Punto8 int(10NOT NULL DEFAULT '0',
        
Punto9 int(10NOT NULL DEFAULT '0',
        
Punto10 int(10NOT NULL DEFAULT '0',
        
Matados int(10NOT NULL DEFAULT '0',
        
Resets int(10NOT NULL DEFAULT '0',
        
Logro1 int(10NOT NULL DEFAULT '0',
        
Logro2 int(10NOT NULL DEFAULT '0',
        
Logro3 int(10NOT NULL DEFAULT '0',
        
Logro4 int(10NOT NULL DEFAULT '0',
        
Logro5 int(10NOT NULL DEFAULT '0',
        
Logro6 int(10NOT NULL DEFAULT '0'


[Imagen: sigline.png]



PD: Al subir los .sma se me cambio todo :S

La categoría es GamePlay y el juego es para Counter-Strike


Archivos adjuntos
.sma   Descargar AMXX / bb_classes65.sma (Tamaño: 1.69 KB / Descargas: 1,569)
.sma   Descargar AMXX / basebuilder65.sma (Tamaño: 125.86 KB / Descargas: 1,793)
.rar   Models, Sounds and Configs - BB + Niveles 2.0.rar (Tamaño: 2.91 MB / Descargas: 1,815)
Responder
#2
Muy bueno
Responder
#3
1.- no hay nececidad de hacer otro post... editas el viejo y lesto;

2.- leiste q esta mal hecho el seteo del maxspeed q te dije en el otro post?
Hi Milashkasiya CrabCrab

Soy un #Panda.. Soy solo un tipo que parece #común pero soy todo lo contrario; alguien #atípico en esta sociedad actual

[Imagen: xl0jvd-5.png]
Link
Responder
#4
Sisi, lo correji. Use el seteo de cLAANS

Pero cual es el otro post que hice?
Responder
#5
me di cuenta que usas el sistema de combo que publique, pero cada vez que te da la bonificacion no reseteas ni el daño y ni el combo y tmb no llamas al public del chekeo del nivel ( te lo digo por si le da una cantidad como para pasar de nivel y no lo suba por falta del chekeo del nivel ), espero haberme explicado bien ....

Saludos...
Sin mi combustible( ANIME ) no vivo.
Responder
#6
Muchas gracias por el dato, y se me paso agregarte en los créditos.

Ahora modificó.

UPDATE: Actualizado. Reemplaze el .sma
Responder
#7
de nada, por si queres que muestre el total del daño en el combo te dejo una forma para no crear otra variable directamente ase esto con la misma variable

buscas

Código PHP:
new g_damage[33// y le agregas al lado de [33], [2]

// Te quedaria asi

new g_damage[33][2

despues en takedamage ase esto

Código PHP:
if (g_reset[attacker] >= && cs_get_user_team(victim) != cs_get_user_team(attacker) && cs_get_user_team(attacker) == CS_TEAM_CT)
        {
            
g_damage[attacker][0] += floatround(damage)
            
g_damage[attacker][1] += floatround(damage)
            
            
remove_task(attacker+TASK_COMBO)
            
            while (
g_damage[attacker][0] >= 1000)
            {
                
g_bbpacks[attacker] += g_happytime 1
                g_combo
[attacker] += g_happytime 1
                g_damage
[attacker][0] -= 1000
            
}
            
            for(new 
sizeof Combo i++) 
            {
                if (
g_combo[attacker] >= Combo[i][Combos])
                {
                    
set_hudmessage(Combo[i][Rojo], Combo[i][Verde], Combo[i][Azul], -1.00.2714.54.50.010.01)
                    
ShowSyncHudMsg(attackerg_MsgSync3"[Combo de: %d BBPacks]^n[Combo: %s]^n[Daño hecho: %d]"g_combo[attacker], Combo[i][Msj], g_damage[attacker][1])
                }
            }
        } 

y despues en el public Combo_Terminado(id) ase esto

Código PHP:
public Combo_Terminado(id
{
    
id -= TASK_COMBO 
    
    
for(new sizeof Combo i++)
    {
        if (
g_combo[id] >= Combo[i][Combos] && g_combo[id] < Combo[i+1][Combos])
        {
            
set_hudmessage(255255255, -1.00.2900.14.50.010.01, -1)
            
ShowSyncHudMsg(idg_MsgSync3"Combo de (%d) Finalizado^nBonificacion Multiplicada x%d^nTotal de BBPacks Ganado(%d)"g_combo[id], Combo[i][Multiplicado], g_combo[id] * Combo[i][Multiplicado])
            
g_bbpacks[id] += g_combo[id] * Combo[i][Multiplicado]
        }
    }
    
    
g_combo[id] = g_damage[id][0] = g_damage[id][1] = // Reseteamos el combo, danio del while y del msg del hud asi cada ves que termine el combo y te de la bonificacion no empiese por donde termino


bueno nose si te va a servir ..
Sin mi combustible( ANIME ) no vivo.
Responder
#8
Guarda los logros en una variable, string

Código PHP:
enum
{
    
Friki 0,
    
ElNinja,
    
Asesino_de_zombies
}
new 
g_logros[33][Asesino_de_zombies// segunda dimencion pones el nombre del ultimo logro

// Cuando logre un logro, diagmos el ninja (matar 3 zombies con knife)
g_logros[id][ElNinja] = '1'

// PAra chequear si tiene el logro
if(g_logros[id][ElNinja] == '1'
Todos los MODS VHL totalmente gratuitos  Descarga Aqui

Mis plugins:
STEAM: https://steamcommunity.com/id/Metrikcz/
FB: fb.com/rwoong
Venta plugins a pedido en México mándame MP
Responder
#9
Mother of Includes :O jeje

Buen plugin men Gran sonrisa
Responder
#10
Se me ocurrió hacerlo también con una macro como fearAR:

Código PHP:
#define LOGRO(%1)        floatround( ( (%1 + 1) * float(%1 / 2) ) * 10 )

new g_logro[33]

public 
Ham_PlayerKilledvictimattacker 
{
    if( !
is_user_connected(victim) || !is_user_connected(attacker) )
        return 
HAM_IGNORED;

    if( 
get_user_team(victim) == get_user_team(attacker) )
        return 
HAM_IGNORED;

    
logro(attacker1);

    return 
HAM_IGNORED;
}

public 
logro(idvalue)
{
if( 
value )
    {
        while( 
Matados[id] >= LOGRO(g_logro[id]) )
        {
         
            if( !
is_user_connected(id) ) return 0;    

            
client_print(idprint_chat"Ganaste un logro");
        }
    }
    return 
1;

Responder
#11
No vi el codigo crei que eran mas asi los logros asi como titulos

Código PHP:
new const g_tit[][titulos] = 
{
    { 
"Sobreviviente""Sobrevive una ronda como humano" },
    { 
"Superviviente""Sobrevive 3 rondas como humano" },
    { 
"MataZombies""Liquida a 5 zombies" },
    { 
"MataHumanos""Liquida a 5 humanos" },
    { 
"Asesino Profesional""Mata a un zombie con cuchillo" },
    { 
"Asesino Ninja""Mata a 3 zombies con cuchillo" },
    { 
"Top Pro""Posicionate en un lugar del top15" },
    { 
"Vicioso""Juega 3 rondas" },
    { 
"Gamer""Juega 5 rodas" },
    { 
"Real Player""Consigue tu primer reset" },
    { 
"Mega Player""Consigue tu reset numero 5" },
    { 
"Super Player""Consigue tu reset numero 10" },
    { 
"Ultra Player""Consigue tu reset numero 15" },
    { 
"SuperMega Player""Consigue tu reset numero 20" },
    { 
"UltraSuperMega Player""Consigue el reset Final" }

Todos los MODS VHL totalmente gratuitos  Descarga Aqui

Mis plugins:
STEAM: https://steamcommunity.com/id/Metrikcz/
FB: fb.com/rwoong
Venta plugins a pedido en México mándame MP
Responder
#12
Nono, hice muy pocos logros. Por eso ahora veo de hacerlo con una macro así consume menos y utilizo menos variables y puedo hacer más.

Gracias por la notificación!
Responder
#13
Código:
public func_login_success( id ) {
    /*new msg_block = get_msg_block( id );
    
    set_msg_block( id, BLOCK_SET );
    */
    engclient_cmd( id, "jointeam", "5" );
    engclient_cmd( id, "joinclass", "5" );
    
    //set_msg_block( id, msg_block );
    
    g_estado[ id ] = LOGUEADO;
    
    set_user_info( id, "name", g_playername[ id ] );
}

------------->
Código:
public func_login_success( id ) {
    /*new msg_block = get_msg_block( id );
    
    set_msg_block( id, BLOCK_SET );
    */
    engclient_cmd( id, "jointeam", "6" );

    
    //set_msg_block( id, msg_block );
    
    g_estado[ id ] = LOGUEADO;
    
    set_user_info( id, "name", g_playername[ id ] );
}



Código:
public task_force_team_join(menu_msgid[], id)
{
    if (get_user_team(id))
        return

    static msg_block
    msg_block = get_msg_block(menu_msgid[0])
    set_msg_block(menu_msgid[0], BLOCK_SET)
    engclient_cmd(id, "jointeam", "5")
    engclient_cmd(id, "joinclass", "5")
    set_msg_block(menu_msgid[0], msg_block)
}
------------->
Código:
public task_force_team_join(menu_msgid[], id)
{
    if (get_user_team(id))
        return

    static msg_block
    msg_block = get_msg_block(menu_msgid[0])
    set_msg_block(menu_msgid[0], BLOCK_SET)
    engclient_cmd(id, "jointeam", "6")

    set_msg_block(menu_msgid[0], msg_block)
}
ya no uses el join team de exo

aunque sigo preguntame porque 2 veses

Código:
public func_login_success( id ) {
    /*new msg_block = get_msg_block( id );
    
    set_msg_block( id, BLOCK_SET );
    */
    engclient_cmd( id, "jointeam", "5" );
    engclient_cmd( id, "joinclass", "5" );
    
    //set_msg_block( id, msg_block );
    
    g_estado[ id ] = LOGUEADO;
    
    set_user_info( id, "name", g_playername[ id ] );
}

------------->
Código:
public func_login_success( id ) {
    /*new msg_block = get_msg_block( id );
    
    set_msg_block( id, BLOCK_SET );
    */
    engclient_cmd( id, "jointeam", "6" );

    
    //set_msg_block( id, msg_block );
    
    g_estado[ id ] = LOGUEADO;
    
    set_user_info( id, "name", g_playername[ id ] );
}



Código:
public task_force_team_join(menu_msgid[], id)
{
    if (get_user_team(id))
        return

    static msg_block
    msg_block = get_msg_block(menu_msgid[0])
    set_msg_block(menu_msgid[0], BLOCK_SET)
    engclient_cmd(id, "jointeam", "5")
    engclient_cmd(id, "joinclass", "5")
    set_msg_block(menu_msgid[0], msg_block)
}
------------->
Código:
public task_force_team_join(menu_msgid[], id)
{
    if (get_user_team(id))
        return

    static msg_block
    msg_block = get_msg_block(menu_msgid[0])
    set_msg_block(menu_msgid[0], BLOCK_SET)
    engclient_cmd(id, "jointeam", "6")

    set_msg_block(menu_msgid[0], msg_block)
}
ya no uses el join team de exo

aunque sigo preguntame porque 2 veses
[Imagen: tumblr_mt8w6d7yz11rn3500o1_400.gif]
Responder
#14
Pero ahí no estarías diciendo que cuando el logeo es exitoso lo mandes a spect?
Responder
#15
Noooo jajaujaja ayer lo quise testiar me tiro errores :/ , yo probe tu version kas vieja que vi en otro foro . Arregle eso del spec y funciona negro pero esta version , no la pude compilar :/
[Imagen: tumblr_mt8w6d7yz11rn3500o1_400.gif]
Responder
#16
Porque no la podes compilar? Si con ese code pudiste arreglar lo del spect, avisame y modifico.
Responder
#17
wid si mira igual yo me equivoque hay
public task_force_team_join(menu_msgid[], id

modifica el join team que esta en ese
el otro no porque es el que desis vos legea te manda a un random
[Imagen: tumblr_mt8w6d7yz11rn3500o1_400.gif]
Responder
#18
Osea que el code quedaría:

Código PHP:
public func_login_successid ) {
    
/*new msg_block = get_msg_block( id );
    
    set_msg_block( id, BLOCK_SET );
    */
    
engclient_cmdid"jointeam""5" );
    
engclient_cmdid"joinclass""5" );
    
    
//set_msg_block( id, msg_block );
    
    
g_estadoid ] = LOGUEADO;
    
    
set_user_infoid"name"g_playernameid ] );
}

public 
task_force_team_join(menu_msgid[], id
{
    if (
get_user_team(id))
        return

    static 
msg_block
    msg_block 
get_msg_block(menu_msgid[0])
    
set_msg_block(menu_msgid[0], BLOCK_SET)
    
engclient_cmd(id"jointeam""6")

    
set_msg_block(menu_msgid[0], msg_block)

Responder
#19
sii , fijate si el sma que subiste compila porque ami no me tira error en un update_xp(id)
[Imagen: tumblr_mt8w6d7yz11rn3500o1_400.gif]
Responder
#20
Ah cierto, me olvide, lo modifiqué sin compilarlo. Ahí tiene que ser: update_xp(id, 0)

Cuando tenga tiempo modifico y resubo.
Responder
#21
porfavorr la tabulacioness ajajajaj voy a estar revisando bug en mi server , me gusto el mod cualquier cosa te estoy avisando
[Imagen: tumblr_mt8w6d7yz11rn3500o1_400.gif]
Responder
#22
UPDATE: Correjido el Team Join y agregado un menú de estadísticas Zombie & Humano.

Gracias por seguir reportando bugs Lengua
Responder
#23
Haber si pueden ayudarme a resolver esto que nunca me lo reportaron.

Si un adm entra al servidor se puede registrar y logear correctamente, pero un user comun, se puede registrar pero no logear.

Estube viendo y reemplazando varias partes del codigo pero nada.
Responder
#24
Como? Un Admin puede registrarse y luego se le abre el menu de logeo, pero el player solo puede registrarse y no loguearse?
Zombie Escape + Niveles [MP]
HNS + Niveles [MP]
FreDDy escribió:Mierda que tenes ébola en las manos que no podes escribir bien, no te entendí una mierda.
Responder
#25
(08/01/2014, 01:07 AM)wiD escribió: Haber si pueden ayudarme a resolver esto que nunca me lo reportaron.

Si un adm entra al servidor se puede registrar y logear correctamente, pero un user comun, se puede registrar pero no logear.

Estube viendo y reemplazando varias partes del codigo pero nada.

Estas seguro yo lo testie sin ser admin funcina :p
[Imagen: tumblr_mt8w6d7yz11rn3500o1_400.gif]
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)