Ir al contenido
  • Crear una cuenta

(#11 Fruta) Mapa fun_allinone


gianco

Posts recomendados

Venía a traer una sugerencia para este mapa, no se si sera al pedo pero estaría bueno que se limiten la cantidad de puertas que se abren, es decir, muchas veces pasa que se abre siempre la misma puerta, por ejemplo la puerta de cuchillo, y es aburrido estar usando siempre la misma.
Por eso hice este sencillo plugin, que lo que hace es limitar la cantidad de puertas para darle mas dinámica al mapa "fun_allinone".

El plugin tiene 2 cvars:
1- amx_fun_button <1|0> En 1 activa el plugin - En 0 lo contrario.
2- amx_fun_doors <puertas> <default: 5> Limita la cantidad de veces que se puede abrir "X" puerta.

#include <amxmodx>
#include <hamsandwich>
#include <colorchat>

#pragma semicolon 1

new const szPlugin[] = {"FunALLINONE Buttons", "1.0", "gianco"};
new const szPrefix[] = "^x04[COMUNIDAD]^x01";

enum _:BUTTON_DATA
{
	btnName[20],
	btnEntityTT,
	btnEntityCT,
	btnActivated,
	btnMax
};

new const buttons[][BUTTON_DATA] = 
{
	{"DETO", 166, 83, 0, 5},
	{"DEAGLE", 165, 79, 0, 5},
	{"AWP", 164, 77, 0, 5},
	{"M3", 238, 221, 0, 5},
	{"CUCHI", 237, 222, 0, 5},
	{"MACHINE", 236, 223, 0, 5}
};

new touchedButton;
new funAllInOne;
new cvar_plugon;
new cvar_doors;
new szMap[32];

public plugin_init() {
	
	register_plugin(szPlugin[0], szPlugin[1], szPlugin[2]);
	RegisterHam(Ham_Use, "func_button", "hamButtonTouched");
	register_logevent("logevent_round_start", 2, "1=Round_Start");
	
	cvar_plugon = register_cvar("amx_fun_button", "1");
	cvar_doors = register_cvar("amx_fun_doors", "5");
	
	getMap();
}

public getMap() {
	if(!get_pcvar_num(cvar_plugon))
		return;
		
	get_mapname(szMap, charsmax(szMap));
	if(equali(szMap, "fun_allinone"))
		funAllInOne = 1;
	else
		funAllInOne = 0;
}

public logevent_round_start() {
	if(!get_pcvar_num(cvar_plugon))
		return;
	if(!funAllInOne)
		return;
	touchedButton = 0;
}

public hamButtonTouched(iEntity, iPlayer) {
	if(!funAllInOne)
		return HAM_IGNORED;
	if(!is_user_alive(iPlayer))
		return HAM_IGNORED;
	if(!iEntity)
		return HAM_IGNORED;
	
	new doors = get_pcvar_num(cvar_doors);
	
	for(new i = 0; i < sizeof buttons; i++) {
		if(touchedButton == 0) {
			if(buttons[i][btnActivated] < doors) {
				if(iEntity == buttons[i][btnEntityCT] || iEntity == buttons[i][btnEntityTT]) {
					buttons[i][btnActivated]++;
					ColorChat(0, GREEN, "%s La puerta^x04 %s^x01 fue usada^x04 %d^x01 de^x04 %d^x01.", szPrefix, buttons[i][btnName], buttons[i][btnActivated], doors);
					touchedButton = 1;
					break;
				}
			}
			else {
				ColorChat(iPlayer, GREEN, "%s La puerta^x04 %s^x01 superó el limite de usos.", szPrefix, buttons[i][btnName]);
				return HAM_SUPERCEDE;
			}
		}
		else {
			ColorChat(iPlayer, GREEN, "%s Solo se puede utilizar un boton por ronda.", szPrefix);
			return HAM_SUPERCEDE;
		}
	}
	return HAM_IGNORED;
}

Algunas fotos de como funciona el plugin:

uno.png

dos.png

tres.png

cuatro.png

  • Me gusta 6
Enlace al comentario
Compartir en otros sitios

  • 2 semanas después...
  • shiobi bloqueó este tema
Invitado
Este tema se encuentra cerrado a nuevas respuestas.
  • Navegando Recientemente   0 miembros

    • No hay usuarios registrados viendo esta página
×
×
  • Crear nuevo...