Dead Bomb
#1
Este plugin me llevo mas tiempo del que pensé Genius.

Pero es bastante sencillo, pasa que fui haciendo los stocks y testeando todo, por lo que pude testear funciona bien.

Lo hice por este pedido: [ Matar si no plantan ]

Dead Bomb
(v1.4)


[Imagen: 1549ds0.png]

Descripción:

Basicamente se trata de forzar a los equipos a cumplir sus objetivos respecto al C4:

Terroristas:
  • Si dropearon la bomba, tiene un determinado tiempo para recuperarla. Luego pasado este tiempo, los jugadores recibiran una penalización cada un intervalo de tiempo. (Todo modificable bajo CVARS).
  • Si no logran plantar la bomba antes que se termine la ronda, todos los jugadores morirán.
  • Si la bomba fue plantada y no logran defenderla, todos los jugadores serán asesinados.

Contra-Terroristas:
  • Si la bomba fue plantada y no logran desactivarla, todos los jugadores serán asesinados.

Servers usando este plugin:

[ Game Tracker ]

Librerías:
<amxmodx>
<amxmisc>
<hamsandwich>
<colorchat>


CVARS:
  • dead_bomb_enabled: Cualquier valor distinto de 0, activa el plugin. (Por defecto: "1").
  • dead_bomb_map: Cualquier valor distinto de 0, activa la verificación por mapa. (Por defecto "1").
    Nota: Si la desactivamos dentro del mapa no funcionara, hay que volver a cambiarlo. (Exceptuando que estén utilizando la [ API ]).
  • dead_bomb_map_prefix: Cualquier valor distinto de 0, activa el soporte por defecto de los mapas con prefijo "de_". (Por defecto "1").
  • dead_bomb_slap: Cualquier valor distinto de 0, activa la penalización por slap. (Por defecto: "1").
  • dead_bomb_planted: Cualquier valor distinto de 0, activa la penalización por no plantar el C4. (Por defecto: "1").
  • dead_bomb_explode: Cualquier valor distinto de 0, activa la penalización por no desactivar el C4. (Por defecto: "1").
  • dead_bomb_defused: Cualquier valor distinto de 0, activa la penalización por no defender el C4. (Por defecto: "1").
  • dead_bomb_slap_time: Modifica el tiempo que tienen para recuperar C4 antes de empezar a perder vida. (Por defecto: "30").
  • dead_bomb_slap_dmg: Modifica el daño por slap. (Por defecto: "5").
  • dead_bomb_slap_interval: Modifica el tiempo de intervalo para el siguiente slap (si no recuperan la bomba). (Por defecto: "10").

Instalación:

- Copiamos los includes (ver librerias) en la carpeta por defecto:

../cstrike/addons/amxmodx/scripting/includes

- Copiamos el "Dead_Bomb.sma" en la carpeta por defecto:

../cstrike/addons/amxmodx/scripting

Y compilamos normalmente.

Configuración de Dead_Bomb_Maps.ini: ( Desarrole una API para configurarlo dentro del Servidor. Link: [ Acá ] )

- La primera vez que ejecutamos el plugin en el servidor, se crea automáticamente el archivo "Dead_Bomb_Maps.ini" dentro de el directorio de configuración por defecto: "...\cstrike\addons\amxmodx\configs".

- Dentro del archivo nos encontramos unas pocas instrucciones. Y ahi debemos poner los nombres de mapas que queremos que ejecuten Dead Bomb.

- Para agregar el mapa, simplemente ponemos el nombre exacto del mapa.
- Podemos usar ";" delante del nombre para inhabilitar un mapa que hallamos agregado sin necesidad de borrarlo.

[Imagen: 2w7fgnp.png]

[Imagen: xdtw4.png]

Créditos:

v1.1 -
  • VEN - Por su hermoso FAQ de todos los eventos de la bomba en Counter-Strike. Link: [ Acá ]
  • Federicomb - Me daba paja instalar el Photoshop y le pedi que le saque el fondo a la imagen de la Bomba en el top del thread. (Grande Fede) Victory

v1.2 -
  • Mario AR. - Por su hermoso Tutorial de como funciona el chatcolor, que me aclaro un par de dudas respecto a la native "vformat". Link: [ Acá ]

v1.3 -
  • Jaysen3k - Reporto 2 Bugs esenciales: Bug en mapas no aptos para el plugin, bug si los TT lograban la victoria por asesinar al equipo enemigo morían igual al no plantar la bomba.
  • Mario AR. - Por su AMXX Troll, que me sirvió para guiarme en como crear un ini si este no existe.

v1.3b -
  • Mario AR. - Por revisar el code y remarcarme un par de puntos.

Changelog:

Código PHP:
v1.0 -

*
Publicación del Plugin.

v1.1 -

*
Plugin totalmente recodeado.
*
Muchas funciones añadidas.

v1.2 -

*
Eliminado todos los formatex.
*
Mejorado stock "print_message".
*
Agregado 3 CVARS para configurar la penalizacion por "dead_bomb_slap".
*
Codigo optimizado.
*
Pequeños bugs arreglados.

v1.3 -

*
Agregado archivo de configuracion de Mapascualquier mapa que se encuentre dentro del "Dead_Bomb_Maps.ini" es apto para este plugin.
*
Agregado verificacion de mapaSi el mapa no contiene "de_" como prefix o no se encuentra dentro del archivo de configuraciónel plugin no se ejecutara.
*
Agregado CVAR "dead_bomb_map"si esta activa verifica que el mapa sea apto para este plugin.
*
Arreglado bug si los TT lograban la victoria por asesinar al equipo enemigo morian igual al no plantar la bomba.

v1.3b -

*
Varios stocks pasados a funciones privadas.
*
Código optimizado.

v1.4 -

*
Bugs arreglados.
*
Agregado soporte para "Dead Bomb API Config".
*
Agregado CVAR "dead_bomb_map_prefix"si esta activa todos los mapas con prefijo "de_" son soportados por defecto

Oye @hud, y cual es la versión 1.0??:
Esta: (No se las recomiendo). Roflmao

Código PHP:
#include <amxmodx> 
#include <cstrike>

#define PLUGIN "Dead Bomb"
#define VERSION "1.0"
#define AUTHOR "AMXX-ES"

new MaxPlayers;

public 
plugin_init()

    
register_plugin("PLUGIN","VERSION","AUTHOR");
    
    
//C4 Events
    
register_event("SendAudio""C4planted""a""2&%!MRAD_BOMBPL"); 
    
register_event("SendAudio""C4defused""a""2&%!MRAD_BOMBDEF"); 
    
register_event("TextMsg""C4explode""a""2&#Target_B");
    
    
MaxPlayers get_maxplayers();
}

public 
C4planted()
{
    for( new 
1<= MaxPlayersi++ )
    {
        if( !
is_user_connected(i) )
            continue;
    
        switch( 
cs_get_user_team(i) )
        {
            case 
CS_TEAM_T client_print(iprint_chat"Si desactivan el C4, date por muerto!");
            
            case 
CS_TEAM_CT client_print(iprint_chat"Si no logran desactivar el C4 Moriras!");
        }
    }
}

public 
C4defused()
{    
    for( new 
1<= MaxPlayersi++ )
    {
        if( !
is_user_connected(i) )
            continue;
    
        if( 
cs_get_user_team(i) == CS_TEAM_T && is_user_alive(i) )
        {
            
user_silentkill(i);
            
            
client_print(iprint_chat"No lograste defender el C4!");
        }
    }
}

public 
C4explode()
{    
    for( new 
1<= MaxPlayersi++ )
    {
        if( !
is_user_connected(i) )
            continue;
    
        if( 
cs_get_user_team(i) == CS_TEAM_CT && is_user_alive(i) )
        {
            
user_silentkill(i);
            
            
client_print(iprint_chat"No lograste desactivar el C4!");
        }
    }


Sientanse libres de aportar cualquier sugerencia, optimización, BUGS y errores.

Espero que les sea de utilidad y le sirva a mas de uno!.

Saludos!!!


Archivos adjuntos
.sma   Descargar AMXX / Dead_Bomb.sma (Tamaño: 12.07 KB / Descargas: 425)
.inc   colorchat.inc (Tamaño: 2.48 KB / Descargas: 152)
Responder
#2
Excelente plugin!

Un par de cositas...

Agrega que si tiene también // al inicio de la línea omita ese "mapa" Nothingdohere
[Imagen: b_350_20_323957_202743_f19a15_111111.png]

Estudia siempre; el tiempo es oro, lo material se puede recuperar pero el tiempo no se puede recuperar.
(02/10/2016, 05:05 PM)meTaLiCroSS escribió: Siempre me gusta ayudar cuando alguien esta interesado realmente en ver que esta programando.
(08/08/2019, 05:32 PM)meTaLiCroSS escribió: grax x el dato cr4ck


Mis aportes

PLUGINS
MAPAS
Menú LANG [SF] Sistema de Frags
Say System (Admin Prefix)
Responder
#3
buen aporte Cutecry
Aprender: Necesaria unión entre el Querer, el Saber y el Poder
Responder
#4
(24/09/2016, 09:43 PM)totopizza escribió: Excelente plugin!

Un par de cositas...

Agrega que si tiene también // al inicio de la línea omita ese "mapa" Nothingdohere

Lo iba a hacer, pero me parecio al pedo agregar 2 chequeos mas simplemente para hacer lo que ya se puede hacer con ";".

Gracias por la sugerencia igual toto!.

(24/09/2016, 09:45 PM)davidvargas27362 escribió: buen aporte Cutecry

Gracias!.
Responder
#5
Excelente plugin Gran sonrisa.
Responder
#6
Buen Plugin. Gran sonrisa
Hello People!!!
Responder
#7
Ahora sí, a probarExcitedeyes
•What comes easy, won't last. What lasts, won't come easy•
Responder
#8
Y el HUD? :c
Responder
#9
Actualización! v1.3b

*Varios stocks pasados a funciones privadas.
*Código optimizado.


[ stock o private ]

Don Arkshine me respondió una duda. Bueno, les traigo la v1.3b, para optimizar un poco mas. Nothingdohere

Gracias a @Mario AR. también por revisar el code y remarcarmelo.
Responder
#10
@hud , podrias crear un reload que recarge la lista de los mapas
otra Sugerencia: Crear un menu que salga la lista de los mapas del archivo .ini y por ejemplo esta fy_pool_day en primer lugar y si la toco salga un sub-menu diciendo si quiero deshabilitar el Death Bomb en ese mapa o no va no se es una sugerencia si te gusta la idea lo puedes hacer y si no no
Buen plugin
Responder
#11
(25/09/2016, 12:43 AM)Niper.-. escribió: @hud , podrias crear un reload que recarge la lista de los mapas
otra Sugerencia: Crear un menu que salga la lista de los mapas del archivo .ini y por ejemplo esta fy_pool_day en primer lugar y si la toco salga un sub-menu diciendo si quiero deshabilitar el Death Bomb en ese mapa o no va no se es una sugerencia si te gusta la idea lo puedes hacer y si no no
Buen plugin

Para hacer eso él debería remover la función *set_fail_state* para que se pueda configurar en cualquier mapa y/o recargar la configuración. Esa función hace detener el plugin en cuestión sin la posibilidad de utilizarlo hasta cambiar de mapa o reiniciar el servidor.

En ese caso, él tendría que hacer unos cuantos cambios para que exista la posibilidad de cambios in-game sin problemas.
Believe, be yourself and don't hold on to just one dream ❤

https://github.com/FEDERICOMB96
Responder
#12
No necesariamente, podria hacer un plugin aparte, sin necesidad de tocar el codigo actual, algo asi como una API para este plugin.

Que haga exactamente lo que Niper quiere, el problema es que ya le dedique el tiempo suficiente al mismo como para ponerme a codear una API..

Pero posiblemente lo haga, por hoy ya tuve suficiente. En si la base de la API ya la tengo hecha indirectamente. Tal vez.. si los astros se alinean y metal revisa el plugin.. la haga mañana. Nothingdohere

Lo que te aseguro es que en algun momento voy a hacer tu pedido.. en forma de API, y lo subo a este mismo thread.

Saludos!.
Responder
#13
Actualización! v1.4

*Bugs arreglados.
*Agregado soporte para "Dead Bomb API Config".
*Agregado CVAR "dead_bomb_map_prefix", si esta activa todos los mapas con prefijo "de_" son soportados por defecto.


Probablemente si todo esta bien, y no se me paso ningung bug, esta sea la ultima actualizacion. Yao ming
Ahora publico la API que realice.

Saludos!.
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)