Cześć,
nawiązując do tematu Benia: http://amxx.pl/topic...ci/#entry548985
a dokładniej: http://benio.me/#!DeathIcon
Jak by wyglądał kod, aby dla osób z określoną flagą, ikonka zabicia (czaszka, broń, głowa) była zielona?
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.
|
Napisano 11.06.2013 00:47
Cześć,
nawiązując do tematu Benia: http://amxx.pl/topic...ci/#entry548985
a dokładniej: http://benio.me/#!DeathIcon
Jak by wyglądał kod, aby dla osób z określoną flagą, ikonka zabicia (czaszka, broń, głowa) była zielona?
Napisano 11.06.2013 01:59
Jak pisałem na blogu, kolor zielony jest wyjątkiem i występuje tylko w przypadku podania jako argument "teammate".
A ponieważ "d_teammate" nie widnieje w hud.txt, zostanie zawsze wyświetlona czaszka, nie ma możliwości wyświetlenia zielonej broni.
Zielona może być tylko czaszka (ryc. 5 pkt. 2), bądź czaszka z przebitą głową (ryc. 5 pkt. 3).
Możnaby co najwyżej kolorować jedynie czaszkę, bądź zmieniać każdą broń na zieloną czaszkę, ale nie wiem, czy jest sens.
Użytkownik Benio101 edytował ten post 11.06.2013 02:02
+odwołanie
Napisano 11.06.2013 12:01
Racja, w takim razie nie ma sensu, jednak nadal interesowałby mnie kod, tak z czystej ciekawości, włącznie z podmianą innych broni ![]()
Napisano 11.06.2013 14:51
Wersja, która zmienia wszystkie ikony zabójstwa VIPa na zielone czaszki:
#include <amxmodx>
#include <messages>
#define IsPlayer(%1) (1<=%1<=maxPlayers)
#define VIP_FLAG ADMIN_LEVEL_H
new maxPlayers;
public plugin_init(){
register_plugin("VIP green skull", "1.0", "benio101");
}
public plugin_cfg(){
// pobieramy liczbę slotów
maxPlayers=get_maxplayers();
// rejestrujemy DeathMsg
register_message(get_user_msgid("DeathMsg"), "DeathMsg");
}
public DeathMsg(){
new kid=get_msg_arg_int(1); // zabojca
if(IsPlayer(kid) && get_user_flags(kid) & VIP_FLAG){
// zmieniamy ikonę na zieloną czaszkę
set_msg_arg_string(4, "teammate");
}
}
Wersja, która jedynie koloruje czaszki vipa na zielono:
#include <amxmodx>
#include <messages>
#define IsPlayer(%1) (1<=%1<=maxPlayers)
#define VIP_FLAG ADMIN_LEVEL_H
new icons[29][32]={
"knife",
"ak47",
"awp",
"deagle",
"famas",
"fiveseven",
"flashbang",
"g3sg1",
"galil",
"glock18",
"grenade",
"m249",
"m3",
"m4a1",
"mp5navy",
"p228",
"p90",
"scout",
"sg550",
"sg552",
"ump45",
"usp",
"tmp",
"xm1014",
"tracktrain",
"aug",
"mac10",
"elite",
"headshot"
}
new maxPlayers;
public plugin_init(){
register_plugin("VIP green skull", "1.0", "benio101");
}
public plugin_cfg(){
// pobieramy liczbę slotów
maxPlayers=get_maxplayers();
// rejestrujemy DeathMsg
register_message(get_user_msgid("DeathMsg"), "DeathMsg");
}
public DeathMsg(){
new kid=get_msg_arg_int(1); // zabojca
new bool:skull=true; // czy ikona to czaszka
new icon[32]; // nazwa ikony
get_msg_arg_string(4, icon, 31);
for(new i=0; i<29; ++i){
if(equal(icons[i], icon)){
skull=false;
break;
}
}
if(skull && IsPlayer(kid) && get_user_flags(kid) & VIP_FLAG){
// zmieniamy ikonę na zieloną czaszkę
set_msg_arg_string(4, "teammate");
}
}
Użytkownik Benio101 edytował ten post 11.06.2013 15:02
Dodanie drugiej wersji
Napisano 11.06.2013 18:17
Na podstawie 1 kodu, nie trzeba już sprawdzać czy dana osoba została zabita strzałem w głowę, bo ikonka i tak będzie zielona (ikonka smierci + glowa), tak?
Jeśli tak, to można zamknąć, nowa rzecz poznana ![]()
Użytkownik Filip1512 edytował ten post 11.06.2013 18:17
Napisano 11.06.2013 18:26
raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.0 użytkowników, 1 gości, 0 anonimowych