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
Vlastné pluginy nefungujú
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)
}
}
“Any fool can write code that a computer can understand. Good programmers write code that humans can understand.” – Martin Fowler
“Marketing is the obverse of programming.” – John McAfee
“Copy and paste is a design error.” – David Parnas
“Marketing is the obverse of programming.” – John McAfee
“Copy and paste is a design error.” – David Parnas
-
- Příspěvky: 48
- Registrován: 11 črc 2019 23:52
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é...?
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ý.
“Any fool can write code that a computer can understand. Good programmers write code that humans can understand.” – Martin Fowler
“Marketing is the obverse of programming.” – John McAfee
“Copy and paste is a design error.” – David Parnas
“Marketing is the obverse of programming.” – John McAfee
“Copy and paste is a design error.” – David Parnas