Chcę każdemu przedstawić dobrą pomoc w przerabianiu klas ręcznie.
Więc let's go
Jak chcemy dodać 1/x z broni to tak :
Spoiler
Pod:
dodajemy:
Szukamy:
Dodajemy:
I na samym końcu dodajemy:
#include <hamsandwich>
dodajemy:
#define DMG_BULLET (1<<1)
Szukamy:
public plugin_init()
Dodajemy:
RegisterHam(Ham_TakeDamage, "player", "TakeDamage");
I na samym końcu dodajemy:
public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits) { if(!is_user_connected(idattacker)) return HAM_IGNORED; if(!ma_klase[idattacker]) return HAM_IGNORED; if(!(damagebits & DMG_BULLET)) return HAM_IGNORED; if(get_user_weapon(idattacker) == CSW_DEAGLE && random_num(1,7) == 1) cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits); return HAM_IGNORED; } /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1045\\ f0\\ fs16 \n\\ par } */ /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1045\\ f0\\ fs16 \n\\ par } */
Edycja:
Spoiler
Szukamy:
i zamieniamy z jakiej broni ma być 1/x na zabicie natychmiastowe
Szukamy:
I tutaj ustawiamy ile ma być 1/x na zabicie
CSW_DEAGLE
i zamieniamy z jakiej broni ma być 1/x na zabicie natychmiastowe
Szukamy:
random_num(1,7
I tutaj ustawiamy ile ma być 1/x na zabicie
NIEWIDZIALNOSC
Spoiler
Szukamy:
Dodajemy:
Oraz Szukamy:
Dodajemy:
public cod_class_enabled(id)
Dodajemy:
set_rendering(id,kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 200);
Oraz Szukamy:
public cod_class_disabled(id)
Dodajemy:
set_rendering(id,kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 255);
Edycja:
Spoiler
Normalna Niewidzialność jest 255 a żeby była niższa to zmieniamy:
set_rendering(id,kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 200);
MULTIJUMPERY
Spoiler
Szukamy:
Dodajemy:
Na samym dole w:
Dodajemy:
Oraz na samym dole dodajemy:
new const wytrzymalosc = 0;
Dodajemy:
new skoki[33];
Na samym dole w:
public plugin_init()
Dodajemy:
register_forward(FM_CmdStart, "fwCmdStart_MultiJump");
Oraz na samym dole dodajemy:
public fwCmdStart_MultiJump(id, uc_handle) { if(!is_user_alive(id) || !ma_klase[id]) return FMRES_IGNORED; new flags = pev(id, pev_flags); if((get_uc(uc_handle, UC_Buttons) & IN_JUMP) && !(flags & FL_ONGROUND) && !(pev(id, pev_oldbuttons) & IN_JUMP) && skoki[id]) { skoki[id]--; new Float:velocity[3]; pev(id, pev_velocity,velocity); velocity[2] = random_float(265.0,285.0); set_pev(id, pev_velocity,velocity); } else if(flags & FL_ONGROUND) skoki[id] = 2; return FMRES_IGNORED; }
Edycja:
Spoiler
Żeby zmniejszyć lub powiększyć skoki to musimy zmienić tutaj
skoki[id] = 2;
Wyrzucenie Broni 1/x
Spoiler
Szukamy:
na dole dodajemy:
Oraz na samym dole klasy dodajemy:
public plugin_init()
na dole dodajemy:
RegisterHam(Ham_TakeDamage, "player", "fwTakeDamage_JedenZ");
Oraz na samym dole klasy dodajemy:
public fwTakeDamage_JedenZ(this, idInf, idAtt, Float:fDmg, dmgBits){ if(!is_user_alive(idAtt) || !ma_klase[idAtt] || !(dmgBits & (1<<1) ) || random_num(1, 4) != 1 ) return HAM_IGNORED; cs_set_user_armor(this, 0, CS_ARMOR_NONE); SetHamParamFloat(4, float(get_user_health(this) + 1)); return HAM_HANDLED; }
Edycja:
Spoiler
Zeby zmienić 1/x na wyrzucenie broni zmieniamy tutaj
random_num(1, 4)
Natychmiastowe Zabicie z noza
Spoiler
Szukamy:
na dole dodajemy:
Oraz na samym dole klasy dodajemy:
public plugin_init()
na dole dodajemy:
RegisterHam(Ham_TakeDamage, "player", "fwTakeDamage_JedenCios");
Oraz na samym dole klasy dodajemy:
public fwTakeDamage_JedenCios(id, ent, attacker) { if(is_user_alive(attacker) && ma_klase[attacker] && get_user_weapon(attacker) == CSW_KNIFE) { cs_set_user_armor(id, 0, CS_ARMOR_NONE); SetHamParamFloat(4, float(get_user_health(id) + 1)); return HAM_HANDLED; } return HAM_IGNORED; }