Counter-Strike 1.6
VIP
Cs-PlovdiV.com - Aim Attack
93.123.16.4:27022
aim_map2
Играчи: 4/16
aim_map2
Counter-Strike 1.6
VIP
93.123.16.4:27022 Cs-PlovdiV.com - Aim Attack aim_map2 4/16

Проблем с плъгин zp_ua_uaio_veco

Въпроси и проблеми свързани с AMXModX.
Аватар
BoB1
Извън линия
Потребител
Потребител
Мнения: 17
Регистриран на: 05 Мар 2017, 11:43
Получена благодарност: 1 път

Проблем с плъгин zp_ua_uaio_veco

Мнение от BoB1 » 27 Мар 2022, 13:31

Дава ми грешка...

Код за потвърждение: Избери целия код

L 03/27/2022 - 13:20:16: [ZP] Invalid zombie class id (-1)
L 03/27/2022 - 13:20:16: [AMXX] Displaying debug trace (plugin "zp_ua_uaio_veco.
amxx", version "2.9")
L 03/27/2022 - 13:20:16: [AMXX] Run time error 10: native error (native "zp_set_
user_zombie_class")
L 03/27/2022 - 13:20:16: [AMXX] [0] zp_ua_uaio_veco.sma::load_user_data (line
581)
L 03/27/2022 - 13:20:17: [ZP] Invalid zombie class id (-1)
L 03/27/2022 - 13:20:17: [AMXX] Displaying debug trace (plugin "zp_ua_uaio_veco.
amxx", version "2.9")
L 03/27/2022 - 13:20:17: [AMXX] Run time error 10: native error (native "zp_set_
user_zombie_class")
L 03/27/2022 - 13:20:17: [AMXX] [0] zp_ua_uaio_veco.sma::load_user_data (line
581)
L 03/27/2022 - 13:20:17: [ZP] Invalid zombie class id (-1)
L 03/27/2022 - 13:20:17: [AMXX] Displaying debug trace (plugin "zp_ua_uaio_veco.
amxx", version "2.9")
L 03/27/2022 - 13:20:17: [AMXX] Run time error 10: native error (native "zp_set_
user_zombie_class")
L 03/27/2022 - 13:20:17: [AMXX] [0] zp_ua_uaio_veco.sma::load_user_data (line
581)
Използвам Zombie Plague 4.3 Fix5a версията.

Аватар
The Pain
Извън линия
Потребител
Потребител
Мнения: 91
Регистриран на: 06 Дек 2021, 17:10
Се отблагодари: 18 пъти
Получена благодарност: 6 пъти

Проблем с плъгин zp_ua_uaio_veco

Мнение от The Pain » 27 Мар 2022, 13:58

При zombie plague fix 4.3 дава подобна грешка, обаче за жалост не знам да има решение на проблема, има тема където гледам, че проблема е решен обаче, аммото не запазва нито класа след фикса, но все пак ако някой разбира от скриптиране нека да пише

Опитай така да пробваме, трябва ти библиотека cromchat.inc

Код за потвърждение: Избери целия код

/*
---------------------------------------------------------
---------------------------------------------------------
Don't forget to visit http://www.amxmodxbg.org :)
---------------------------------------------------------
*/

#include <amxmodx>
#include <amxmisc>
#include <cromchat>
#include <nvault>
#include <zombieplague>

#define ADMIN_GIVE_AMMO ADMIN_IMMUNITY // access level for zp_donate command

#define LOGFILE "addons/amxmodx/logs/zp_ua_uaio_veco.log"

/*START - From colorchat.inc by Numb */
enum Color {
	NORMAL = 1,
	GREEN,
	TEAM_COLOR,
	GREY,
	RED,
	BLUE,
}

new TeamName[][] = {
	"",
	"TERRORIST",
	"CT",
	"SPECTATOR"
}
/*END - From colorchat.inc by Numb */

new must_save[33],data_vault, pointer_activity, maxplayers,
cvar_data_save_type, cvar_cmd_give,cvar_cmd_ap,cvar_cmd_ammo, cvar_show_hp, cvar_give_ammo_public, cvar_ammo_limit
public plugin_init() {
	register_plugin("[ZP] Ultimate Addon UAIO by <VeCo>", "2.7", "<VeCo>")
	register_cvar("zp_ua_uaio_veco_version","2.7",FCVAR_SERVER | FCVAR_SPONLY)
	
	pointer_activity = get_cvar_pointer("amx_show_activity")
	
	register_concmd("zp_donate","admin_ammo_give",ADMIN_GIVE_AMMO,"<name / #userid / @H / @Z / @ALL> <ammo packs>")
	
	register_clcmd("say","hook_say")
	register_clcmd("say_team","hook_say")
	
	register_event("Damage","event_damage","b","2!0","3=0","4!0")
	register_event("HLTV","event_hltv","a","1=0","2=0")
	
	cvar_data_save_type = register_cvar("zp_ua_data_save_type","0")
	
	cvar_cmd_give = register_cvar("zp_ua_give_command","1")
	cvar_cmd_ap = register_cvar("zp_ua_ap_command","1")
	cvar_cmd_ammo = register_cvar("zp_ua_ammo_command","1")
	
	cvar_show_hp = register_cvar("zp_ua_show_hp","0")
	
	cvar_give_ammo_public = register_cvar("zp_ua_give_ammo_public","0")
	
	cvar_ammo_limit = register_cvar("zp_ua_ammo_limit","100000")
	
	maxplayers = get_maxplayers()
	
	data_vault = nvault_open("zp_ua_uaio_veco")
}

public admin_ammo_give(id,level,cid)
{
	if(!cmd_access(id,level,cid,1)) return PLUGIN_HANDLED
	
	new arg_name[32],arg_ap[10]
	
	read_argv(1,arg_name,31)
	read_argv(2,arg_ap,9)
	
	new name[32],target_name[32], ip[16],target_ip[16], steamid[32],target_steamid[32],
	target,type, num_ap = str_to_num(arg_ap)
	
	if(!equali(arg_name,"@H") && !equali(arg_name,"@Z") && !equali(arg_name,"@ALL")) target = cmd_target(id,arg_name,0)
	
	get_user_name(id,name,31)
	get_user_ip(id,ip,15,1)
	get_user_authid(id,steamid,31)
	
	get_user_name(target,target_name,31)
	get_user_ip(target,target_ip,15,1)
	get_user_authid(target,target_steamid,31)
	
	if(num_ap <= 0)
	{
		console_print(id,"[ZP]^x01 You can give only positive ammo packs.")
		return PLUGIN_HANDLED
	}
	
	type = 0
	
	if(equali(arg_name,"@H"))
	{
		type = 1
		for(new i=1;i<33;i++) if(is_user_connected(i) && !zp_get_user_zombie(i)) zp_set_user_ammo_packs(i, zp_get_user_ammo_packs(i) + num_ap)
	} else if(equali(arg_name,"@Z"))
	{
		type = 2
		for(new i=1;i<33;i++) if(is_user_connected(i) && zp_get_user_zombie(i)) zp_set_user_ammo_packs(i, zp_get_user_ammo_packs(i) + num_ap)
	} else if(equali(arg_name,"@ALL"))
	{
		type = 3
		for(new i=1;i<33;i++) if(is_user_connected(i)) zp_set_user_ammo_packs(i, zp_get_user_ammo_packs(i) + num_ap)
	} else {
		zp_set_user_ammo_packs(target, zp_get_user_ammo_packs(target) + num_ap)
	}
	
	if(get_pcvar_num(cvar_give_ammo_public))
	{
		switch(get_pcvar_num(pointer_activity))
		{
			case 1:
			{
				switch(type)
				{
					case 1: ColorChat(0,GREEN,"[ZP]^x01 ADMIN gave ^x04%s^x01 ammo packs to all humans.",arg_ap)
					case 2: ColorChat(0,GREEN,"[ZP]^x01 ADMIN gave ^x04%s^x01 ammo packs to all zombies.",arg_ap)
					case 3: ColorChat(0,GREEN,"[ZP]^x01 ADMIN gave ^x04%s^x01 ammo packs to all players.",arg_ap)
					default: ColorChat(0,GREEN,"[ZP]^x01 ADMIN gave ^x04%s^x01 ammo packs to ^x04%s^x01.",arg_ap,target_name)
				}
			}
			case 2:
			{
				switch(type)
				{
					case 1: ColorChat(0,GREEN,"[ZP]^x01 ADMIN ^x04%s^x01 gave ^x04%s^x01 ammo packs to all humans.",name,arg_ap)
					case 2: ColorChat(0,GREEN,"[ZP]^x01 ADMIN ^x04%s^x01 gave ^x04%s^x01 ammo packs to all zombies.",name,arg_ap)
					case 3: ColorChat(0,GREEN,"[ZP]^x01 ADMIN ^x04%s^x01 gave ^x04%s^x01 ammo packs to all players.",name,arg_ap)
					default: ColorChat(0,GREEN,"[ZP]^x01 ADMIN ^x04%s^x01 gave ^x04%s^x01 ammo packs to ^x04%s^x01.",name,arg_ap,target_name)
				}
			}
		}
	}
	
	switch(type)
	{
		case 1: log_to_file(LOGFILE,"ADMIN %s [IP: %s][STEAMID: %s] gave [%i] ammo packs to all humans.",name,ip,steamid,num_ap)
		case 2: log_to_file(LOGFILE,"ADMIN %s [IP: %s][STEAMID: %s] gave [%i] ammo packs to all zombies.",name,ip,steamid,num_ap)
		case 3: log_to_file(LOGFILE,"ADMIN %s [IP: %s][STEAMID: %s] gave [%i] ammo packs to all players.",name,ip,steamid,num_ap)
		default: log_to_file(LOGFILE,"ADMIN %s [IP: %s][STEAMID: %s] gave [%i] ammo packs to %s [IP: %s][STEAMID: %s]",name,ip,steamid, num_ap, target_name,target_ip,target_steamid)
	}
	
	return PLUGIN_HANDLED
}

public admin_ammo_take(id,level,cid)
{
	if(!cmd_access(id,level,cid,1)) return PLUGIN_HANDLED
	
	new arg_name[32],arg_ap[10]
	
	read_argv(1,arg_name,31)
	read_argv(2,arg_ap,9)
	
	new name[32],target_name[32], ip[16],target_ip[16], steamid[32],target_steamid[32],
	target,type, num_ap = str_to_num(arg_ap)
	
	if(!equali(arg_name,"@H") && !equali(arg_name,"@Z") && !equali(arg_name,"@ALL")) target = cmd_target(id,arg_name,0)
	
	get_user_name(id,name,31)
	get_user_ip(id,ip,15,1)
	get_user_authid(id,steamid,31)
	
	get_user_name(target,target_name,31)
	get_user_ip(target,target_ip,15,1)
	get_user_authid(target,target_steamid,31)
	
	if(num_ap <= 0)
	{
		console_print(id,"[ZP]^x01 You can take only positive ammo packs.")
		return PLUGIN_HANDLED
	}
	
	type = 0
	
	if(equali(arg_name,"@H"))
	{
		type = 1
		for(new i=1;i<33;i++) if(is_user_connected(i) && !zp_get_user_zombie(i)) zp_set_user_ammo_packs(i, zp_get_user_ammo_packs(i) - num_ap)
	} else if(equali(arg_name,"@Z"))
	{
		type = 2
		for(new i=1;i<33;i++) if(is_user_connected(i) && zp_get_user_zombie(i)) zp_set_user_ammo_packs(i, zp_get_user_ammo_packs(i) - num_ap)
	} else if(equali(arg_name,"@ALL"))
	{
		type = 3
		for(new i=1;i<33;i++) if(is_user_connected(i)) zp_set_user_ammo_packs(i, zp_get_user_ammo_packs(i) - num_ap)
	} else {
		zp_set_user_ammo_packs(target, zp_get_user_ammo_packs(target) - num_ap)
	}
	
	if(zp_get_user_ammo_packs(target) < 0) zp_set_user_ammo_packs(target,0)
	
	if(get_pcvar_num(cvar_give_ammo_public))
	{
		switch(get_pcvar_num(pointer_activity))
		{
			case 1:
			{
				switch(type)
				{
					case 1: ColorChat(0,GREEN,"[ZP]^x01 ADMIN took ^x04%s^x01 ammo packs from all humans.",arg_ap)
					case 2: ColorChat(0,GREEN,"[ZP]^x01 ADMIN took ^x04%s^x01 ammo packs from all zombies.",arg_ap)
					case 3: ColorChat(0,GREEN,"[ZP]^x01 ADMIN took ^x04%s^x01 ammo packs from all players.",arg_ap)
					default: ColorChat(0,GREEN,"[ZP]^x01 ADMIN took ^x04%s^x01 ammo packs from ^x04%s^x01.",arg_ap,target_name)
				}
			}
			case 2:
			{
				switch(type)
				{
					case 1: ColorChat(0,GREEN,"[ZP]^x01 ADMIN ^x04%s^x01 took ^x04%s^x01 ammo packs from all humans.",name,arg_ap)
					case 2: ColorChat(0,GREEN,"[ZP]^x01 ADMIN ^x04%s^x01 took ^x04%s^x01 ammo packs from all zombies.",name,arg_ap)
					case 3: ColorChat(0,GREEN,"[ZP]^x01 ADMIN ^x04%s^x01 took ^x04%s^x01 ammo packs from all players.",name,arg_ap)
					default: ColorChat(0,GREEN,"[ZP]^x01 ADMIN ^x04%s^x01 took ^x04%s^x01 ammo packs from ^x04%s^x01.",name,arg_ap,target_name)
				}
			}
		}
	}
	
	switch(type)
	{
		case 1: log_to_file(LOGFILE,"ADMIN %s [IP: %s][STEAMID: %s] took [%i] ammo packs from all humans.",name,ip,steamid,num_ap)
		case 2: log_to_file(LOGFILE,"ADMIN %s [IP: %s][STEAMID: %s] took [%i] ammo packs from all zombies.",name,ip,steamid,num_ap)
		case 3: log_to_file(LOGFILE,"ADMIN %s [IP: %s][STEAMID: %s] took [%i] ammo packs from all players.",name,ip,steamid,num_ap)
		default: log_to_file(LOGFILE,"ADMIN %s [IP: %s][STEAMID: %s] took [%i] ammo packs from %s [IP: %s][STEAMID: %s]",name,ip,steamid, num_ap, target_name,target_ip,target_steamid)
	}
	
	return PLUGIN_HANDLED
}

public hook_say(id)
{
	new args[129], arg_cmd[6],arg_name[32],arg_ap[10]
	read_args(args,128)
	remove_quotes(args)
	parse(args, arg_cmd,5, arg_name,31, arg_ap,9)
	
	if(get_pcvar_num(cvar_cmd_give) && equali(arg_cmd,"/give"))
	{
		new name[32],target_name[32], ip[16],target_ip[16], steamid[32],target_steamid[32],
		target, num_ap = str_to_num(arg_ap)
		
		get_user_name(id,name,31)
		get_user_ip(id,ip,15,1)
		get_user_authid(id,steamid,31)
		
		target = cmd_target(id,arg_name,0)
		
		get_user_name(target,target_name,31)
		get_user_ip(target,target_ip,15,1)
		get_user_authid(target,target_steamid,31)
		
		if(equal(arg_name,""))
		{
			CC_SendMessage(id, "&x04<Server> &x01Example: &x04/give player 5&x01.")
			return
		}
		
		if(!target)
		{
			CC_SendMessage(id, "^x04<Server> ^x01Invalid name.")
			return
		}
		
		if(id == target)
		{
			CC_SendMessage(id, "^x04<Server> ^x01Unavailable command.")
			return
		}
		
		if(zp_get_user_ammo_packs(id) < num_ap)
		{
			CC_SendMessage(id, "^x04<Server> ^x01Unavailable command.")
			return
		}
		
		if(num_ap <= 0)
		{
			CC_SendMessage(id, "^x04<Server> ^x01Unavailable command.")
			return
		}
		
		zp_set_user_ammo_packs(id, zp_get_user_ammo_packs(id) - num_ap)
		zp_set_user_ammo_packs(target, zp_get_user_ammo_packs(target) + num_ap)
		
		if(get_pcvar_num(cvar_give_ammo_public)) CC_SendMessage(0, "&x04<Server> &x01Player &x04%s &x01gave &x04%s &x01AP to &x04%s&x01.",name,arg_ap,target_name)
		
		log_to_file("addons/amxmodx/logs/zp_ua_uaio_veco.log","%s [IP: %s][STEAMID: %s] gave [%i] ammo packs to %s [IP: %s][STEAMID: %s]",name,ip,steamid, num_ap, target_name,target_ip,target_steamid)
	}
	
	if(get_pcvar_num(cvar_cmd_ap) && equali(arg_cmd,"/ap")) CC_SendMessage(id, "&x04<Server> &x01You have &x04%i &x01AP.",zp_get_user_ammo_packs(id))
	
	if(get_pcvar_num(cvar_cmd_ammo) && equali(arg_cmd,"/ammo"))
	{
		new target_name[32],target
		target = cmd_target(id,arg_name,0)
		get_user_name(target,target_name,31)
		
		if(equal(arg_name,""))
		{
			CC_SendMessage(id, "^x04<Server> ^x01You must enter a name.")
			return
		}
		
		if(!target)
		{
			CC_SendMessage(id, "^x04<Server> ^x01Invalid name.")
			return
		}
		
		if(id == target)
		{
			ColorChat(id,GREEN,"[ZP]^x01 Try the^x04 /ap^x01 command to see your ammo packs.")
			return
		}
		
		CC_SendMessage(id, "&x04<Server> &x01Player &x04%s &x01has &x04%i &x01AP.", target_name, zp_get_user_ammo_packs(target))
	}
}

public event_damage(id)
{
	new killer,hp
	killer = get_user_attacker(id)
	hp = get_user_health(id)
	
	if((1 <= id <= maxplayers) && is_user_connected(id) && is_user_connected(killer))
	{
		if(hp > 0)
		{
			switch(get_pcvar_num(cvar_show_hp))
			{
				case 1: if(zp_get_user_zombie(id)) client_print(killer,print_center,"HP: %i",hp)
				case 2: if(zp_get_user_nemesis(id)) client_print(killer,print_center,"HP: %i",hp)
				case 3: if(zp_get_user_zombie(id) || zp_get_user_nemesis(id)) client_print(killer,print_center,"HP: %i",hp)
			}
		} else {
			switch(get_pcvar_num(cvar_show_hp))
			{
				case 1: if(zp_get_user_zombie(id)) client_print(killer,print_center,"KILLED!")
				case 2: if(zp_get_user_nemesis(id)) client_print(killer,print_center,"KILLED!")
				case 3: if(zp_get_user_zombie(id) || zp_get_user_nemesis(id)) client_print(killer,print_center,"KILLED!")
			}
		}
	}
}

public event_hltv(id) if(get_pcvar_num(cvar_data_save_type) != -1) save_user_data(id)

public client_putinserver(id) if(get_pcvar_num(cvar_data_save_type) != -1) set_task(0.1,"load_user_data",id)

public client_disconnect(id)
{
	if(get_pcvar_num(cvar_data_save_type) != -1 && must_save[id])
	{
		save_user_data(id)
		must_save[id] = false
	}
}

public load_user_data(id)
{
	if(!is_user_connected(id)) return
	
	new user_data[64], vaultkey[64],vaultdata[63], data_ammo_packs[32],data_zombie_class[32], vault_timestamp
	
	switch(get_pcvar_num(cvar_data_save_type))
	{
		case 1:
		{
			get_user_ip(id,user_data,63,1)
			format(vaultkey,63,"[ip]%s",user_data)
		}
		case 2:
		{
			get_user_authid(id,user_data,63)
			format(vaultkey,63,"[aulthid]%s",user_data)
		}
		default:
		{
			get_user_name(id,user_data,63)
			format(vaultkey,63,"[name]%s",user_data)
		}
	}
	
	if(!nvault_lookup(data_vault,vaultkey,vaultdata,62,vault_timestamp))
	{
		must_save[id] = true
		return
	}
	
	nvault_get(data_vault,vaultkey,vaultdata,62)
	replace_all(vaultdata,62,"#"," ")
	
	parse(vaultdata, data_ammo_packs,31, data_zombie_class,31)
	zp_set_user_ammo_packs(id, str_to_num(data_ammo_packs))
	zp_set_user_zombie_class(id, str_to_num(data_zombie_class))
	
	must_save[id] = true
	
	if(get_pcvar_num(cvar_ammo_limit) != 0 && zp_get_user_ammo_packs(id) > get_pcvar_num(cvar_ammo_limit)) zp_set_user_ammo_packs(id,get_pcvar_num(cvar_ammo_limit))
}

public save_user_data(id)
{
	new user_data[64], vaultkey[64],vaultdata[63]
	
	switch(get_pcvar_num(cvar_data_save_type))
	{
		case 1:
		{
			get_user_ip(id,user_data,63,1)
			format(vaultkey,63,"[ip]%s",user_data)
		}
		case 2:
		{
			get_user_authid(id,user_data,63)
			format(vaultkey,63,"[aulthid]%s",user_data)
		}
		default:
		{
			get_user_name(id,user_data,63)
			format(vaultkey,63,"[name]%s",user_data)
		}
	}
	
	format(vaultdata,62,"%i#%i#",zp_get_user_ammo_packs(id),zp_get_user_zombie_class(id))
	nvault_set(data_vault,vaultkey,vaultdata)
}

FindPlayer() {
	new i = -1

	while(i <= get_maxplayers()) {
		if(is_user_connected(++i))
			return i
	}

	return -1
}
/*END - From colorchat.inc by Numb */

Публикувай отговор
  • Подобни теми
    Отговори
    Преглеждания
     Последно мнение

Обратно към “Поддръжка / Помощ”

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 6 госта