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, 0 gości, 0 anonimowych