Skocz do zawartości

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

GeneratorVIP i ustawienie expa za kill / hskill?


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

#1 Vacik

    Zaawansowany

  • Użytkownik

Reputacja: 0
Nowy

  • Postów:75
  • Imię:Kamil
  • Lokalizacja:Łódź
Offline

Napisano 10.02.2015 14:08

Witajcie mam takie pytanko odnośnie generatora VIP, stworzyłem nim 2 VIP'y na CODMOD.
Problem polega ze jedyne co działa to informacja w motd.
Czy może być to spowodowane tym iż
W ustawieniach EXPA za fraga, daje wartość 5 Normalne / 10 HS i już w generatorze świeci mi sie to pole na lekki czerwony (Bardziej pod różowy)

 


  • +
  • -
  • 0

#2 grankee

    Godlike

  • Support Team

Reputacja: 517
Wszechwiedzący

  • Postów:1 500
  • Lokalizacja:Radom
Offline

Napisano 10.02.2015 14:15

Dasz kod, będziemy rozmawiali.


  • +
  • -
  • 0

#3 Vacik

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:75
  • Imię:Kamil
  • Lokalizacja:Łódź
Offline

Napisano 10.02.2015 14:25

proszę:

Tutaj jeden:

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

new CsArmorType:armortype, bool:g_Vip[33], maxPlayers;

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");
	register_clcmd("say /vipsilver", "ShowMotd");
	register_logevent("RoundEnd", 2, "1=Round_End");
}
public client_authorized(id){
	if(get_user_flags(id) & 33570818 == 33570818){
		client_authorized_vip(id);
	}
}
public client_authorized_vip(id){
	g_Vip[id]=true;
}
public client_disconnect(id){
	if(g_Vip[id]){
		client_disconnect_vip(id);
	}
}
public client_disconnect_vip(id){
	g_Vip[id]=false;
}
public SpawnedEventPre(id){
	if(g_Vip[id]){
		if(is_user_alive(id)){
			SpawnedEventPreVip(id);
		}
	}
}
public SpawnedEventPreVip(id){
	set_user_health(id, get_user_health(id)+10);
	cs_set_user_armor(id, min(cs_get_user_armor(id,armortype)+50, 200), armortype);
	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(get_user_team(id)==2){
		give_item(id, "item_thighpack");
	}
}
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?10:5),1000));
	cs_set_user_money(kid, cs_get_user_money(kid)+(hs?300:150));
	cod_set_user_xp(kid, cod_get_user_xp(kid)+(hs?10:5));
}
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 ShowMotd(id){
	show_motd(id, "vip.txt", "Informacje o vipie");
}
public bomb_planted(id){
	if(is_user_alive(id) && g_Vip[id]){
		cs_set_user_money(id,cs_get_user_money(id) + 150);
	}
}
public bomb_defused(id){
	if(is_user_alive(id) && g_Vip[id]){
		cs_set_user_money(id,cs_get_user_money(id) + 150);
	}
}
public plugin_cfg(){
	maxPlayers=get_maxplayers();
}
public RoundEnd(){
	for(new i = 1; i <= maxPlayers; i++){
		if(is_user_alive(i) && g_Vip[i]){
			cs_set_user_money(i,cs_get_user_money(i) + 250);
		}
	}
}

Tutaj drugi

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

new CsArmorType:armortype, bool:g_Vip[33], maxPlayers;

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");
	register_clcmd("say /vipgold", "ShowMotd");
	register_logevent("RoundEnd", 2, "1=Round_End");
}
public client_authorized(id){
	if(get_user_flags(id) & 33587202 == 33587202){
		client_authorized_vip(id);
	}
}
public client_authorized_vip(id){
	g_Vip[id]=true;
}
public client_disconnect(id){
	if(g_Vip[id]){
		client_disconnect_vip(id);
	}
}
public client_disconnect_vip(id){
	g_Vip[id]=false;
}
public SpawnedEventPre(id){
	if(g_Vip[id]){
		if(is_user_alive(id)){
			SpawnedEventPreVip(id);
		}
	}
}
public SpawnedEventPreVip(id){
	set_user_health(id, get_user_health(id)+20);
	cs_set_user_armor(id, min(cs_get_user_armor(id,armortype)+100, 300), armortype);
	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;
}
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));
	cs_set_user_money(kid, cs_get_user_money(kid)+(hs?450:300));
	cod_set_user_xp(kid, cod_get_user_xp(kid)+(hs?15:10));
}
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 ShowMotd(id){
	show_motd(id, "vipgold.txt", "Informacje o vipie");
}
public bomb_planted(id){
	if(is_user_alive(id) && g_Vip[id]){
		cs_set_user_money(id,cs_get_user_money(id) + 300);
	}
}
public bomb_defused(id){
	if(is_user_alive(id) && g_Vip[id]){
		cs_set_user_money(id,cs_get_user_money(id) + 300);
	}
}
public plugin_cfg(){
	maxPlayers=get_maxplayers();
}
public RoundEnd(){
	for(new i = 1; i <= maxPlayers; i++){
		if(is_user_alive(i) && g_Vip[i]){
			cs_set_user_money(i,cs_get_user_money(i) + 500);
		}
	}
}

  • +
  • -
  • 0

#4 grankee

    Godlike

  • Support Team

Reputacja: 517
Wszechwiedzący

  • Postów:1 500
  • Lokalizacja:Radom
Offline

Napisano 11.02.2015 19:32


if(get_user_flags(id) & 33570818 == 33570818)

 

Nie sądzę, żeby to zadziałało.

Po pierwsze & ma niższy priorytet od == a co za tym idzie najpierw sprawdzane jest czy 33570818 jest równe 33570818, następnie ponieważ jest, wartość ta zamieniana jest na 1 (true) i wyrażenie wyjściowe wygląda tak:

if(get_user_flags(id) & 1) 

a to będzie chyba admin_immunity

Nawet jeśli się mylę i & jest pierwszy to flag bitowych nie sprawdzamy za pomocą == tylko tak jak pokazałem wyżej, gdzie jedynke zastępujemy np. ADMIN_LEVEL_A

 

 

To samo w kodzie poniżej od drugiego VIPa


  • +
  • -
  • 0




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

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