Witajcie,
ostatnio napisałem plugin pt.: Paralizator pod JB by Cypis`.
Mam następujący problem:
- nie zamraża po uderzeniu.
-paralizator jak i inne bronie CT nie zadają DMG przy czym TT zadają DMG.
Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
|
Napisano 22.12.2013 18:00
Witajcie,
ostatnio napisałem plugin pt.: Paralizator pod JB by Cypis`.
Mam następujący problem:
- nie zamraża po uderzeniu.
-paralizator jak i inne bronie CT nie zadają DMG przy czym TT zadają DMG.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Pomogłem? Daj +, Ciebie to nic nie kosztuje, a mnie motywuje!
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
CS-FragMania.pl - Twoja sieć serwerów, zapraszam!
Napisano 22.12.2013 19:18
#include <amxmodx>
#include <fakemeta>
#include <fun>
#include <hamsandwich>
new g_iMaxPlayers;
#define IsPlayer(%1) (1 <= %1 <= g_iMaxPlayers)
new g_iCzas[33];
new Paraliz;
#define SetParaliz(%1) (Paraliz |= (1<<(%1-1)))
#define CheckParaliz(%1) (Paraliz & (1<<(%1-1)))
#define RemoveParaliz(%1) (Paraliz &= ~(1<<(%1-1)))
public plugin_init()
{
register_plugin("Paralizator", "1.0.0", "xxxxxx");
RegisterHam(Ham_TakeDamage, "player", "fwTakeDamage");
RegisterHam(Ham_Item_Deploy, "weapon_knife", "Item_Deploy", 1);
RegisterHam(Ham_Killed, "player", "Death", 1);
register_event("CurWeapon", "CurWeapon_event", "be", "1=1");
g_iMaxPlayers = get_maxplayers();
}
public CurWeapon_event(id)
{
if(CheckParaliz(id))
set_user_maxspeed(id, 0.1);
}
public Death(id, killer, shouldgib)
{
if(task_exists(id))
{
RemoveParaliz(id);
remove_task(id);
}
}
public plugin_precache()
{
precache_model("models/v_paralizator.mdl");
precache_model("models/v_paralizator2.mdl");
}
public Item_Deploy(wpn)
{
static iOwner;
iOwner = pev(wpn, pev_owner);
if(!IsPlayer(iOwner))
return HAM_IGNORED;
if(get_user_team(iOwner) == 2)
{
set_pev(iOwner, pev_viewmodel2, "models/v_paralizator.mdl");
set_pev(iOwner, pev_weaponmodel2, "models/v_paralizator2.mdl");
}
return HAM_IGNORED
}
public client_disconnect(id)
RemoveParaliz(id);
public fwTakeDamage(this, idinflictor, idattacker, Float:damage, damagebits)
{
if(is_user_alive(idattacker) && get_user_team(idattacker) == 2)
{
new wid = get_user_weapon(idattacker); // Id broni
if(wid == CSW_KNIFE && !CheckParaliz(this) && is_user_alive(this) && get_user_team(this) == 1)
{
client_print(idattacker, print_center, "Sparalizowales Gracza! Masz 10 sek na przeszukanie go!");
client_print(this, print_center, "Nie mozesz sie ruszac przez 10 sekund!");
g_iCzas[this] = 10;
set_task(1.0, "zamroz", this, _, _, "b");
set_user_maxspeed(this, 0.1);
set_user_rendering(this, kRenderGlow, 0, 0, 255, kRenderFxGlowShell, 16);
SetParaliz(this):
return HAM_SUPERCEDE
}
}
return HAM_IGNORED;
}
public zamroz(id)
{
if(--g_iCzas[id] <= 0)
{
remove_task(id);
set_user_maxspeed(id, -1.0);
set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderNormal);
RemoveParaliz(id);
}
}Sprawdź
Napisano 22.12.2013 19:34
Wydaje się, że wszystko działa, dziękuję, lecz znalazłem jeden błąd u cb ![]()
SetParaliz(this):
zamiast : -> ;
SetParaliz(this);
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Pomogłem? Daj +, Ciebie to nic nie kosztuje, a mnie motywuje!
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
CS-FragMania.pl - Twoja sieć serwerów, zapraszam!
Napisano 23.12.2013 11:59
@ref.
FD_GODPL wiesz co jednak coś z "odmrażaniem" nie działa. 10 sekund mija i nic, jak się stało tak się stoi dalej ![]()
@edit nadal nie wyświetla modelu z niebieską poświatą, tylko zmienia jego widoczność.
@edit2
ok naprawiłem to:
w dolnej części kodu miałeś błąd:
#include <amxmodx>
#include <fakemeta>
#include <fun>
#include <hamsandwich>
new g_iMaxPlayers;
#define IsPlayer(%1) (1 <= %1 <= g_iMaxPlayers)
new g_iCzas[33];
new Paraliz;
#define SetParaliz(%1) (Paraliz |= (1<<(%1-1)))
#define CheckParaliz(%1) (Paraliz & (1<<(%1-1)))
#define RemoveParaliz(%1) (Paraliz &= ~(1<<(%1-1)))
public plugin_init()
{
register_plugin("Paralizator", "1.0.0", "Eferen");
RegisterHam(Ham_TakeDamage, "player", "fwTakeDamage");
RegisterHam(Ham_Item_Deploy, "weapon_knife", "Item_Deploy", 1);
RegisterHam(Ham_Killed, "player", "Death", 1);
register_event("CurWeapon", "CurWeapon_event", "be", "1=1");
g_iMaxPlayers = get_maxplayers();
}
public CurWeapon_event(id)
{
if(CheckParaliz(id))
set_user_maxspeed(id, 0.1);
}
public Death(id, killer, shouldgib)
{
if(task_exists(id))
{
RemoveParaliz(id);
remove_task(id);
}
}
public plugin_precache()
{
precache_model("models/v_paralizator.mdl");
precache_model("models/v_paralizator2.mdl");
}
public Item_Deploy(wpn)
{
static iOwner;
iOwner = pev(wpn, pev_owner);
if(!IsPlayer(iOwner))
return HAM_IGNORED;
if(get_user_team(iOwner) == 2)
{
set_pev(iOwner, pev_viewmodel2, "models/v_paralizator.mdl");
set_pev(iOwner, pev_weaponmodel2, "models/v_paralizator2.mdl");
}
return HAM_IGNORED
}
public client_disconnect(id)
RemoveParaliz(id);
public fwTakeDamage(this, idinflictor, idattacker, Float:damage, damagebits)
{
if(is_user_alive(idattacker) && get_user_team(idattacker) == 2)
{
new wid = get_user_weapon(idattacker); // Id broni
if(wid == CSW_KNIFE && !CheckParaliz(this) && is_user_alive(this) && get_user_team(this) == 1)
{
client_print(idattacker, print_center, "Sparalizowales Gracza! Masz 10 sek na przeszukanie go!");
client_print(this, print_center, "Nie mozesz sie ruszac przez 10 sekund!");
g_iCzas[this] = 10;
set_task(1.0, "zamroz", this, _, _, "b");
set_user_maxspeed(this, 0.1);
set_user_rendering(this, kRenderGlow, 0, 0, 255, kRenderFxPulseSlow, 16)
SetParaliz(this);
return HAM_SUPERCEDE
}
}
return HAM_IGNORED;
}
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<O TUTAJ I PONIŻEJ>>>>>>>>>>>>>>>>>>>>>>>>>>>>
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< ZAMIAST THIS DAŁEŚ ID >>>>>>>>>>>>>>>>>>>>>>
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< WTEDY ZMIENNE g_iCzas[id] i g_iCzas[this] się nie zgadzały>
public zamroz(this)
{
--g_iCzas[this]
if(g_iCzas[this] <= 0)
{
remove_task(this);
set_user_maxspeed(this, -1.0);
set_user_rendering(this, kRenderFxNone, 0, 0, 0, kRenderNormal);
RemoveParaliz(this);
}
}
Użytkownik .Eferen. edytował ten post 23.12.2013 12:27
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Pomogłem? Daj +, Ciebie to nic nie kosztuje, a mnie motywuje!
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
CS-FragMania.pl - Twoja sieć serwerów, zapraszam!
0 użytkowników, 1 gości, 0 anonimowych