Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Proszę o pomoc


CsBiedronka

Rekomendowane odpowiedzi

Opublikowano


L 08/21/2013 - 19:16:41: [AMXX] Displaying debug trace (plugin "vip.amxx")
L 08/21/2013 - 19:16:41: [AMXX] Run time error 10: native error (native "cs_set_user_model")
L 08/21/2013 - 19:16:41: [AMXX] [0] vip.sma::model_vip_change (line 172)
L 08/21/2013 - 19:16:41: [AMXX] [1] vip.sma::fwHamPlayerSpawnPost (line 100)

 

 

 

#include <amxmodx>
#include <cstrike>
#include <amxmisc>
#include <fun>
#include <codmod>
#include <hamsandwich>
#include <fakemeta_util>
#include <fakemeta>

#define ADMIN_VIP ADMIN_LEVEL_H

#define SCOREATTRIB_DEAD                (1 << 0) 
#define SCOREATTRIB_VIP                 (1 << 2)
#define MODEL_VIPA
#define MONEY_F 115
#define fm_get_user_money(%1) get_pdata_int(%1, MONEY_F)

new bool:bonus[33];
new nick_gracza[32]
new g_MsgScoreAttrib = 0;
new cvar_exp, cvar_money, cvar_hp, cvar_bazowa_kasa, cvar_model, cvar_bronie, cvar_granaty, cvar_hsxp, cvar_hshp, cvar_hsmoney, cvar_info_vip;
new cvar_motd, cvar_vip_uammo;
new const max_clip[31] = { -1, 13, -1, 10,  1,  7,  1,  30, 30,  1,  30,  20,  25, 30, 35, 25,  12,  20, 
10,  30, 100,  8, 30,  30, 20,  2,  7, 30, 30, -1,  50 };



public plugin_init() 
{
	register_plugin("VIPl", "1.5", "");
	g_MsgScoreAttrib = get_user_msgid("ScoreAttrib");
	register_message(g_MsgScoreAttrib, "messageScoreAttrib");
	RegisterHam(Ham_Spawn, "player", "fwHamPlayerSpawnPost", 1);
	//register_event("ResetHUD", "respawn", "abe");
	register_clcmd("say /vipy", "vip_bonusy")
	register_forward(FM_CmdStart, "CmdStart");
	register_event("ResetHUD", "model_vip_change", "b")

	//  CVARY
	
	cvar_exp = register_cvar("vip_exp","10"); // ilosc expa za killa
	cvar_money = register_cvar("vip_money","10");  // ilosc kasy za killa
	cvar_hp = register_cvar("vip_hp","10"); // ilosc hp za killa
	cvar_bazowa_kasa= register_cvar("vip_bmoney","1000"); // ilosc kasy na spawnie
	cvar_model = register_cvar("vip_model","1"); // czy vip ma miec lepszy model
	cvar_bronie= register_cvar("vip_bronie","1"); // 0 nic, 1 daje AK47 i M4A1, 2 samo m4, 3 samo aka
	cvar_granaty = register_cvar("vip_granaty","1"); // czy vip ma dostawać wszystkie granaty 0 nie, 1 tak, 2 tylko he, 
	cvar_hsxp = register_cvar("vip_xp_hs","10"); // xp za hs vipa	
	cvar_hshp = register_cvar("vip_hp_hs","10"); // hp za hs vipa
	cvar_hsmoney = register_cvar("vip_hs_money","10"); // kasa za hs vipa
	cvar_info_vip = register_cvar("vip_info","1"); // pokazywac info gdy wchodzi vip ( przaychdozi VIP nick)
	cvar_motd = register_cvar("vip_motd","1"); // pokazywac motd z info o vipach
	cvar_vip_uammo = register_cvar("vip_uammo","1"); // czy vip ma mien zwinne palnce ( strzela bez przeladowania)
	
}
public plugin_precache() {
	precache_model("models/player/vipek/vipek.mdl")
	
	return PLUGIN_CONTINUE
}

public client_death(killer, victim, wpnindex, hitplace, TK)
{ 	
	if(is_user_alive(killer) && (get_user_flags(killer) & ADMIN_VIP))
	{		
		if(hitplace == HIT_HEAD)
		{
			new hs_xp = get_pcvar_num(cvar_hsxp)
			new hs_hp = get_pcvar_num(cvar_hshp)
			new hs_money = get_pcvar_num(cvar_hsmoney)
			cod_set_user_xp(killer, cod_get_user_xp(killer) + hs_xp);
			fm_set_user_money(killer, fm_get_user_money(killer) + hs_money, 1)
			set_user_health(killer, get_user_health(killer) + hs_hp);
			new sync = CreateHudSyncObj();
			set_hudmessage(255, 212, 0, 0.53, 0.33, 1, 6.0, 4.0);
			ShowSyncHudMsg(killer, sync, "VIP +%i HS XP", hs_xp);
		}	
		
		else
		{	
			cod_set_user_xp(killer, cod_get_user_xp(killer) + get_pcvar_num(cvar_exp));	
			fm_set_user_money(killer, fm_get_user_money(killer) + get_pcvar_num(cvar_money), 1);
			set_user_health(killer, get_user_health(killer) + get_pcvar_num(cvar_hp));
				
			new add_exp = get_pcvar_num(cvar_exp);
			new sync = CreateHudSyncObj();
			set_hudmessage(255, 212, 0, 0.50, 0.33, 1, 6.0, 4.0);
			ShowSyncHudMsg(killer, sync, "VIP +%i XP", add_exp);
		}
	}
	
}
public cod_class_changed(id)
	bonus[id] = false;

public fwHamPlayerSpawnPost(id){
	
	if (get_user_flags(id) & ADMIN_VIP) 
	{
		model_vip_change(id);
		
		set_hudmessage(255, 0, 0, 0.34, 0.81, 0, 6.0, 12.0)
		show_hudmessage(id, "Jestes VIP'ep i dostajesz dodatkowe bonusy.")
		
		fm_set_user_money(id, fm_get_user_money(id) + get_pcvar_num(cvar_bazowa_kasa), 1)		
		new bronie = get_pcvar_num(cvar_bronie)
		new granaty = get_pcvar_num(cvar_granaty)
		
		
		if (bronie == 1)
		{
			cod_give_weapon(id, CSW_AK47);
			cod_give_weapon(id, CSW_M4A1);
			cod_give_weapon(id, CSW_DEAGLE);
		}
		if (bronie == 2)
			cod_give_weapon(id, CSW_M4A1);
		
		if (bronie == 3)
			cod_give_weapon(id, CSW_AK47);
		
		if (granaty == 1)
		{
			cod_give_weapon(id, CSW_HEGRENADE);
			cod_give_weapon(id, CSW_FLASHBANG);
			cod_give_weapon(id, CSW_FLASHBANG);
			cod_give_weapon(id, CSW_SMOKEGRENADE);
		}
		if (granaty == 2)
			cod_give_weapon(id, CSW_HEGRENADE);

		
	}
}
public client_disconnect(id)
{
	bonus[id] = false;	
	new info_vip_con = get_pcvar_num(cvar_info_vip)
	if(info_vip_con)
	{
		if (get_user_flags(id) & ADMIN_VIP) 
		{
			get_user_name(id, nick_gracza, 32);
			set_hudmessage(255, 0, 0, 0.04, 0.60, 0, 6.0, 12.0)
			show_hudmessage(0, "Odchodzi VIP %s", nick_gracza)
		}
	}
}
public client_authorized(id)
{
	bonus[id] = false;		
	new info_vip_con = get_pcvar_num(cvar_info_vip)	
	if(info_vip_con)
	{
		if (get_user_flags(id) & ADMIN_VIP) 
		{
			get_user_name(id, nick_gracza, 32);
			set_hudmessage(255, 0, 0, 0.04, 0.55, 0, 6.0, 12.0)
			show_hudmessage(0, "Przychodz VIP %s", nick_gracza)
		
		}
	}	
}

public model_vip_change(id) 
{
	new model = get_pcvar_num(cvar_model)	
	if (model)
		return PLUGIN_CONTINUE;
		
	if(get_user_flags(id) & ADMIN_VIP)
		cs_set_user_model(id, "vipek")

        return PLUGIN_CONTINUE
}
	
public messageScoreAttrib(iMsgID, iDest, iReceiver) 
{   
	new iPlayer = get_msg_arg_int(1);
	
	if(is_user_connected(iPlayer) && (get_user_flags(iPlayer) & ADMIN_VIP))   
		set_msg_arg_int(2, ARG_BYTE, is_user_alive(iPlayer) ? SCOREATTRIB_VIP : SCOREATTRIB_DEAD);
	
}

public vip_bonusy(id)
{
	new motd_s = get_pcvar_num(cvar_motd)
	
	if (motd_s)
		show_motd(id, "vip.txt", "Vip Info")
}
stock fm_set_user_money(index, money, flash = 1) //set money
{
	set_pdata_int(index, MONEY_F, money)
	message_begin(MSG_ONE, get_user_msgid("Money"), _, index);
	write_long(money);
	write_byte(flash ? 1 : 0);
	message_end();
}
public CmdStart(id, uc_handle)
{
	if (get_pcvar_num(cvar_vip_uammo))
	{
		if(get_user_flags(id) & ADMIN_VIP)
		{
			new buttons = get_uc(uc_handle, UC_Buttons);
			new oldbuttons = pev(id, pev_oldbuttons);
			new clip, ammo, weapon = get_user_weapon(id, clip, ammo);
			
			if(max_clip[weapon] == -1 || !ammo)
				return PLUGIN_CONTINUE;
			
			if((buttons & IN_RELOAD && !(oldbuttons & IN_RELOAD) && !(buttons & IN_ATTACK)) || !clip)
			{
				cs_set_user_bpammo(id, weapon, ammo-(max_clip[weapon]-clip));
				new new_ammo = (max_clip[weapon] > ammo)? clip+ammo: max_clip[weapon]
				set_user_clip(id, new_ammo);
			}
		}
	}
	return PLUGIN_CONTINUE;

}
stock set_user_clip(id, ammo)
{
	if(get_user_flags(id) & ADMIN_VIP)
	{	
		new weaponname[32], weaponid = -1, weapon = get_user_weapon(id, _, _);
		get_weaponname(weapon, weaponname, 31);
		while ((weaponid = engfunc(EngFunc_FindEntityByString, weaponid, "classname", weaponname)) != 0)
			if (pev(weaponid, pev_owner) == id) {
				set_pdata_int(weaponid, 51, ammo, 4);
				return weaponid;
			}
	}
	return 0;
}
public cod_class_disabled(id){
	bonus[id] = false;
}


 

 

172 linijka to cs_set_user_model(id, "vipek")

 

100 linijka to model_vip_change(id);

 

 

Proszę o pomoc

Opublikowano

dałem na początku logi

 

L 08/21/2013 - 19:16:41: [AMXX] Displaying debug trace (plugin "vip.amxx")

L 08/21/2013 - 19:16:41: [AMXX] Run time error 10: native error (native "cs_set_user_model")

L 08/21/2013 - 19:16:41: [AMXX] [0] vip.sma::model_vip_change (line 172)

L 08/21/2013 - 19:16:41: [AMXX] [1] vip.sma::fwHamPlayerSpawnPost (line 100)

 

 

Np. Głosowanie Zakończone na mape, mapa się zmienia i crashuje serwer(nie zawsze) tak co 3 raz

Chyba ,że zmienia Admin(wtedy nigdy sie nie crashuje)

 

w konsoli jest ten komunikat ^^^

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...