Перейти к содержимому


Фотография

плагин невидимость zp


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 4

#1 Cooper1337

Cooper1337

    Новичок

  • Пользователь
  • Pip
  • 8 сообщений

Отправлено 27 Февраль 2022 - 20:50

Помогите решить проблемку пожалуйста

 

L 02/27/2022 - 10:52:31: [FUN] Invalid player 10

L 02/27/2022 - 10:52:31: [AMXX] Displaying debug trace (plugin "zp_fz_translucent.amxx", version "0.2")
L 02/27/2022 - 10:52:31: [AMXX] Run time error 10: native error (native "set_user_rendering")
L 02/27/2022 - 10:52:31: [AMXX]    [0] zp_fz_translucent.sma::invisibility (line 83)

Исходник не прикрепился почему то. Вот код 

/*
[ZP] Addon: First Zombie Translucent
Версия: 0.2
Автор: Arseny aka Without Soul
 
--- Описание ---
Дает первому зомби либо полупрозрачность, либо невидимость на определенное количество секунд (задается CVar'ами). 
PS Это мой первый плагин, прошу не судить строго :)
 
--- Установка ---
1) Распакуйте архив.
2) Плагин требует работы следующих модулей и инклюдов: ZOMBIE PLAGUE, FUN.
3) Файл "zp_fz_translucent.amxx" поместите в amxmodx/plugins.
4) Файл "zp_fz_translucent.sma" поместите в amxmodx/scripting.
5) Пропишите "zp_fz_translucent.amxx" в plugins.ini.
6) Перезагрузите сервер.
 
--- CVar'ы ---
zp_fz_mode - Выбор режима: 0 - полупрозрачность, 1 - невидимость. Стандартно - 0.
zp_fz_amount - Процент видимости первого зомби, от 1 до 99 (если zp_fz_mode = 0). Стандартно - 60%.
zp_fz_duration - Время в секундах, на которое дается невидимоть (если zp_fz_mode = 1). Стандартно - 15 секунд. 
 
--- История версий ---
0.1 - Первый релиз.
0.2 - Добавлен новый режим: либо полупрозрачность на весь раунд, либо полная невидимость на определенное количество секунд (задается CVar'ом).
      Добавлено три CVar'a.
      Добавлен файл языка.
*/
 
#include <amxmodx>
#include <zombieplague>
#include <fun>
 
#define PLUGIN "[ZP] Addon: First Zombie Translucent"
#define VERSION "0.2"
#define AUTHOR "Arseny aka Without Soul"
 
new Timer[33];
new g_HudSync;
new cvar_Mode, cvar_Amount, cvar_Duration;
 
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR);
register_dictionary("zp_fz_translucent.txt");
 
cvar_Mode = register_cvar("zp_fz_mode", "1");
cvar_Amount = register_cvar("zp_fz_amount", "60");
cvar_Duration = register_cvar("zp_fz_duration", "20");
 
g_HudSync = CreateHudSyncObj();
}
 
public zp_user_infected_post(id, infector) {
if(zp_get_user_first_zombie(id)) {
if(zp_get_user_zombie(id) && !zp_get_user_nemesis(id)) {
if(get_pcvar_num(cvar_Mode) <= 0) {
if(get_pcvar_num(cvar_Amount) < 1) {
set_pcvar_num(cvar_Amount, 1);
}
if(get_pcvar_num(cvar_Amount) > 99) {
set_pcvar_num(cvar_Amount, 99);
}
 
set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, get_pcvar_num(cvar_Amount));
 
set_hudmessage(255, 255, 0, -1.0, 0.3, 1, 1.0, 5.0, 1.0, 1.0, -1);
ShowSyncHudMsg(id, g_HudSync, "%L", id, "TRANSLUCENT", get_pcvar_num(cvar_Amount));
}
if(get_pcvar_num(cvar_Mode) >= 1) {
Timer[id] = get_pcvar_num(cvar_Duration);
 
invisibility(id);
} 
}
}
else {
set_user_rendering(id, kRenderFxNone, 0,0,0, kRenderNormal, 255);
}
} 
 
public invisibility(id) { 
if(Timer[id] <= 0) {
set_user_rendering(id, kRenderFxNone, 0,0,0, kRenderNormal, 255);
 
set_hudmessage(255, 0, 0, -1.0, 0.3, 1, 0.9, 3.0, 0.05, 0.05, -1);
ShowSyncHudMsg(id, g_HudSync, "%L", id, "INVISIBILITY_OFF");
 
return;
}
 
set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 1);
 
Timer[id]--;
 
set_hudmessage(255, 255, 0, -1.0, 0.3, 1, 0.9, 3.0, 0.05, 0.05, -1);
ShowSyncHudMsg(id, g_HudSync, "%L", id, "INVISIBILITY_REMAINING", Timer[id]);
 
set_task(1.0, "invisibility", id); 
}
 
public zp_user_humanized_post(id) {
set_user_rendering(id, kRenderFxNone, 0,0,0, kRenderNormal, 255); 
}

Вот 83 строка

set_user_rendering(id, kRenderFxNone, 0,0,0, kRenderNormal, 255);

  • StevMype это нравится

#2 muchacha

muchacha

    Новичок

  • Пользователь
  • Pip
  • 14 сообщений

Отправлено 28 Февраль 2022 - 17:20

В функции 

invisibility(id)

нужно сделать проверку на живой или мертвый

public invisibility(id) 
{
	if(is_user_alive(id))
	{
		if(Timer[id] <= 0) 
		{
			set_user_rendering(id, kRenderFxNone, 0,0,0, kRenderNormal, 255);
			 
			set_hudmessage(255, 0, 0, -1.0, 0.3, 1, 0.9, 3.0, 0.05, 0.05, -1);
			ShowSyncHudMsg(id, g_HudSync, "%L", id, "INVISIBILITY_OFF");	 
			return;
		}
	 
		set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 1);
	 
		Timer[id]--;
		 
		set_hudmessage(255, 255, 0, -1.0, 0.3, 1, 0.9, 3.0, 0.05, 0.05, -1);
		ShowSyncHudMsg(id, g_HudSync, "%L", id, "INVISIBILITY_REMAINING", Timer[id]);
		 
		set_task(1.0, "invisibility", id);
	}		
}

  • Cooper1337 это нравится

#3 Cooper1337

Cooper1337

    Новичок

  • Пользователь
  • Pip
  • 8 сообщений

Отправлено 28 Февраль 2022 - 18:26

 

В функции 

invisibility(id)

нужно сделать проверку на живой или мертвый

public invisibility(id) 
{
	if(is_user_alive(id))
	{
		if(Timer[id] <= 0) 
		{
			set_user_rendering(id, kRenderFxNone, 0,0,0, kRenderNormal, 255);
			 
			set_hudmessage(255, 0, 0, -1.0, 0.3, 1, 0.9, 3.0, 0.05, 0.05, -1);
			ShowSyncHudMsg(id, g_HudSync, "%L", id, "INVISIBILITY_OFF");	 
			return;
		}
	 
		set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 1);
	 
		Timer[id]--;
		 
		set_hudmessage(255, 255, 0, -1.0, 0.3, 1, 0.9, 3.0, 0.05, 0.05, -1);
		ShowSyncHudMsg(id, g_HudSync, "%L", id, "INVISIBILITY_REMAINING", Timer[id]);
		 
		set_task(1.0, "invisibility", id);
	}		
}

Огромное спасибо, помогло) Я тогда можно еще вас попрошу кое что глянуть?)

L 02/28/2022 - 18:23:54: [ZP] Invalid Player (0)

L 02/28/2022 - 18:23:54: [AMXX] Displaying debug trace (plugin "Anger_Zombie.amxx", version "1.1")
L 02/28/2022 - 18:23:54: [AMXX] Run time error 10: native error (native "zp_get_user_zombie")
L 02/28/2022 - 18:23:54: [AMXX]    [0] Anger_Zombie.sma::zp_user_infected_post (line 24)
 
Скрытый текст

Сообщение отредактировал Cooper1337: 28 Февраль 2022 - 18:28


#4 muchacha

muchacha

    Новичок

  • Пользователь
  • Pip
  • 14 сообщений

Отправлено 28 Февраль 2022 - 19:28

В строке

if(zp_get_user_zombie(infector))g_Count_Frags++

Должно быть так

if(is_user_connected(infector) && zp_get_user_zombie(infector))g_Count_Frags++

  • Cooper1337 это нравится

#5 Cooper1337

Cooper1337

    Новичок

  • Пользователь
  • Pip
  • 8 сообщений

Отправлено 28 Февраль 2022 - 21:29

огромное спасибо вам)




Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных