←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

Prosba o Wytlumaczenie

  • +
  • -
KISIELkubabbvx's Photo KISIELkubabbvx 26.04.2021

Witajcie, otoż posiadam owe questy na serwer, ( https://amxx.pl/topi...rsja-4-update/ 
mianowicie: chodzi mi o  wytłumaczenie, jak dodac nazwy kolorów dla tego publica

Spoiler


Aby wygladało to mniejwiecej tak

Kolor: Niebieski
Kolor: Zielony
Kolor Czerwony
itd po dodaniu nowych Kolorów RGB.
 

Quote

  • +
  • -
Alelluja's Photo Alelluja 26.04.2021

Prosta sprawa możesz to zrobić na dwa sposoby z użyciem pętli którą tam masz i bez niej.

 

Z pętlą będzie wyglądało to mniej więcej tak:

public Menu_Hud(id)
{
	if(!is_user_connected(id))
	{
		return PLUGIN_HANDLED;
	}

	new const menu_items[][] =
	{
		"Niebieski",
		"Zielony",
		"Czerwony"
	}

	new menu = menu_create("\yUstawienia \rHUD \yMisji:", "Menu_Hud_Handle"),

		menu_data[100];

	menu_additem(menu, "HUD: \rWylacz");

	for(new i = 0; i < sizeof(menu_items); i++)
	{
		formatex(menu_data, charsmax(menu_data), "Kolor: \r%s", menu_items[i]);

		menu_additem(menu, menu_data);
	}

	menu_display(id, menu);

}

A bez pętli tak:

public Menu_Hud(id)
{
	if(!is_user_connected(id))
	{
		return PLUGIN_HANDLED;
	}

	new menu = menu_create("\yUstawienia \rHUD \yMisji:", "Menu_Hud_Handle");

	menu_additem(menu, "HUD: \rWylacz");
	menu_additem(menu, "Kolor: Niebieski");
	menu_additem(menu, "Kolor: Zielony");
	menu_additem(menu, "Kolor: Czerwony");

	menu_display(id, menu);

}

Zdecyduj sam co wolisz.

 

Quote

  • +
  • -
KoRrNiK's Photo KoRrNiK 26.04.2021

Nie jestem pewien czy o to Ci chodziło dokładnie ale na szybko coś takiego napisałem więc możesz przekopiować z tego kodu.

#include <amxmodx>

#if !defined client_print_color
	#error THIS VERSION IS NOT SUPPORTED! PLEASE USE AMXX 1.8.3 OR 1.9!
#endif

#pragma semicolon 	1

new const PLUGIN[] 		= 	"Hud Settings";
new const VERSION[] 		= 	"v1.0";
new const AUTHOR[] 		= 	"KoRrNiK - amxx.pl/user/69614-korrnik/";

enum _:enumHuds { COLOR_RED, COLOR_GREEN, COLOR_BLUE, bool:HUD_DISABLE };
new userHud[33][enumHuds];

public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR);
	
	register_clcmd("say /hud", "menuHudSettings");
}

public menuHudSettings(id){
	
	if(!is_user_connected(id)) return;
	
	new menu = menu_create("Ustawienia HUD", "menuHudSettings_2");
	
	menu_additem(menu, fmt("Hud: %s^n", userHud[id][HUD_DISABLE] ? "\yWlaczony" : "\dWylaczony"));
	
	menu_additem(menu, fmt("Kolor Czerwony:\r %d", userHud[id][COLOR_RED]));
	menu_additem(menu, fmt("Kolor Zielony:\r %d", userHud[id][COLOR_GREEN]));
	menu_additem(menu, fmt("Kolor Niebieski:\r %d", userHud[id][COLOR_BLUE]));
	
	menu_display(id, menu, 0);
		
}

public menuHudSettings_2(id, menu, item){
	if(item != MENU_EXIT){
		switch(item){
			case 0:{
				userHud[id][HUD_DISABLE] =! userHud[id][HUD_DISABLE];
				client_print_color(id, id, "^4[*]^1 Hud zostal:^3 %s", userHud[id][HUD_DISABLE] ? "Wlaczony" : "Wylaczony");
			}
			case 1: if ((userHud[id][COLOR_RED] += 15) > 255) userHud[id][COLOR_RED] = 0;
			case 2: if ((userHud[id][COLOR_GREEN] += 15) > 255) userHud[id][COLOR_GREEN] = 0;
			case 3: if ((userHud[id][COLOR_BLUE] += 15) > 255) userHud[id][COLOR_BLUE] = 0;
			
		}
		menuHudSettings(id);
	} else menu_destroy(menu);
}
Quote