Page 1 of 1

Nu merge plugin parasuta

Posted: 04 Jul 2019, 14:44
by Kalamar2000
Salut, de ce nu imi merge pluginul la parasuta ? am facut tot ce trebuia dar cand bag parachute.mdl in models imi da ca cica sa bag alt model in models, iar cand caut pe google modelul ce mi-l cere nu il gasesc ajutor !

Re: Nu merge plugin parasuta

Posted: 05 Jul 2019, 14:08
by Doctor whO? <3

Code: Select all

#include <amxmodx>
#include <amxmisc>
#include <engine>
#include <cstrike>
#include <fun>

new para_ent[33]

public plugin_init()
{
   register_plugin("Parachute", "1.0", "Necunoscut")

   register_event("ResetHUD", "newSpawn", "be")
   register_event("DeathMsg", "death_event", "a")
}

public plugin_natives()
{
   set_native_filter("native_filter")
}

public native_filter(const name[], index, trap)
{
   if (!trap) return PLUGIN_HANDLED
   return PLUGIN_CONTINUE
}

public client_connect(id)
{
   parachute_reset(id)
}

public client_disconnect(id)
{
   parachute_reset(id)
}

public death_event()
{
   new id = read_data(2)
   parachute_reset(id)
}

parachute_reset(id)
{
   if(para_ent[id] > 0) 
   {
      if (is_valid_ent(para_ent[id])) 
      {
         remove_entity(para_ent[id])
      }
   }

   if(is_user_alive(id)) set_user_gravity(id, 1.0)
   para_ent[id] = 0
}

public newSpawn(id)
{
   if(para_ent[id] > 0) 
   {
      remove_entity(para_ent[id])
      set_user_gravity(id, 1.0)
      para_ent[id] = 0
   }
}

public client_PreThink(id)
{
   if(!is_user_alive(id)) return
   
   new Float:fallspeed = 100 * -1.0
   new Float:frame
   new button = get_user_button(id)
   new oldbutton = get_user_oldbutton(id)
   new flags = get_entity_flags(id)
   if(para_ent[id] > 0 && (flags & FL_ONGROUND)) 
   {
      if(get_user_gravity(id) == 0.1) set_user_gravity(id, 1.0)
      {
         if(entity_get_int(para_ent[id],EV_INT_sequence) != 2) 
         {
            entity_set_int(para_ent[id], EV_INT_sequence, 2)
            entity_set_int(para_ent[id], EV_INT_gaitsequence, 1)
            entity_set_float(para_ent[id], EV_FL_frame, 0.0)
            entity_set_float(para_ent[id], EV_FL_fuser1, 0.0)
            entity_set_float(para_ent[id], EV_FL_animtime, 0.0)
            entity_set_float(para_ent[id], EV_FL_framerate, 0.0)
            return
         }
         frame = entity_get_float(para_ent[id],EV_FL_fuser1) + 2.0
         entity_set_float(para_ent[id],EV_FL_fuser1,frame)
         entity_set_float(para_ent[id],EV_FL_frame,frame)
         if(frame > 254.0) 
         {
            remove_entity(para_ent[id])
            para_ent[id] = 0
         }
         else 
         {
            remove_entity(para_ent[id])
            set_user_gravity(id, 1.0)
            para_ent[id] = 0
         }
         return
      }
   }
   if (button & IN_USE) 
   {
      new Float:velocity[3]
      entity_get_vector(id, EV_VEC_velocity, velocity)
      if(velocity[2] < 0.0) 
      {
         if(para_ent[id] <= 0) 
         {
            para_ent[id] = create_entity("info_target")
            if(para_ent[id] > 0) 
            {
               entity_set_string(para_ent[id],EV_SZ_classname,"parachute")
               entity_set_edict(para_ent[id], EV_ENT_aiment, id)
               entity_set_edict(para_ent[id], EV_ENT_owner, id)
               entity_set_int(para_ent[id], EV_INT_movetype, MOVETYPE_FOLLOW)
               entity_set_int(para_ent[id], EV_INT_sequence, 0)
               entity_set_int(para_ent[id], EV_INT_gaitsequence, 1)
               entity_set_float(para_ent[id], EV_FL_frame, 0.0)
               entity_set_float(para_ent[id], EV_FL_fuser1, 0.0)
            }
         }
         if(para_ent[id] > 0) 
         {
            entity_set_int(id, EV_INT_sequence, 3)
            entity_set_int(id, EV_INT_gaitsequence, 1)
            entity_set_float(id, EV_FL_frame, 1.0)
            entity_set_float(id, EV_FL_framerate, 1.0)
            set_user_gravity(id, 0.1)
            velocity[2] = (velocity[2] + 40.0 < fallspeed) ? velocity[2] + 40.0 : fallspeed
            entity_set_vector(id, EV_VEC_velocity, velocity)
            if(entity_get_int(para_ent[id],EV_INT_sequence) == 0) 
            {
               frame = entity_get_float(para_ent[id],EV_FL_fuser1) + 1.0
               entity_set_float(para_ent[id],EV_FL_fuser1,frame)
               entity_set_float(para_ent[id],EV_FL_frame,frame)
               if (frame > 100.0) 
               {
                  entity_set_float(para_ent[id], EV_FL_animtime, 0.0)
                  entity_set_float(para_ent[id], EV_FL_framerate, 0.4)
                  entity_set_int(para_ent[id], EV_INT_sequence, 1)
                  entity_set_int(para_ent[id], EV_INT_gaitsequence, 1)
                  entity_set_float(para_ent[id], EV_FL_frame, 0.0)
                  entity_set_float(para_ent[id], EV_FL_fuser1, 0.0)
               }
            }
         }
      }
      else if(para_ent[id] > 0) 
      {
         remove_entity(para_ent[id])
         set_user_gravity(id, 1.0)
         para_ent[id] = 0
      }
   }
   else if((oldbutton & IN_USE) && para_ent[id] > 0 ) 
   {
      remove_entity(para_ent[id])
      set_user_gravity(id, 1.0)
      para_ent[id] = 0
   }
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1049\\ f0\\ fs16 \n\\ par }
*/
Parasuta fara model :)

Re: Nu merge plugin parasuta

Posted: 05 Jul 2019, 14:10
by Kalamar2000
si trebuie sa iau alt model?

Re: Nu merge plugin parasuta

Posted: 05 Jul 2019, 14:19
by Doctor whO? <3
Nup, doar bagi ce ti-am dat mai sus intr-un fisier care il salvezi cu extensia .sma , il compilezi si il bagi pe server. E fara model.

Re: Nu merge plugin parasuta

Posted: 05 Jul 2019, 14:23
by Kalamar2000
Bine, mersi !