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ý.