Mensajes: 167
Temas: 15
Registro en: Oct 2015
Reputación:
6
15/03/2016, 06:23 PM
(Última modificación: 05/08/2016, 02:56 AM por SytOws2j22.)
Primero que todo buenas a todos, espero que esten bien y aqui vengo a traerles un pequeño plugin que decidi hacerlo por un pedido de un usuario y bueno aqui esta. Es sencillo pero a muchas personas les puede servir espero lo disfruten. los creditos a los que se lo merecen.
Código: DESCRIPCION
El plugin se encarga de simular el efecto
del juego cs go al decirte cuando estas dominando y cuando un jugador se venga de ti.
CVARS
dom_enable "1" Activar y desactivar plugin.
dom_maxkill "3" Maximo de jugadores a matar para dominar
dom_maxdeath "3" "Maximo de jugadores a morir para vengarse" ojo aqui en la cvar si cambian la cantidad, tener en cuenta que el numero de kill y death deben ser iguales si son 6 son 6 para los 2.
COMANDOS
.domtop ;para mostrar el top 10 de dominaciones y venganzas
/domtop ;para mostrar el top 10 de dominaciones y venganzas
PLUGIN
Author : SytOws2j
Nombre : Dominar CSGO + Guardado
Version 1.0 : Lanzamiento
Version 1.1 : añadido ScreenFade, removido include hamsandwich
Version 1.2 : Mejorado el conteo de kills y deaths.
Version 1.3 : Mejorado pequeños bugs, añadido Guardado adv_vault y top10 de dominaciones y venganzas
Version [1.3a] : Añadido Cvars por enums
Creditos:
Nkki por la idea del ScreenFade
Aprendiz9505 por la ayuda en cuanto a el conteo de kills y deaths
Santjcs por la ayuda en la mejor estructuracion del codigo. y el stock de screenfade
Destro por el codigo para mostrar el top en motd
Web Controller por la idea del top y guardado.
PD: deben de tener activado el adv_vault.amxx al principio. antes de activar el plugin de dominacion.
si no tienes la API del adv_vault de destro aqui esta el thread de su API
https://amxmodx-es.com/Thread-API-Advanced-Vault-System-1-5-12-06-2015
sound.zip (Tamaño: 132.01 KB / Descargas: 192)
Descargar AMXX / Dominar_CSGO.sma (Tamaño: 10.6 KB / Descargas: 318)
adv_vault.inc (Tamaño: 10.05 KB / Descargas: 94)
Mensajes: 7,178
Temas: 93
Registro en: Aug 2014
Reputación:
63
15/03/2016, 06:45 PM
(Última modificación: 15/03/2016, 06:53 PM por Hinami.)
Grachie por thú pluyin weey ...
esta algo simple agregale una pantalla roja un efecto qcio
Mensajes: 2,087
Temas: 3
Registro en: Jul 2015
Reputación:
14
15/03/2016, 06:47 PM
(Última modificación: 15/03/2016, 06:48 PM por Hernandez.)
Mensajes: 1,015
Temas: 42
Registro en: Feb 2016
Reputación:
13
Se supone que en el cs go tedice que estas dominando a NkkI (ejemplo) porque lo mataste a EL unas veces no porque mataste a una parte de el equipo, vale el esfuerzo.
Mensajes: 876
Temas: 74
Registro en: Sep 2015
Reputación:
11
Me parece bien. Como dice @NkkI un screenfade o algún efecto por el estilo no vendría mal.
Mensajes: 167
Temas: 15
Registro en: Oct 2015
Reputación:
6
(15/03/2016, 06:45 PM)NkkI escribió: Grachie por thú pluyin weey ...
esta algo simple agregale una pantalla roja un efecto qcio
bien buena idea en un rato lo actualizo
(15/03/2016, 06:47 PM)Hernandez escribió:
?
disculpa por dejar ese include suelto ahi. esque estaba usando el ham_killed, pero luego me cambie al deathmsg y se me olvido quitarlo
(15/03/2016, 08:44 PM)Exertency escribió: Se supone que en el cs go tedice que estas dominando a NkkI (ejemplo) porque lo mataste a EL unas veces no porque mataste a una parte de el equipo, vale el esfuerzo.
si yo entiendo lo que dices, de esa manera lo intente muchas veces pero no se la manera correcta de que se se le aumente la variable solo cuando mata a un mismo jugador x cantidad de veces, creeme que lo intente mucho, pero estare pendiente para actualizarlo.
PD: nose trabajar mucho con ese evento ni con el ham_killed, pero hago el esfuerzo en aprender. gracias
Mensajes: 150
Temas: 17
Registro en: Dec 2015
Reputación:
0
15/03/2016, 09:39 PM
(Última modificación: 15/03/2016, 09:48 PM por Aprendiz9505.)
Para lo que dice Exertency, puedes hacer una variable de dos dimensiones...
Código PHP: // Variable de dos dimensiones donde almacenas la ID del atacante/asesino y de la victima... new g_iKills[33][33];
/******************************/
//Así puedes regresar a 0 la variable...
// Por darte un ejemplo en client_disconnect... for(new i = 1; i <= gMaxPlayers; i++) { g_iKills[i][id] = 0; g_iKills[id][i] = 0; } // Y otro en el evento de kill for(new i = 1; i <= gMaxPlayers; i++) g_iKills[victim][i] = 0;
/******************************/
// Así sumas la variable: g_iKills[attacker][victim] ++;
//PD: gMaxPlayers es una variable cacheada con la native get_maxplayers()
"No cualquier mono entra en calma si no le dan su banana".
Mensajes: 167
Temas: 15
Registro en: Oct 2015
Reputación:
6
(15/03/2016, 09:39 PM)Aprendiz9505 escribió: Para lo que dice Exertency, puedes hacer una variable de dos dimensiones...
Código PHP: //Así puedes regresar a 0 la variable...
// Por darte un ejemplo en client_disconnect... for(new i = 1; i <= gMaxPlayers; i++) { g_iKills[i][id] = 0; g_iKills[id][i] = 0; } // Y otro en el evento de kill for(new i = 1; i <= gMaxPlayers; i++) g_iKills[victim][i] = 0;
/******************************/
// Así sumas la variable: g_iKills[attacker][victim] ++;
//PD: gMaxPlayers es una variable cacheada con la native get_maxplayers()
lo voy a intentar y ahora despues actualizo el plugin gracias.
PD: lo intente tambien con un array de dos dimensiones pero seguro no lo implemente correctamente.
Mensajes: 4,451
Temas: 45
Registro en: Jan 2014
Reputación:
24
15/03/2016, 10:40 PM
(Última modificación: 15/03/2016, 10:43 PM por FreDDy.)
Digoooooooooooooooooooo... pero esto no es exclusivo del csgo, esto lo tenes en el css y cs, entonces no se que lo hace un efecto "parecido" al csgo, peroooooo... mas allá de eso se ve bueno, para la gente que busca este tipo de plugins seguro les sirve.
PD: podrías sacarle el [] porque es horrible así, es mejor "Estás dominando a la mama del chileno"
Guud Yod.
Mensajes: 167
Temas: 15
Registro en: Oct 2015
Reputación:
6
(15/03/2016, 10:40 PM)FreDDy escribió: Digoooooooooooooooooooo... pero esto no es exclusivo del csgo, esto lo tenes en el css y cs, entonces no se que lo hace un efecto "parecido" al csgo, peroooooo... mas allá de eso se ve bueno, para la gente que busca este tipo de plugins seguro les sirve.
PD: podrías sacarle el [] porque es horrible así, es mejor "Estás dominando a la mama del chileno"
Guud Yod.
jejeje gracias le quitare las [] para que se vea mas bonito entocnes, y en cuanto a lo de que no es esclusivo del csgo. la verdad que, no sabia que no estaba solo en cs go. pero, como el csgo es el boom de ahorita en cuanto al cs. la gente lo ve mas en ese juego pss.
Mensajes: 3,466
Temas: 18
Registro en: Oct 2013
Reputación:
54
Usa synchud.
Cachea maxplayers.
Hay bastante codigo redundante, dale un buen ojo y revisa bien que estas haciendo en algunas partes.
No se si estoy confundiendo el Domination real, a tu adaptacion, partiendo por esto:
Código PHP: for (new i = 0; i< get_maxplayers() ; i++) { g_death[attacker][i] = 1; }
?
Mensajes: 167
Temas: 15
Registro en: Oct 2015
Reputación:
6
15/03/2016, 11:11 PM
(Última modificación: 15/03/2016, 11:19 PM por SytOws2j22.)
(15/03/2016, 10:59 PM)meTaLiCroSS escribió: Usa synchud.
Cachea maxplayers.
Hay bastante codigo redundante, dale un buen ojo y revisa bien que estas haciendo en algunas partes.
No se si estoy confundiendo el Domination real, a tu adaptacion, partiendo por esto:
Código PHP: for (new i = 0; i< get_maxplayers() ; i++) { g_death[attacker][i] = 1; }
? Bueno la verdad, sinceramente no te voy a mentir en lo de que hay codigo redundando. pero la verdad no se trabajar mucho con este tipo de eventos , ni las fordward de fullpack. el ham_killed etc.. pero me gio un poco con mi poca logica que tengo segun en esa parte que me preguntas, segun yo. ahi estoy haciendo que al yo matar a un jugador con el for recorra todos los jugadores y al que murio le setee esa variable en 1 para luego, poder entrar en la condicion de que si te mata, diga que se vengo. pero ahora que lo veo mejor, no estoy del todo seguro si esta bien puesto ese pedazo de codigo. tal vez solo lo tengo que poner g_death[attacker][victim] = 1; de todas formas voy a probar y corrigeme si estoy equivocado.
PD: tenias razon en eso. ya lo arregle ahora detecta mejor. si te matan. se te setean los frags a 0 pero solo para el que te mato, a los demas sigues dominandolos hasta que te maten. fix gracias por tu critica que a la vez era un bug que tenia. jeje
Mensajes: 876
Temas: 74
Registro en: Sep 2015
Reputación:
11
Podes poner un TOP de dominaciones con un guardado o algo mas para que quede mas completo.
Una pregunta. Si se hacen 2 dominaciones a la ves que pasaría?
Mensajes: 1,836
Temas: 66
Registro en: Oct 2013
(15/03/2016, 11:13 PM)Web Controller escribió: Podes poner un TOP de dominaciones con un guardado o algo mas para que quede mas completo.
Una pregunta. Si se hacen 2 dominaciones a la ves que pasaría?
En la misma milesima de segundo? ni empedo
Mensajes: 3,466
Temas: 18
Registro en: Oct 2013
Reputación:
54
(15/03/2016, 11:11 PM)SytOws2j22 escribió: (15/03/2016, 10:59 PM)meTaLiCroSS escribió: Usa synchud.
Cachea maxplayers.
Hay bastante codigo redundante, dale un buen ojo y revisa bien que estas haciendo en algunas partes.
No se si estoy confundiendo el Domination real, a tu adaptacion, partiendo por esto:
Código PHP: for (new i = 0; i< get_maxplayers() ; i++) { g_death[attacker][i] = 1; }
? Bueno la verdad, sinceramente no te voy a mentir en lo de que hay codigo redundando. pero la verdad no se trabajar mucho con este tipo de eventos , ni las fordward de fullpack. el ham_killed etc.. pero me gio un poco con mi poca logica que tengo segun en esa parte que me preguntas, segun yo. ahi estoy haciendo que al yo matar a un jugador con el for recorra todos los jugadores y al que murio le setee esa variable en 1 para luego, poder entrar en la condicion de que si te mata, diga que se vengo. pero ahora que lo veo mejor, no estoy del todo seguro si esta bien puesto ese pedazo de codigo. tal vez solo lo tengo que poner g_death[attacker][victim] = 1; de todas formas voy a probar y corrigeme si estoy equivocado.
Expresa tus ideas en palabras. Luego las abstraes al código. Hay que planificar antes, etapa de diseño
Mensajes: 224
Temas: 3
Registro en: Aug 2015
Reputación:
9
Linda idea
Asi seria como en el csgo si no me equivoco:
Código PHP: // <3
#include < amxmodx > #include < ColorChat >
new g_iKills[ 33 ][ 33 ]; new g_iDeaths[ 33 ][ 33 ]; new g_szName[ 33 ][ 32 ];
new g_ScreenFade;
new const PREFIX[ ] = "Alliedmodders";
public plugin_init( ) { register_event( "DeathMsg", "eDeathMsg", "a" ); g_ScreenFade = get_user_msgid( "ScreenFade" ); }
public client_putinserver( id ) { arrayset( g_iKills[ id ], 0, sizeof( g_iKills[ ] ) ); arrayset( g_iDeaths[ id ], 0, sizeof( g_iDeaths[ ] ) ); }
public client_disconnect( id ) { arrayset( g_iKills[ id ], 0, sizeof( g_iKills[ ] ) ); arrayset( g_iDeaths[ id ], 0, sizeof( g_iDeaths[ ] ) ); }
public eDeathMsg( ) { new Attacker, Victim; Attacker = read_data( 1 ); Victim = read_data( 2 ); if ( Attacker == Victim ) { return; } g_iKills[ Attacker ][ Victim ] ++; g_iDeaths[ Victim ][ Attacker ] ++; get_user_name( Attacker, g_szName[ Attacker ], charsmax( g_szName[ ] ) ); get_user_name( Victim, g_szName[ Victim ], charsmax( g_szName[ ] ) ); if ( g_iDeaths[ Attacker ][ Victim ] >= 3 ) { set_hudmessage( 255, 0, 0, 0.27, 0.32, 1, 6.0, 12.0 ); show_hudmessage( Attacker, "Te has vengado de %s", g_szName[ Victim ] ); ScreenFade( Attacker, 255, 0, 0, 150 ); set_hudmessage( 255, 0, 0, 0.27, 0.32, 1, 6.0, 12.0 ); show_hudmessage( Victim, "%s Se ha vengado", g_szName[ Attacker ] ); ScreenFade( Victim, 255, 0, 0, 150 ); ColorChat( 0, RED, "[ %s ]^4 %s^1 Se ha vengado de^4 %s^1!", PREFIX, g_szName[ Attacker ], g_szName[ Victim ] ); g_iKills[ Victim ][ Attacker ] = 0; g_iDeaths[ Attacker ][ Victim ] = 0; } else if ( g_iKills[ Attacker ][ Victim ] == 3 ) { set_hudmessage( 0, 255, 0, 0.27, 0.32, 1, 6.0, 12.0 ); show_hudmessage( Attacker, "Estas dominando a %s", g_szName[ Victim ] ); ScreenFade( Attacker, 0, 255, 0, 150 ); set_hudmessage( 255, 0, 0, 0.27, 0.32, 1, 6.0, 12.0 ); show_hudmessage( Victim, "%s Te esta dominando", g_szName[ Attacker ] ); ScreenFade( Victim, 255, 0, 0, 150 ); ColorChat( 0, RED, "[ %s ]^4 %s^1 Esta dominando a^4 %s^1!", PREFIX, g_szName[ Attacker ], g_szName[ Victim ] ); } else if ( g_iKills[ Attacker ][ Victim ] > 3 ) { set_hudmessage( 0, 255, 0, 0.27, 0.32, 1, 6.0, 12.0 ); show_hudmessage( Attacker, "Sigues dominando a %s", g_szName[ Victim ] ); ScreenFade( Attacker, 0, 255, 0, 150 ); set_hudmessage( 255, 0, 0, 0.27, 0.32, 1, 6.0, 12.0 ); show_hudmessage( Victim, "%s Te sigue dominando", g_szName[ Attacker ] ); ScreenFade( Victim, 255, 0, 0, 150 ); ColorChat( 0, RED, "[ %s ]^4 %s^1 Sigue dominando a^4 %s^1!", PREFIX, g_szName[ Attacker ], g_szName[ Victim ] ); } }
stock ScreenFade( id, Red, Green, Blue, Alpha ) { message_begin( MSG_ONE, g_ScreenFade, { 0, 0, 0 }, id ); write_short( 1 << 12 ); write_short( 1 << 12 ); write_short( 1 << 12 ); write_byte( Red ); write_byte( Green ); write_byte( Blue ); write_byte( Alpha ); message_end( ); }
Hide&Seek
Mensajes: 167
Temas: 15
Registro en: Oct 2015
Reputación:
6
15/03/2016, 11:23 PM
(Última modificación: 15/03/2016, 11:33 PM por SytOws2j22.)
(15/03/2016, 11:13 PM)Web Controller escribió: Podes poner un TOP de dominaciones con un guardado o algo mas para que quede mas completo.
Una pregunta. Si se hacen 2 dominaciones a la ves que pasaría?
oye no es mala idea, jejejeje pronto hare otra actualizacion entonces.jejeje, y en cuanto a lo de tu duda, simplemente no pasa nada por 2 razones, 1 es imposible hacer 2 dominaciones en el mismo instante y 2 como no le agrege canales al hud, automaticamente desapareceria el hud actual y se pone el otro.
(15/03/2016, 11:20 PM)Santjcs escribió: Linda idea
Asi seria como en el csgo si no me equivoco:
Código PHP: // <3
#include < amxmodx > #include < ColorChat >
new g_iKills[ 33 ][ 33 ]; new g_iDeaths[ 33 ][ 33 ]; new g_szName[ 33 ][ 32 ];
new g_ScreenFade;
new const PREFIX[ ] = "Alliedmodders";
public plugin_init( ) { register_event( "DeathMsg", "eDeathMsg", "a" ); g_ScreenFade = get_user_msgid( "ScreenFade" ); }
public client_putinserver( id ) { arrayset( g_iKills[ id ], 0, sizeof( g_iKills[ ] ) ); arrayset( g_iDeaths[ id ], 0, sizeof( g_iDeaths[ ] ) ); }
public client_disconnect( id ) { arrayset( g_iKills[ id ], 0, sizeof( g_iKills[ ] ) ); arrayset( g_iDeaths[ id ], 0, sizeof( g_iDeaths[ ] ) ); }
public eDeathMsg( ) { new Attacker, Victim; Attacker = read_data( 1 ); Victim = read_data( 2 ); if ( Attacker == Victim ) { return; } g_iKills[ Attacker ][ Victim ] ++; g_iDeaths[ Victim ][ Attacker ] ++; get_user_name( Attacker, g_szName[ Attacker ], charsmax( g_szName[ ] ) ); get_user_name( Victim, g_szName[ Victim ], charsmax( g_szName[ ] ) ); if ( g_iDeaths[ Attacker ][ Victim ] >= 3 ) { set_hudmessage( 255, 0, 0, 0.27, 0.32, 1, 6.0, 12.0 ); show_hudmessage( Attacker, "Te has vengado de %s", g_szName[ Victim ] ); ScreenFade( Attacker, 255, 0, 0, 150 ); set_hudmessage( 255, 0, 0, 0.27, 0.32, 1, 6.0, 12.0 ); show_hudmessage( Victim, "%s Se ha vengado", g_szName[ Attacker ] ); ScreenFade( Victim, 255, 0, 0, 150 ); ColorChat( 0, RED, "[ %s ]^4 %s^1 Se ha vengado de^4 %s^1!", PREFIX, g_szName[ Attacker ], g_szName[ Victim ] ); g_iKills[ Victim ][ Attacker ] = 0; g_iDeaths[ Attacker ][ Victim ] = 0; } else if ( g_iKills[ Attacker ][ Victim ] == 3 ) { set_hudmessage( 0, 255, 0, 0.27, 0.32, 1, 6.0, 12.0 ); show_hudmessage( Attacker, "Estas dominando a %s", g_szName[ Victim ] ); ScreenFade( Attacker, 0, 255, 0, 150 ); set_hudmessage( 255, 0, 0, 0.27, 0.32, 1, 6.0, 12.0 ); show_hudmessage( Victim, "%s Te esta dominando", g_szName[ Attacker ] ); ScreenFade( Victim, 255, 0, 0, 150 ); ColorChat( 0, RED, "[ %s ]^4 %s^1 Esta dominando a^4 %s^1!", PREFIX, g_szName[ Attacker ], g_szName[ Victim ] ); } else if ( g_iKills[ Attacker ][ Victim ] > 3 ) { set_hudmessage( 0, 255, 0, 0.27, 0.32, 1, 6.0, 12.0 ); show_hudmessage( Attacker, "Sigues dominando a %s", g_szName[ Victim ] ); ScreenFade( Attacker, 0, 255, 0, 150 ); set_hudmessage( 255, 0, 0, 0.27, 0.32, 1, 6.0, 12.0 ); show_hudmessage( Victim, "%s Te sigue dominando", g_szName[ Attacker ] ); ScreenFade( Victim, 255, 0, 0, 150 ); ColorChat( 0, RED, "[ %s ]^4 %s^1 Sigue dominando a^4 %s^1!", PREFIX, g_szName[ Attacker ], g_szName[ Victim ] ); } }
stock ScreenFade( id, Red, Green, Blue, Alpha ) { message_begin( MSG_ONE, g_ScreenFade, { 0, 0, 0 }, id ); write_short( 1 << 12 ); write_short( 1 << 12 ); write_short( 1 << 12 ); write_byte( Red ); write_byte( Green ); write_byte( Blue ); write_byte( Alpha ); message_end( ); }
Código: oye pero no me regañes :c jaja si esta bn, gracias por mejorar mi codigo :C lo actualizo ahora.[code]
Mensajes: 8
Temas: 3
Registro en: Jul 2015
Reputación:
0
lo probe y esta como debe muy bien por el trabajo chicos
Mensajes: 2
Temas: 0
Registro en: Feb 2017
Reputación:
0
Hola Primero que Nada Me GUSTA tu plugin (Y) Pero tengo un Problema ... Como Lo Instalo ya lo e visto en Otros Servidores Pero Como Lo Instalo?
Mensajes: 6
Temas: 3
Registro en: Feb 2017
Reputación:
0
Muy buen aporte lo use algunas semanas y funciono bastante bien mas adelante lo seguiré usando se agradece
|