hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.05.23. 09:47



Jelenlévő felhasználók

Jelenleg 296 felhasználó van jelen :: 0 regisztrált, 0 rejtett és 296 vendég

A legtöbb felhasználó (1565 fő) 2020.11.21. 11:26-kor tartózkodott itt.

Regisztrált felhasználók: nincs regisztrált felhasználó az elmúlt 5 percben aktív felhasználók alapján

Utoljára aktív
Ahhoz hogy lásd ki volt utoljára aktív, be kell jelentkezned.



Az oldal teljeskörű
használatához regisztrálj.

Regisztráció

Kereső


Új téma nyitása  Hozzászólás a témához  [ 3 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: gravity kés
HozzászólásElküldve: 2012.07.12. 21:47 
Offline
Őskövület
Avatar

Csatlakozott: 2012.02.27. 09:42
Hozzászólások: 2588
Megköszönt másnak: 26 alkalommal
Megköszönték neki: 418 alkalommal
Hali
Kód:
#include <amxmodx>
#include <amxmisc>
#include <engine>
#include <vault>
#include <fun>

#define PLUGIN "Knife Mod"
#define VERSION "1.0"
#define AUTHOR "spunko"

#define TASK_INTERVAL 4.0 
#define MAX_HEALTH 255 

new knife_model[33]
new g_Menu

new CVAR_HIGHSPEED
new CVAR_LOWSPEED
new CVAR_LOWGRAV
new CVAR_NORMGRAV
new CVAR_HEALTH_ADD
new CVAR_HEALTH_MAX
new CVAR_DAMAGE

public plugin_init() {
   
   register_plugin(PLUGIN, VERSION, AUTHOR)
   
   register_event( "Damage", "event_damage", "be" )
   register_event("CurWeapon","CurWeapon","be","1=1")
   
   g_Menu = register_menuid("Knife Mod")
   register_menucmd(g_Menu, 1023, "knifemenu")
   
   register_clcmd("say /knife", "display_knife")
   
   CVAR_HIGHSPEED = register_cvar("km_highspeed","340")
   CVAR_LOWSPEED = register_cvar("km_lowspeed","170")
   CVAR_HEALTH_ADD = register_cvar("km_addhealth", "3")
   CVAR_HEALTH_MAX = register_cvar("km_maxhealth", "75")
   CVAR_DAMAGE = register_cvar("km_damage", "2")
   CVAR_LOWGRAV = register_cvar("km_lowgravity" , "400")
   CVAR_NORMGRAV = get_cvar_pointer("sv_gravity")
   
   set_task(480.0, "kmodmsg", 0, _, _, "b")
}

public plugin_precache() {
   precache_model("models/knife-mod/v_butcher.mdl")
   precache_model("models/knife-mod/p_butcher.mdl")
   precache_model("models/knife-mod/v_machete.mdl")
   precache_model("models/knife-mod/p_machete.mdl")
   precache_model("models/knife-mod/v_bak.mdl")
   precache_model("models/knife-mod/p_bak.mdl")
   precache_model("models/knife-mod/v_pocket.mdl")
   precache_model("models/knife-mod/p_pocket.mdl")
   precache_model("models/v_knife.mdl")
   precache_model("models/p_knife.mdl")
}

public display_knife(id) {
   new menuBody[512]
   add(menuBody, 511, "\rKnife Mod\w^n^n")
   add(menuBody, 511, "1. Machete \y(More Damage/Low Speed)\w^n")
   add(menuBody, 511, "2. Bak Knife \y(No Footsteps)\w^n")
   add(menuBody, 511, "3. Pocket Knife \y(High Speed)\w^n")
   add(menuBody, 511, "4. Butcher Knife \y(Low Gravity)\w^n")
   add(menuBody, 511, "5. Default Knife \y(Health Regeneration)\w^n^n")
   add(menuBody, 511, "0. Exit^n")
   
   new keys = ( 1<<0 | 1<<1 | 1<<2 | 1<<3 | 1<<4 | 1<<9 )
   show_menu(id, keys, menuBody, -1, "Knife Mod")
}

public knifemenu(id, key) {
   switch(key)
   {
      case 0: SetKnife(id , 4)
      case 1: SetKnife(id , 2)
      case 2: SetKnife(id , 3)
      case 3: SetKnife(id , 1)
      case 4: SetKnife(id , 0)
      default: return PLUGIN_HANDLED
   }
   SaveData(id)
   return PLUGIN_HANDLED
}

public SetKnife(id , Knife) {
   knife_model[id] = Knife
   
   new Clip, Ammo, Weapon = get_user_weapon(id, Clip, Ammo)
   if ( Weapon != CSW_KNIFE )
      return PLUGIN_HANDLED
   
   new vModel[56],pModel[56]
   
   switch(Knife)
   {
      case 0: {
         format(vModel,55,"models/v_knife.mdl")
         format(pModel,55,"models/p_knife.mdl")
      }
      case 1: {
         format(vModel,55,"models/knife-mod/v_butcher.mdl")
         format(pModel,55,"models/knife-mod/p_butcher.mdl")
      }
      case 2: {
         format(vModel,55,"models/knife-mod/v_bak.mdl")
         format(pModel,55,"models/knife-mod/p_bak.mdl")
      }
      case 3: {
         format(vModel,55,"models/knife-mod/v_pocket.mdl")
         format(pModel,55,"models/knife-mod/p_pocket.mdl")
      }
      case 4: {
         format(vModel,55,"models/knife-mod/v_machete.mdl")
         format(pModel,55,"models/knife-mod/p_machete.mdl")
      }
   }
   
   entity_set_string(id, EV_SZ_viewmodel, vModel)
   entity_set_string(id, EV_SZ_weaponmodel, pModel)
   
   return PLUGIN_HANDLED; 
}

public event_damage( id ) {
   
   new victim_id = id;
   if( !is_user_connected( victim_id ) ) return PLUGIN_CONTINUE
   new dmg_take = read_data( 2 );
   new dmgtype = read_data( 3 );
   new Float:multiplier = get_pcvar_float(CVAR_DAMAGE);
   new Float:damage = dmg_take * multiplier;
   new health = get_user_health( victim_id );
   
   new iWeapID, attacker_id = get_user_attacker( victim_id, iWeapID );
   
   if( !is_user_connected( attacker_id ) || !is_user_alive( victim_id ) ) {
      return PLUGIN_HANDLED
   }
   
   if( iWeapID == CSW_KNIFE && knife_model[attacker_id] == 4 ) {
      
      if( floatround(damage) >= health ) {
         if( victim_id == attacker_id ) {
            return PLUGIN_CONTINUE
            }else{
            log_kill( attacker_id, victim_id, "knife", 0 );
         }
         
         return PLUGIN_CONTINUE
         }else {
         if( victim_id == attacker_id ) return PLUGIN_CONTINUE
         
         fakedamage( victim_id, "weapon_knife", damage, dmgtype );
      }
   }
   return PLUGIN_CONTINUE
}

public CurWeapon(id)
   {
   new Weapon = read_data(2)
   
   // Set Knife Model
   SetKnife(id, knife_model[id])   
   
   // Task Options
   
   if(knife_model[id] == 0 && !task_exists(id) && Weapon == CSW_KNIFE)
      set_task(TASK_INTERVAL , "task_healing",id,_,_,"b")
   else if(task_exists(id))
      remove_task(id)
   
   // Abilities
   set_user_footsteps(id , ( (knife_model[id] == 2 && Weapon == CSW_KNIFE) ? 1 : 0) )
   
   new Float:Gravity = ((knife_model[id] == 1 && Weapon == CSW_KNIFE)? get_pcvar_float(CVAR_LOWGRAV) : get_pcvar_float(CVAR_NORMGRAV)) / 800.0
   set_user_gravity(id , Gravity)
   
   // Speed
   new Float:Speed
   if(Weapon != CSW_KNIFE || knife_model[id] < 3)
      return PLUGIN_CONTINUE
   else if(knife_model[id] == 3)
      Speed = get_pcvar_float(CVAR_HIGHSPEED)
   else if(knife_model[id] == 4)
      Speed = get_pcvar_float(CVAR_LOWSPEED)
   
   set_user_maxspeed(id, Speed)
   
   return PLUGIN_HANDLED   
   
}

stock log_kill(killer, victim, weapon[],headshot) {
   user_silentkill( victim );
   
   message_begin( MSG_ALL, get_user_msgid( "DeathMsg" ), {0,0,0}, 0 );
   write_byte( killer );
   write_byte( victim );
   write_byte( headshot );
   write_string( weapon );
   message_end();
   
   new kfrags = get_user_frags( killer );
   set_user_frags( killer, kfrags++ );
   new vfrags = get_user_frags( victim );
   set_user_frags( victim, vfrags++ );
   
   return  PLUGIN_CONTINUE
}


public task_healing(id) { 
   new addhealth = get_pcvar_num(CVAR_HEALTH_ADD) 
   if (!addhealth)
      return 
   
   new maxhealth = get_pcvar_num(CVAR_HEALTH_MAX) 
   if (maxhealth > MAX_HEALTH) {
      set_pcvar_num(CVAR_HEALTH_MAX, MAX_HEALTH) 
      maxhealth = MAX_HEALTH
   } 
   
   new health = get_user_health(id)   
   
   if (is_user_alive(id) && (health < maxhealth)) {
      set_user_health(id, health + addhealth)
      set_hudmessage(0, 255, 0, -1.0, 0.25, 0, 1.0, 2.0, 0.1, 0.1, 4)
      show_hudmessage(id,"<< !!HEAL IN PROGRESS!! >>")
      message_begin(MSG_ONE, get_user_msgid("ScreenFade"), {0,0,0}, id)
      write_short(1<<10)
      write_short(1<<10)
      write_short(0x0000)
      write_byte(0)
      write_byte(200)
      write_byte(0)
      write_byte(75)
      message_end()
   }
   
   else {
      if (is_user_alive(id) && (health > maxhealth))
         remove_task(id)
   }


public client_disconnect(id) { 
   if(task_exists(id)) remove_task(id) 



public kmodmsg() {
   
   client_print(0,print_chat,"[AMXX] Type /knife to change your knife skins")


public client_authorized(id)
   {
   LoadData(id)
}

SaveData(id)
{
   
   new authid[32]
   get_user_authid(id, authid, 31)
   
   new vaultkey[64]
   new vaultdata[64]
   
   format(vaultkey, 63, "KMOD_%s", authid)
   format(vaultdata, 63, "%d", knife_model[id])
   set_vaultdata(vaultkey, vaultdata)
}

LoadData(id)
{
   new authid[32]
   get_user_authid(id,authid,31)
   
   new vaultkey[64], vaultdata[64]
   
   format(vaultkey, 63, "KMOD_%s", authid)
   get_vaultdata(vaultkey, vaultdata, 63)
   knife_model[id] = str_to_num(vaultdata)
   
}


Ezt kéne úgy átirni h /gravityknife parancsra az illető aki beírta kapjon 1 kést aminek a gravitációja 400

_________________
Kép


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: gravity kés
HozzászólásElküldve: 2012.07.19. 17:48 
Offline
Őskövület
Avatar

Csatlakozott: 2011.09.17. 17:54
Hozzászólások: 2350
Megköszönt másnak: 40 alkalommal
Megköszönték neki: 57 alkalommal
Teszt nem volt.

Kód:
  1. #include <amxmodx>

  2. #include <amxmisc>

  3. #include <hamsandwich>

  4. #include <fun>

  5.  

  6. #define PLUGIN "Gravity Knife"

  7. #define VERSION "1.0"

  8. #define AUTHOR "VirTuaL ~`"

  9.  

  10. new bool:hasgknife[ 33 ];

  11.  

  12. public plugin_init()

  13. {

  14.     register_plugin(PLUGIN, VERSION, AUTHOR)

  15.    

  16.     register_clcmd("say /gravityknife", "gknife")

  17.     register_clcmd("say_team /gravityknife", "gknife")

  18.    

  19.     register_event("CurWeapon", "curweapon", "be", "1=1")

  20. }

  21.  

  22. public client_connect(id)

  23. {

  24.         hasgknife[ id ] = false;

  25. }

  26.  

  27. public client_disconnect(id)

  28. {

  29.         hasgknife[ id ] = false;

  30. }

  31.  

  32. public gknife(id)

  33. {

  34.         hasgknife[ id ] = false;

  35. }

  36.  

  37. public curweapon(id)

  38. {

  39.         new clip, ammo

  40.         new weapon = get_user_weapon(id, clip, ammo)

  41.         if(weapon == CSW_KNIFE)

  42.         {

  43.                 set_user_gravity(id, 0.5)

  44.                 hasgknife[ id ] = true;

  45.         }

  46.         else

  47.         {

  48.                 set_user_gravity(id, 0.0)

  49.                 hasgknife[ id ] = false;

  50.         }

  51. }


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: gravity kés
HozzászólásElküldve: 2012.07.27. 07:23 
Offline
Veterán
Avatar

Csatlakozott: 2011.06.07. 15:29
Hozzászólások: 1728
Megköszönt másnak: 1 alkalommal
Megköszönték neki: 63 alkalommal
Nemjó. Ha beírja, akkor false a hasgknife értéke? Meg fegyverváltáskor ha késre vált, akkor egyből 400-as gravitije lesz, nem csak akkor, amikor be is írta a parancsot. Javítva.

Kód:
  1.     #include <amxmodx>

  2.     #include <amxmisc>

  3.     #include <hamsandwich>

  4.     #include <fun>

  5.      

  6.     #define PLUGIN "Gravity Knife"

  7.     #define VERSION "1.0"

  8.     #define AUTHOR "VirTuaL ~`"

  9.      

  10.     new bool:hasgknife[ 33 ];

  11.      

  12.     public plugin_init()

  13.     {

  14.         register_plugin(PLUGIN, VERSION, AUTHOR)

  15.        

  16.         register_clcmd("say /gravityknife", "gknife")

  17.         register_clcmd("say_team /gravityknife", "gknife")

  18.        

  19.         register_event("CurWeapon", "curweapon", "be", "1=1")

  20.     }

  21.      

  22.     public client_connect(id)

  23.     {

  24.             hasgknife[ id ] = false;

  25.     }

  26.      

  27.     public client_disconnect(id)

  28.     {

  29.             hasgknife[ id ] = false;

  30.     }

  31.      

  32.     public gknife(id)

  33.     {

  34.             hasgknife[ id ] = true;

  35.     }

  36.      

  37.     public curweapon(id)

  38.     {

  39.             new clip, ammo

  40.             new weapon = get_user_weapon(id, clip, ammo)

  41.             if(hasgknife[id] && weapon == CSW_KNIFE)

  42.             {

  43.                     set_user_gravity(id, 0.5)

  44.             }

  45.             else

  46.             {

  47.                     set_user_gravity(id, 0.0)

  48.             }

  49.     }


Hozzászólás jelentése
Vissza a tetejére
   
Hozzászólások megjelenítése:  Rendezés  
Új téma nyitása  Hozzászólás a témához  [ 3 hozzászólás ] 


Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 11 vendég


Nyithatsz új témákat ebben a fórumban.
Válaszolhatsz egy témára ebben a fórumban.
Nem szerkesztheted a hozzászólásaidat ebben a fórumban.
Nem törölheted a hozzászólásaidat ebben a fórumban.
Nem küldhetsz csatolmányokat ebben a fórumban.

Keresés:
Ugrás:  
Powered by phpBB® Forum Software © phpBB Limited
Magyar fordítás © Magyar phpBB Közösség
Portal: Kiss Portal Extension © Michael O'Toole