busco plugins
#1
hola toy buscando un plugins que los player apretan una letra y se ponen a bailar por unos segundos
Responder
#2
https://forums.alliedmods.net/showthread.php?t=249422
Responder
#3
Me gustaria mejorar este plugins
agregando un acceso de admin , solo los que tengan este acceso ADMIN_IMMUNITY
podran usar el comando

say /dans

que sean 10 segundos de uso de baile y que sea 2 uso por ronda

bueno eso por el momento si me pueden ayudar porfavor

saludos


Código PHP:
/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <hamsandwich>
#include <fakemeta>
#include <xs>

#define PLUGIN "DANS Menusu"
#define VERSION "0.1.1"
#define AUTHOR "ANONIM // Edit: CSmiLeFaCe"

#define ANIM_MODEL "models/CSPlugin_Hareketler.mdl"

enum _:PLAYER_DATA
{
   
ENT_CAM,
   
ENT_MODEL,
   
ENT_ANIM,
   
ANIM_PLAYING
}

enum _:SEQ_DESC
{
   
MODEL[64],
   
SEQ_LABEL[33],
   
SEQ_FPS,
   
SEQ_FRAMES,
   
SEQ_FRAMERATE
}

new 
g_allocString

new g_playerData[33][PLAYER_DATA]

new Array:
g_animData

new g_animMenu

new g_cvarAccessFlag

public plugin_init() 
{
   
register_plugin(PLUGINVERSIONAUTHOR)
   
   
register_clcmd("say /dans""cmdAnim")

   
register_forward(FM_CmdStart"fwdCmdStart"1)
   
   
RegisterHam(Ham_Killed"player""fwdPlayerKilled"1)

   
g_allocString engfunc(EngFunc_AllocString"info_target")
   
   
g_animData ArrayCreate(SEQ_DESC)
   
   
g_animMenu menu_create("\y[DANS MENUSU] \d [CSmiLeFaCe]""animMenuHandler")
   
   
g_cvarAccessFlag register_cvar("anim_menu_access_flag""")
   
   
loadModel(ANIM_MODEL)
}

public 
plugin_precache()
{
   
precache_model(ANIM_MODEL)
}

public 
plugin_end()
{
   
ArrayDestroy(g_animData)
}

public 
loadModel(model[])
{
   new 
file fopen(model"rt")
   new 
numseqseqindexiFloat:framerate
   
   
new seqDesc[SEQ_DESC]
   
   
fseek(file164SEEK_SET)
   
fread(filenumseqBLOCK_INT)
   
fread(fileseqindexBLOCK_INT)
   
   for(
0numseqi++)
   {
      
fseek(fileseqindex 176*iSEEK_SET)
      
fread_blocks(fileseqDesc[SEQ_LABEL], 32BLOCK_CHAR)
      
      
fread(fileseqDesc[SEQ_FPS], BLOCK_INT)
   
      
fseek(file20SEEK_CUR)
      
fread(fileseqDesc[SEQ_FRAMES], BLOCK_INT)
      
      
framerate 256.0 Float:seqDesc[SEQ_FPS] / (seqDesc[SEQ_FRAMES] - 1)
      
      
seqDesc[SEQ_FRAMERATE] = _:framerate
      
      ArrayPushArray
(g_animDataseqDesc)
      
      
menu_additem(g_animMenuseqDesc[SEQ_LABEL], "")
   }
   
   
fclose(file)
}

public 
client_putinserver(id)
{
   if (!
g_playerData[id][ENT_MODEL])
      
createPlayerEnt(id)
}

public 
client_disconnect(id)
{
   
stopAnim(id)
}

public 
createPlayerEnt(id)
{
   new 
ent engfunc(EngFunc_CreateNamedEntityg_allocString)
   
set_pev(entpev_rendermodekRenderTransAdd)
   
set_pev(entpev_renderamt0.0)
   
set_pev(entpev_ownerid)
   
engfunc(EngFunc_SetModelentANIM_MODEL)
   
   
g_playerData[id][ENT_CAM] = ent
   
   ent
engfunc(EngFunc_CreateNamedEntityg_allocString)
   
engfunc(EngFunc_SetModelentANIM_MODEL)
   
set_pev(entpev_movetypeMOVETYPE_FLY)
   
set_pev(entpev_controller_163.75)
   
   
g_playerData[id][ENT_ANIM] = ent
   
   ent
engfunc(EngFunc_CreateNamedEntityg_allocString)
   
set_pev(entpev_movetypeMOVETYPE_FOLLOW)
   
set_pev(entpev_aimentg_playerData[id][ENT_ANIM])
   
set_pev(entpev_effectsEF_NODRAW)
   
   
g_playerData[id][ENT_MODEL] = ent
}

public 
cmdAnim(id)
{
    if(
is_user_alive(id)){
   new 
access[32], flag
   get_pcvar_string
(g_cvarAccessFlagaccess31)
   
flag read_flags(access)
   
   if (!
flag || (get_user_flags(id)&flag))
      
menu_display(idg_animMenu)
   else
      
client_print(idprint_chat"Yetki Yok.")
    }
}

public 
startAnim(idanim)
{
   new 
seqDesc[SEQ_DESC]
   
ArrayGetArray(g_animDataanimseqDesc)
   
   new 
ent g_playerData[id][ENT_ANIM]
   new 
modelEnt g_playerData[id][ENT_MODEL]
//   set_pev(ent, pev_framerate, seqDesc[SEQ_FRAMERATE])
   
set_pev(entpev_framerate1.0)
//   set_pev(ent, pev_animtime, (seqDesc[SEQ_FRAMES] - 1)/seqDesc[SEQ_FPS])
   
set_pev(entpev_sequenceanim)
   
set_pev(entpev_gaitsequenceanim)
   
   new 
Float:origin[3], Float:mins[3]
   
pev(idpev_originorigin)
   
pev(idpev_minsmins)
   
   
mins[0] = origin[0]
   
mins[1] = origin[1]
   
mins[2] += origin[2]
   
set_pev(entpev_originmins)
   
   
set_pev(modelEntpev_effects0)
   new 
model[64]
   
get_user_info(id"model"model63)
   
format(model63"models/player/%s/%s.mdl"modelmodel)
   
engfunc(EngFunc_SetModelmodelEntmodel)
   
   
set_pev(modelEntpev_bodypev(idpev_body))
   
set_pev(modelEntpev_skinpev(idpev_skin))
   
   
set_pev(entpev_controller_0128)
   
set_pev(entpev_controller_1128)
   
   
pev(idpev_anglesmins)
   
mins[0] = 0.0
   set_pev
(entpev_anglesmins)
   
set_pev(entpev_v_anglemins)
   
   
engfunc(EngFunc_SetViewidg_playerData[id][ENT_CAM])
   
g_playerData[id][ANIM_PLAYING] = 1
   
   set_pev
(idpev_effectsEF_NODRAW)
   
}

public 
stopAnim(id)
{
   
set_pev(g_playerData[id][ENT_MODEL], pev_effectsEF_NODRAW)
   
g_playerData[id][ANIM_PLAYING] = 0
   set_pev
(idpev_effects0)
   
   
engfunc(EngFunc_SetViewidid)
}

public 
animMenuHandler(idmenuitem)
{
   if(
item == MENU_EXIT)
      return 
PLUGIN_HANDLED
   
   
new access[32], flag
   get_pcvar_string
(g_cvarAccessFlagaccess31)
   
flag read_flags(access)
   
   if (
flag && !(get_user_flags(id)&flag))
   {
      
client_print(idprint_chat"www.csplugin.com")
      return 
PLUGIN_HANDLED
   
}
   
   if (!(
pev(idpev_flags)&FL_ONGROUND))
   {
      
client_print(idprint_chat"Yerinde dur!")
      return 
PLUGIN_HANDLED
   
}
   
   
startAnim(iditem)
   
   
menu_display(idg_animMenufloatround(item/7.0floatround_floor))
   
   return 
PLUGIN_HANDLED
}

public 
fwdCmdStart(iducrandseed)
{
   if (
is_user_alive(id) && g_playerData[id][ANIM_PLAYING])
   {
      if (!
get_uc(ucUC_Buttons))
      {
         static 
Float:fOrigin[3], Float:fAngle[3], Float:origin[3]
         
pevidpev_originorigin )
         
pev(idpev_view_ofsfOrigin)
         
xs_vec_add(originfOriginorigin)
         
xs_vec_copy(originfOrigin)
         
pev(idpev_v_anglefAngle)
      
         static 
Float:fVBack[3]
         
angle_vector(fAngleANGLEVECTOR_FORWARDfVBack)
      
         
fOrigin[2] += 20.0
         
         fOrigin
[0] += (-fVBack[0] * 150.0)
         
fOrigin[1] += (-fVBack[1] * 150.0)
         
fOrigin[2] += (-fVBack[2] * 150.0)
         
         static 
tr
         tr 
0
         engfunc
(EngFunc_TraceLineoriginfOriginIGNORE_MONSTERSidtr)
         
get_tr2(trTR_vecEndPosfOrigin)
         
free_tr2(tr)
      
         
engfunc(EngFunc_SetOriging_playerData[id][ENT_CAM], fOrigin)
         
set_pev(g_playerData[id][ENT_CAM], pev_anglesfAngle)
      }
      else
         
stopAnim(id)
   }
}

public 
fwdPlayerKilled(id)
{
   
stopAnim(id)   

Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)