Raised This Month: $51 Target: $400
 12% 

Dance (Sma+Model) Added


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
bsparty
Member
Join Date: Sep 2014
Location: India
Old 10-05-2014 , 12:21   Dance (Sma+Model) Added
Reply With Quote #1

I m uploading a dance plugin mainly known as Jailbreak Dance. The problem i facing is that whenever a player in spectator tried to use dance plugin the server crashes. Please can anyone add/modify this plugin that the player in the spectator will not be able to use this plugin

Thank You !!!
Attached Files
File Type: sma Get Plugin or Get Source (dansmenusu(original).sma - 1900 views - 6.6 KB)
File Type: zip CSPlugin_Hareketler.zip (33.6 KB, 1142 views)
bsparty is offline
JusTGo
Veteran Member
Join Date: Mar 2013
Old 10-05-2014 , 14:25   Re: Dance (Sma+Model) Added
Reply With Quote #2

untested:
PHP Code:
/* 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
   
}
   
   if(!
is_user_alive(id))
   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)   

__________________
JusTGo is offline
bsparty
Member
Join Date: Sep 2014
Location: India
Old 10-05-2014 , 16:15   Re: Dance (Sma+Model) Added
Reply With Quote #3

Working TY !!!
bsparty is offline
bsparty
Member
Join Date: Sep 2014
Location: India
Old 10-24-2014 , 23:53   Re: Dance (Sma+Model) Added
Reply With Quote #4

Found A New Bug !!
When ALT. Button is kept pressed ! We Can Move but the dance model remains stationary to the last position on which we were standing !
This partially makes us invisible

Last edited by bsparty; 10-24-2014 at 23:53.
bsparty is offline
Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 08:15.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode