vitalsfa
01-19-2008, 01:02 AM
i need some help getting this plugin to stop lagging what it does is allows every one on the server to choose from a list of models now i read the post about zor's admin models and i was wondering if anyone found a fix for the lag. thanks in advance and sorry about the way this is coded i have been tearing my hair trying to figure this out
#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#include <dodx>
#include <dodfun>
#define PLUGIN "DOD-Player Model Changer"
#define AUTHOR "[-RS-]VitalsFAding"
#define VERSION "2.5"
#define MAX_MODELS 20
new configsdir[200]
new configfile[200]
new model[MAX_MODELS][128]
new modelname[MAX_MODELS][128]
new modelnamec[MAX_MODELS][128]
new modelnameget[MAX_MODELS][128]
new modelnamegeta[MAX_MODELS][128]
new bool:precached[MAX_MODELS]
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /modellist", "cl_cmd_modellist")
register_clcmd("say","cmd_modelchange")
register_clcmd("say /modelreset", "cl_cmd_modelreset")
}
public plugin_precache()
{
new modfile1[64]
new modfile2[64]
get_configsdir(configsdir,200)
format(configfile,200,"%s/playermodels.ini",configsdir)
new trash
for(new i=0;i<MAX_MODELS;i++)
{
precached[i]=false
read_file(configfile,i,model[i],128,trash)
if(!equali(model[i][3],""))
{
format(modfile1[i],128,"/models/player/%s/%s.mdl",model[i],model[i])
format(modfile2[i],128,"/models/player/%s/%sT.mdl",model[i],model[i])
if(file_exists(modfile1[i]))
{
precached[i]=true
precache_model(modfile1[i])
}
if(file_exists(modfile2[i]))
{
precached[i]=true
precache_model(modfile2[i])
}
}
}
}
public cl_cmd_modellist(id)
{
get_configsdir(configsdir,200)
format(configfile,200,"%s/playermodels.ini",configsdir)
new trash
set_hudmessage(255, 0, 0, 0.0, 0.0, 0, 6.0, 12.0)
for(new i=0;i<MAX_MODELS;i++)
{
read_file(configfile,i,modelname[i],128,trash)
console_print(id,"%s",modelname[i])
client_print(id, print_center, "SAY /'MODELNAME' to use.^n%s^n%s^n%s^n%s^n%s^n%s^n%s^n%s^n%s^n%s^n%s^n %s^n%s^n%s^n%s^n%s^n%s^n%s^n%s^n%s^n",modelname[0],modelname[1],modelname[2],modelname[3],modelname[4],modelname[5],modelname[6],modelname[7],modelname[8],modelname[9],modelname[10],modelname[11],modelname[12],modelname[13],modelname[14],modelname[15],modelname[16],modelname[17],modelname[18],modelname[19])
}
return PLUGIN_HANDLED
}
public cmd_modelchange(id,modelname,cid)
{
if(!cmd_access(id,modelname,cid,1))
return PLUGIN_HANDLED
new arg1[24]
read_argv(1, arg1, 24)
if(arg1[0] !='/')
return PLUGIN_CONTINUE
get_configsdir(configsdir,200)
format(configfile,200,"%s/playermodels.ini",configsdir)
new trash
set_hudmessage(255, 0, 0, 0.0, 0.0, 0, 6.0, 12.0)
for(new i=0;i<MAX_MODELS;i++)
{
read_file(configfile,i,modelnamec[i],128,trash)
format(modelnamegeta[i],128, "/%s", modelnamec[i])
modelnameget[i] = arg1
if(equali(modelnameget[i], modelnamegeta[i]))
{
dod_set_model(id,modelnamec[i])
dod_set_body_number(id,id)
set_hudmessage(255, 0, 0, 0.0, 0.0, 0, 6.0, 12.0)
show_hudmessage(id, "You will respawn in Model:%s",modelnamec[i])
return PLUGIN_HANDLED
}
}
return PLUGIN_CONTINUE
}
public cl_cmd_modelreset(id)
{
dod_clear_model(id)
set_hudmessage(255, 0, 0, 0.0, 0.0, 0, 6.0, 12.0)
show_hudmessage(id, "You will respawn in original Model")
return PLUGIN_HANDLED
}
#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#include <dodx>
#include <dodfun>
#define PLUGIN "DOD-Player Model Changer"
#define AUTHOR "[-RS-]VitalsFAding"
#define VERSION "2.5"
#define MAX_MODELS 20
new configsdir[200]
new configfile[200]
new model[MAX_MODELS][128]
new modelname[MAX_MODELS][128]
new modelnamec[MAX_MODELS][128]
new modelnameget[MAX_MODELS][128]
new modelnamegeta[MAX_MODELS][128]
new bool:precached[MAX_MODELS]
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /modellist", "cl_cmd_modellist")
register_clcmd("say","cmd_modelchange")
register_clcmd("say /modelreset", "cl_cmd_modelreset")
}
public plugin_precache()
{
new modfile1[64]
new modfile2[64]
get_configsdir(configsdir,200)
format(configfile,200,"%s/playermodels.ini",configsdir)
new trash
for(new i=0;i<MAX_MODELS;i++)
{
precached[i]=false
read_file(configfile,i,model[i],128,trash)
if(!equali(model[i][3],""))
{
format(modfile1[i],128,"/models/player/%s/%s.mdl",model[i],model[i])
format(modfile2[i],128,"/models/player/%s/%sT.mdl",model[i],model[i])
if(file_exists(modfile1[i]))
{
precached[i]=true
precache_model(modfile1[i])
}
if(file_exists(modfile2[i]))
{
precached[i]=true
precache_model(modfile2[i])
}
}
}
}
public cl_cmd_modellist(id)
{
get_configsdir(configsdir,200)
format(configfile,200,"%s/playermodels.ini",configsdir)
new trash
set_hudmessage(255, 0, 0, 0.0, 0.0, 0, 6.0, 12.0)
for(new i=0;i<MAX_MODELS;i++)
{
read_file(configfile,i,modelname[i],128,trash)
console_print(id,"%s",modelname[i])
client_print(id, print_center, "SAY /'MODELNAME' to use.^n%s^n%s^n%s^n%s^n%s^n%s^n%s^n%s^n%s^n%s^n%s^n %s^n%s^n%s^n%s^n%s^n%s^n%s^n%s^n%s^n",modelname[0],modelname[1],modelname[2],modelname[3],modelname[4],modelname[5],modelname[6],modelname[7],modelname[8],modelname[9],modelname[10],modelname[11],modelname[12],modelname[13],modelname[14],modelname[15],modelname[16],modelname[17],modelname[18],modelname[19])
}
return PLUGIN_HANDLED
}
public cmd_modelchange(id,modelname,cid)
{
if(!cmd_access(id,modelname,cid,1))
return PLUGIN_HANDLED
new arg1[24]
read_argv(1, arg1, 24)
if(arg1[0] !='/')
return PLUGIN_CONTINUE
get_configsdir(configsdir,200)
format(configfile,200,"%s/playermodels.ini",configsdir)
new trash
set_hudmessage(255, 0, 0, 0.0, 0.0, 0, 6.0, 12.0)
for(new i=0;i<MAX_MODELS;i++)
{
read_file(configfile,i,modelnamec[i],128,trash)
format(modelnamegeta[i],128, "/%s", modelnamec[i])
modelnameget[i] = arg1
if(equali(modelnameget[i], modelnamegeta[i]))
{
dod_set_model(id,modelnamec[i])
dod_set_body_number(id,id)
set_hudmessage(255, 0, 0, 0.0, 0.0, 0, 6.0, 12.0)
show_hudmessage(id, "You will respawn in Model:%s",modelnamec[i])
return PLUGIN_HANDLED
}
}
return PLUGIN_CONTINUE
}
public cl_cmd_modelreset(id)
{
dod_clear_model(id)
set_hudmessage(255, 0, 0, 0.0, 0.0, 0, 6.0, 12.0)
show_hudmessage(id, "You will respawn in original Model")
return PLUGIN_HANDLED
}