Skocz do zawartości

  • Zaloguj korzystając z Facebooka Zaloguj korzystając z Twittera Zaloguj przez Steam Zaloguj poprzez Google      Logowanie »   
  • Rejestracja

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.

  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

Wyszczególnienie funkcji z pluginu sma


  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
2 odpowiedzi w tym temacie

#1 misiakool12

    Pomocny

  • Użytkownik

Reputacja: 0
zer0.

  • Postów:42
  • Lokalizacja:z polski
Offline

Napisano 30.03.2016 09:57

Witam . Mój problem polega na tym iż nie mogę " wyszczególnić " opcji z pluginu sma , tzn. dokładnie chodzi mi o to żeby z tego pluginu zrobić pojedynczy plugin na wyświetlanie listy VIP ' ów online w innym pluginie. W skrócie : skopiować z tego sma tak funkcję na wyświetlanie listy VIP ONLINE  abym mógł wgrać ten plugin ( czyli lista vip online w tym okienku ) na serwer z gotowym już pluginem VIP jednak właśnie nie posiadającego jeszcze tej funkcji - wyświetlania listy vipów online w " okienku " ( czyli po prostu komendy /vips )

 

Oto kod sma : 

#include <amxmodx>
#include <cstrike>
#include <csx>
#include <fun>
#include <hamsandwich>
#include <StripWeapons>

#define g_Buffer 1536

forward amxbans_admin_connect(id);

new Array:g_Array, CsArmorType:armortype, bool:g_Vip[33], g_Hudmsg, menu;
new gRound;

new const g_Langcmd[][]={"say /vips","say_team /vips","say /vipy","say_team /vipy"};

public plugin_init()
{
	register_plugin("VIP Ultimate", "12.3.0.2", "benio101 & speedkill");
	RegisterHam(Ham_Spawn, "player", "SpawnedEventPre", 1);
	register_event("DeathMsg", "DeathMsg", "a");
	register_message(get_user_msgid("ScoreAttrib"), "VipStatus");
	g_Array=ArrayCreate(64,32);
	for(new i;i<sizeof g_Langcmd;i++)
	{
		register_clcmd(g_Langcmd[i], "ShowVips");
	}
	register_clcmd("say /vip", "ShowMotd");
	register_message(get_user_msgid("SayText"),"handleSayText");
	register_event("HLTV", "event_new_round", "a", "1=0", "2=0");
	register_logevent("GameCommencing", 2, "1=Game_Commencing");
	g_Hudmsg=CreateHudSyncObj();
}

public client_authorized(id)
{
	if(get_user_flags(id) & 524288 == 524288)
	{
		client_authorized_vip(id);
	}
}

public event_new_round()
{
	++gRound;
}

public GameCommencing()
{
	gRound=0;
}

public client_authorized_vip(id)
{
	g_Vip[id]=true;
	new g_Name[64];
	get_user_name(id,g_Name,charsmax(g_Name));
	
	new g_Size = ArraySize(g_Array);
	new szName[64];
	
	for(new i = 0; i < g_Size; i++)
	{
		ArrayGetString(g_Array, i, szName, charsmax(szName));
		
		if(equal(g_Name, szName))
		{
			return 0;
		}
	}
	ArrayPushString(g_Array,g_Name);
	set_hudmessage(24, 190, 220, 0.25, 0.2, 0, 6.0, 6.0);
	ShowSyncHudMsg(0, g_Hudmsg, "VIP %s wbija na serwer !",g_Name);
	
	return PLUGIN_CONTINUE;
}

public client_disconnect(id)
{
	if(g_Vip[id])
	{
		client_disconnect_vip(id);
	}
}

public client_disconnect_vip(id)
{
	g_Vip[id]=false;
	new Name[64];
	get_user_name(id,Name,charsmax(Name));
	
	new g_Size = ArraySize(g_Array);
	new g_Name[64];
	
	for(new i = 0; i < g_Size; i++)
	{
		ArrayGetString(g_Array, i, g_Name, charsmax(g_Name));
		
		if(equal(g_Name,Name))
		{
			ArrayDeleteItem(g_Array,i);
			break;
		}
	}
}

public SpawnedEventPre(id)
{
	if(g_Vip[id])
	{
		if(is_user_alive(id))
		{
			SpawnedEventPreVip(id);
		}
	}
}

public SpawnedEventPreVip(id)
{
	cs_set_user_armor(id, min(cs_get_user_armor(id,armortype)+100, 100), CS_ARMOR_VESTHELM);
	new henum=(user_has_weapon(id,CSW_HEGRENADE)?cs_get_user_bpammo(id,CSW_HEGRENADE):0);
	give_item(id, "weapon_hegrenade");
	++henum;
	new fbnum=(user_has_weapon(id,CSW_FLASHBANG)?cs_get_user_bpammo(id,CSW_FLASHBANG):0);
	give_item(id, "weapon_flashbang");
	++fbnum;
	cs_set_user_bpammo(id, CSW_FLASHBANG, 2);
	new sgnum=(user_has_weapon(id,CSW_SMOKEGRENADE)?cs_get_user_bpammo(id,CSW_SMOKEGRENADE):0);
	give_item(id, "weapon_smokegrenade");
	++sgnum;
	if(gRound>=2)
	{
		show_vip_menu(id);
	}
}

public DeathMsg()
{
	new killer=read_data(1);
	new victim=read_data(2);
	
	if(is_user_alive(killer) && g_Vip[killer] && get_user_team(killer) != get_user_team(victim))
	{
		DeathMsgVip(killer,victim,read_data(3));
	}
}

public DeathMsgVip(kid,vid,hs)
{
	set_user_health(kid, min(get_user_health(kid)+(hs?15:10),130));
}

public VipStatus()
{
	new id=get_msg_arg_int(1);
	if(is_user_alive(id) && g_Vip[id])
	{
		set_msg_arg_int(2, ARG_BYTE, get_msg_arg_int(2)|4);
	}
}

public ShowVips(id)
{
	ShowVipsMotd(id);
	return PLUGIN_CONTINUE;
}

public ShowVipsMotd(id)
{
	new Data[g_Buffer],Len,g_Name[64];
	
	Len = formatex(Data[Len], g_Buffer - Len, "<html><body bgcolor=Black><br>");
	Len += formatex(Data[Len], g_Buffer - Len, "<center><table frame=^"border^" width=^"600^" cellspacing=^"0^" bordercolor=#4A4344 style=^"color:#56A5EC;text-align:center;^">");
	Len += formatex(Data[Len], g_Buffer- Len, "<tr><td><b>#</b></td><td><b>Nick</b></td></td></tr>");
	
	new g_Size=ArraySize(g_Array);
	
	for(new i = 0; i < g_Size; i++)
	{
		ArrayGetString(g_Array, i, g_Name, charsmax(g_Name));
		
		Len += formatex(Data[Len], g_Buffer - Len, "<tr>");
		Len += formatex(Data[Len], g_Buffer - Len, "<td><font color=Red>%d</font></td>", i + 1);
		Len += formatex(Data[Len], g_Buffer - Len, "<td>%s</td>", g_Name);
		Len += formatex(Data[Len], g_Buffer - Len, "</tr>");
	}
	Len += formatex(Data[Len],g_Buffer - Len,"</center></body></html>");
	
	show_motd(id, Data, "Vip'y Online");
}

public show_vip_menu(id) 
{
	menu = menu_create("\rMenu Vip'a:", "menu_handler");
	menu_additem(menu, "\wAK47 + Deagle", "1", 0);
	menu_additem(menu, "\wM4A1 + Deagle", "2", 0);
	menu_additem(menu, "\wAWP + Deagle", "3", 0);
	
	menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
	
	menu_display(id, menu, 0);
}

public menu_handler(id, menu, item)
{
	if (item == MENU_EXIT)
	{
		menu_destroy(menu);
		return PLUGIN_HANDLED;
	}
	new data[8], iName[64];
	new zaccess, callback;
	menu_item_getinfo(menu, item, zaccess, data,7, iName, 64, callback);
	new key = str_to_num(data)
	switch(key)
	{
		case 1: menu_1_handler(id)
		case 2: menu_2_handler(id)
		case 3: menu_3_handler(id)
	}
	menu_destroy(menu);
	return PLUGIN_HANDLED;
}

public menu_1_handler(id)
{
	StripWeapons(id, Primary);
	StripWeapons(id, Secondary);
	give_item(id, "weapon_ak47");
	cs_set_user_bpammo(id, CSW_AK47, 90);
	give_item(id, "weapon_deagle");
	cs_set_user_bpammo(id, CSW_DEAGLE, 35);
}

public menu_2_handler(id)
{
	StripWeapons(id, Primary);
	StripWeapons(id, Secondary);
	give_item(id, "weapon_m4a1");
	cs_set_user_bpammo(id, CSW_M4A1, 90);
	give_item(id, "weapon_deagle");
	cs_set_user_bpammo(id, CSW_DEAGLE, 35);
}

public menu_3_handler(id)
{
	StripWeapons(id, Primary);
	StripWeapons(id, Secondary);
	give_item(id, "weapon_awp");
	cs_set_user_bpammo(id, CSW_AWP, 30);
	give_item(id, "weapon_deagle");
	cs_set_user_bpammo(id, CSW_DEAGLE, 35);
}

public client_infochanged(id)
{
	if(g_Vip[id])
	{
		new szName[64];
		get_user_info(id,"name",szName,charsmax(szName));
		
		new Name[64];
		get_user_name(id,Name,charsmax(Name));
		
		if(!equal(szName,Name))
		{
			ArrayPushString(g_Array,szName);
			
			new g_Size=ArraySize(g_Array);
			new g_Name[64];
			for(new i = 0; i < g_Size; i++)
			{
				ArrayGetString(g_Array, i, g_Name, charsmax(g_Name));
				
				if(equal(g_Name,Name))
				{
					ArrayDeleteItem(g_Array,i);
					break;
				}
			}
		}
	}
}

public plugin_end()
{
	ArrayDestroy(g_Array);
}

public ShowMotd(id)
{
	show_motd(id, "vip.txt", "Informacje o vipie");
}

public handleSayText(msgId,msgDest,msgEnt)
{
	new id = get_msg_arg_int(1);
	
	if(is_user_connected(id) && g_Vip[id])
	{
		new szTmp[256],szTmp2[256];
		get_msg_arg_string(2,szTmp, charsmax(szTmp))
		
		new szPrefix[64] = "^x04[VIP]";
		
		if(!equal(szTmp,"#Cstrike_Chat_All"))
		{
			add(szTmp2,charsmax(szTmp2),szPrefix);
			add(szTmp2,charsmax(szTmp2)," ");
			add(szTmp2,charsmax(szTmp2),szTmp);
		}
		else
		{
			add(szTmp2,charsmax(szTmp2),szPrefix);
			add(szTmp2,charsmax(szTmp2),"^x03 %s1^x01 :  %s2");
		}
		set_msg_arg_string(2,szTmp2);
	}
	return PLUGIN_CONTINUE;
}

public amxbans_admin_connect(id)
{
	client_authorized(id);
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1045\\ f0\\ fs16 \n\\ par }
*/


Użytkownik misiakool12 edytował ten post 30.03.2016 09:58

  • +
  • -
  • 0

#2 Kowalsky

    Wszechobecny

  • Użytkownik

Reputacja: 129
Zaawansowany

  • Postów:415
  • GG:
  • Imię:Grzegorz
  • Lokalizacja:San José
Offline

Napisano 30.03.2016 10:50

Spoiler

  • +
  • -
  • 0
baner_230x60.png

#3 misiakool12

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 0
zer0.

  • Postów:42
  • Lokalizacja:z polski
Offline

Napisano 30.03.2016 13:33

A czy moglbym kogos prosic o " wszczepienie " tego kodu do pluginu VIP ? Plugin podeslalbym w rozmowie prywatnej :D ( przepraszam za brak polskich znakow ale cos sie dzieje z kompem ) .


Użytkownik misiakool12 edytował ten post 30.03.2016 13:55

  • +
  • -
  • 0




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych