Stránka 1 z 1

Vlastné pluginy nefungujú

Napsal: 10 zář 2019 16:49
od RayCodeCSC
Zdravím, mám problém so serverom. Keď na server nahrám svoje pluginy, tak po smrti (napr. pád z veľkej výšky) ma to nerespawne, ale kamera ako keby zostane "zaseknutá" na mŕtvom hráčovi. HUD vidím stále svoj, a vľavo dole je "0 HP" červeno. Zistil som že to spôsobujú pravdepodobne všetky moje pluginy. V konzole servera mi to píše nech povolím debug mode, ale keď ho povolím, pluginy zasa nefungujú. Prikladám pluginy a ich kódy. Ono... ťažko sa mi to vysvetľuje. To by ste museli ísť na môj server a skúsiť si to samy....

https://uloz.to/file/9XSODxOic6DU/cs-1-6-scripts-me-rar

Re: Vlastné pluginy nefungujú

Napsal: 10 zář 2019 17:03
od DrWarpMan
Konkrétne plugin, ktorý vyvoláva bug je "vip_vyhody.amxx", pretože v eventoch Ham_Killed a Ham_Spawn, máte funkcie ktoré pridávaniu peniaze attackerovi (útočnikovi), avšak pri "samovražde" útočník neexistuje, skúste použiť tento kód, pridal som podmienku či attacker (útočník) existuje:

Kód: Vybrat vše

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

new g_iMaxPlayers;
#define FIRST_PLAYER_ID	1
#define IsPlayer(%1) (FIRST_PLAYER_ID <= %1 <= g_iMaxPlayers)

public plugin_init()
{
	register_plugin("VIP Vyhody", "1.0", "RayCodeCSC")

	g_iMaxPlayers	 	= get_maxplayers();

	RegisterHam(Ham_TakeDamage, "player", "isDamaged")
	RegisterHam(Ham_Killed, "player", "isKilled")
	RegisterHam(Ham_Spawn, "player", "afterSpawn")
}

public afterSpawn(id)
{
	if(get_user_flags(id) & ADMIN_LEVEL_A)
	{
		cs_set_user_money(id, cs_get_user_money(id) + 30)
	}
	else
	{
		cs_set_user_money(id, cs_get_user_money(id) + 3)
	}
}

public isDamaged(victim, attacker)
{
	if(IsPlayer(attacker))
	{
		if(get_user_flags(attacker) & ADMIN_LEVEL_A)
		{
			cs_set_user_money(attacker, cs_get_user_money(attacker) + 50)
		}
		else
		{
			cs_set_user_money(attacker, cs_get_user_money(attacker) + 15)
		}
	}

	if(get_user_flags(victim) & ADMIN_LEVEL_A)
	{
		cs_set_user_money(victim, cs_get_user_money(victim) + 10)
	}
	else
	{
		cs_set_user_money(victim, cs_get_user_money(victim) - 3)
	}
}


public isKilled(victim, attacker)
{
	if(IsPlayer(attacker))
	{
		if(get_user_flags(attacker) & ADMIN_LEVEL_A)
		{
			cs_set_user_money(attacker, cs_get_user_money(attacker) + 120)
			set_user_health(attacker, get_user_health(attacker) + 5)
			set_user_armor(attacker, get_user_armor(attacker) + 5)
		}
		else
		{
			cs_set_user_money(attacker, cs_get_user_money(attacker) + 30)
		}
	}

	if(get_user_flags(victim) & ADMIN_LEVEL_A)
	{
		cs_set_user_money(victim, cs_get_user_money(victim) + 5)
	}
	else
	{
		cs_set_user_money(victim, cs_get_user_money(victim) - 10)
	}
}

Re: Vlastné pluginy nefungujú

Napsal: 10 zář 2019 18:00
od RayCodeCSC
Tak som to už zrejme vyriešil. Chyba predsa len nie je na mojej strane, ale na strane JailBreak Extreme. Dal som si na server Pastout JailBreak mod, a funguje už všetko tak ako má. Akurát sa chcem ešte spýtať, dá sa nejako odstrániť v Pastout JailBreak mod /class menu pre CT? Skrátka aby nemohli používa´t príkaz /class. Neviem... cvar-om ho nejako zakázať alebo niečo také...?

Re: Vlastné pluginy nefungujú

Napsal: 10 zář 2019 22:27
od DrWarpMan
Chyba bola v danom plugine, len som si neuvedomil, že počas toho ako som testoval daný plugin, tak som ho vlastne nahrával na Váš server, tým pádom, Vy ho tam máte napravený.