Raised This Month: $ Target: $400
 0% 

Model Change


Post New Thread Reply   
 
Thread Tools Display Modes
Alexxxxxxxxx
Member
Join Date: Aug 2017
Old 11-24-2017 , 10:58   Re: Model Change
Reply With Quote #11

No this happens only when manny players change models at same time....
With 10-15 players it doesnt happen, it happens when there more than 16 players change model at same time....

Help pls! Help!

Last edited by Alexxxxxxxxx; 11-24-2017 at 11:13.
Alexxxxxxxxx is offline
aron9forever
Veteran Member
Join Date: Feb 2013
Location: Rromania
Old 11-24-2017 , 13:28   Re: Model Change
Reply With Quote #12

get a hold of cs_player_models_api.inc and cs_player_models_api.sma (find em yourself) and use cs_set_player_model, it will add delay automatically and prevent any problems (I set 32 player skins at once)
__________________
Meanwhile, in 2050:
Quote:
Originally Posted by aron9forever
useless small optimizations
Quote:
Originally Posted by Black Rose View Post
On a map that is 512x512x128 units you end up with 3,355,443,200,000 different "positions". To store each one of those positions individually in the variable "user_or" you need 12 terabytes of memory.
aron9forever is offline
Alexxxxxxxxx
Member
Join Date: Aug 2017
Old 11-25-2017 , 06:35   Re: Model Change
Reply With Quote #13

Quote:
Originally Posted by aron9forever View Post
get a hold of cs_player_models_api.inc and cs_player_models_api.sma (find em yourself) and use cs_set_player_model, it will add delay automatically and prevent any problems (I set 32 player skins at once)
The code i posted has delay too!

Last edited by Alexxxxxxxxx; 11-25-2017 at 06:35.
Alexxxxxxxxx is offline
Alexxxxxxxxx
Member
Join Date: Aug 2017
Old 11-28-2017 , 11:58   Re: Model Change
Reply With Quote #14

Solved the changing models correctly
But in fwd player spawn post sometimes players are getting overflowed and kicked, why this ?

PHP Code:
new g_ZombieModels[7][] = 
{
    
"classic_model",
    
"tight_zombie_model",
    
"red_predator_model",
    
"mutant_model",
    
"demon_model",
    
"burner_model",
    
"hunter_model"
};

public 
plugin_precache()
{

    new 
ibuffer[100]
        for (
0sizeof(g_ZombieModels); i++)
        {       
                 
formatex(buffercharsmax(buffer), "models/player/%s/%s.mdl"g_ZombieModels[i], g_ZombieModels[i])
                    
engfunc(EngFunc_PrecacheModelbuffer)      
        }    
}

public 
EventRoundStart()
{
           
set_task(12.0"TaskZombie"TASK_MAKEZOMBIE);
}

public 
TaskZombie()
{
    static 
iPlayersnum
    iPlayersnum 
fnGetAlive()

    if (
iPlayersnum 1)
    {
        
set_task(2.0"TaskZombie"TASK_MAKEZOMBIE)
        return;
    }
    
start_infection_mode(0MODE_NONE)
}

zombieme(idinfectornemesissilentmoderewardsassassin)
{
       
g_zombie[id] = true;
       static 
currentmodel[32], tempmodel[32], already_has_modeli
    already_has_model 
false

    fm_cs_get_user_model
(idcurrentmodelcharsmax(currentmodel))

    
        for (
0sizeof(g_ZombieModels); i++)
        {
            
copy(tempmodelcharsmax(tempmodel), g_ZombieModels[i])
            if (
equal(currentmodeltempmodel)) already_has_model true
        
}
        if (!
already_has_model)
        {
            
formatex(g_playermodel[id], charsmax(g_playermodel[]), g_ZombieModels[g_zombieclass[id]])
                 }            

    if (!
already_has_model)
    {
        if (
g_newround)
            
set_task(5.0 0.2"fm_user_model_update"id+TASK_MODEL)
        else
            
fm_user_model_update(id+TASK_MODEL)
    }
}

start_infection_mode(idmode)
{

    static 
iPlayersnum
    iPlayersnum 
fnGetAlive()
    static 
forward_id

    g_currentmode 
MODE_INFECTION
    g_lastmode 
MODE_INFECTION
    g_allowinfection 
true

    
if (mode == MODE_NONE)
        
id fnGetRandomAlive(random_num(1iPlayersnum))
    
zombieme(id00000
    
forward_id id

    
for (id 1id <= g_maxplayersid++)
    {

        if (!
g_isalive[id])
            continue;

        if (
g_zombie[id])
            continue;
        
        if (
fm_cs_get_user_team(id) != FM_CS_TEAM_CT)
        {
            
remove_task(id+TASK_TEAM)
            
fm_cs_set_user_team(idFM_CS_TEAM_CT)
            
fm_user_team_update(id)
        }
    }
    
set_hudmessage(25500, -1.000.1700.005.001.001.00, -1)
    
ShowSyncHudMsg(0g_iTopMessageSync"%s is the first zombie !!"g_playername[forward_id])
    
g_modestarted true
    g_newround 
false
    ExecuteForward
(g_fwRoundStartg_fwDummyResultMODE_INFECTIONforward_id);
}

public 
fm_cs_set_user_model(taskid)
{
    
set_user_info(ID_MODEL"model"g_playermodel[ID_MODEL])
}

stock fm_cs_get_user_model(playermodel[], len)
{
    
get_user_info(player"model"modellen)
}

public 
fm_user_model_update(taskid)
{
    static 
Float:current_time
    current_time 
get_gametime()
    
    if (
current_time g_models_targettime >= 0.2)
    {
        
fm_cs_set_user_model(taskid)
        
g_models_targettime current_time
    
}
    else
    {
        
set_task((g_models_targettime 0.2) - current_time"fm_cs_set_user_model"taskid)
        
g_models_targettime g_models_targettime 0.2
    
}

Alexxxxxxxxx is offline
aron9forever
Veteran Member
Join Date: Feb 2013
Location: Rromania
Old 11-28-2017 , 14:36   Re: Model Change
Reply With Quote #15

Quote:
Originally Posted by Alexxxxxxxxx View Post
Solved the changing models correctly
But in fwd player spawn post sometimes players are getting overflowed and kicked, why this ?

PHP Code:
new g_ZombieModels[7][] = 
{
    
"classic_model",
    
"tight_zombie_model",
    
"red_predator_model",
    
"mutant_model",
    
"demon_model",
    
"burner_model",
    
"hunter_model"
};

public 
plugin_precache()
{

    new 
ibuffer[100]
        for (
0sizeof(g_ZombieModels); i++)
        {       
                 
formatex(buffercharsmax(buffer), "models/player/%s/%s.mdl"g_ZombieModels[i], g_ZombieModels[i])
                    
engfunc(EngFunc_PrecacheModelbuffer)      
        }    
}

public 
EventRoundStart()
{
           
set_task(12.0"TaskZombie"TASK_MAKEZOMBIE);
}

public 
TaskZombie()
{
    static 
iPlayersnum
    iPlayersnum 
fnGetAlive()

    if (
iPlayersnum 1)
    {
        
set_task(2.0"TaskZombie"TASK_MAKEZOMBIE)
        return;
    }
    
start_infection_mode(0MODE_NONE)
}

zombieme(idinfectornemesissilentmoderewardsassassin)
{
       
g_zombie[id] = true;
       static 
currentmodel[32], tempmodel[32], already_has_modeli
    already_has_model 
false

    fm_cs_get_user_model
(idcurrentmodelcharsmax(currentmodel))

    
        for (
0sizeof(g_ZombieModels); i++)
        {
            
copy(tempmodelcharsmax(tempmodel), g_ZombieModels[i])
            if (
equal(currentmodeltempmodel)) already_has_model true
        
}
        if (!
already_has_model)
        {
            
formatex(g_playermodel[id], charsmax(g_playermodel[]), g_ZombieModels[g_zombieclass[id]])
                 }            

    if (!
already_has_model)
    {
        if (
g_newround)
            
set_task(5.0 0.2"fm_user_model_update"id+TASK_MODEL)
        else
            
fm_user_model_update(id+TASK_MODEL)
    }
}

start_infection_mode(idmode)
{

    static 
iPlayersnum
    iPlayersnum 
fnGetAlive()
    static 
forward_id

    g_currentmode 
MODE_INFECTION
    g_lastmode 
MODE_INFECTION
    g_allowinfection 
true

    
if (mode == MODE_NONE)
        
id fnGetRandomAlive(random_num(1iPlayersnum))
    
zombieme(id00000
    
forward_id id

    
for (id 1id <= g_maxplayersid++)
    {

        if (!
g_isalive[id])
            continue;

        if (
g_zombie[id])
            continue;
        
        if (
fm_cs_get_user_team(id) != FM_CS_TEAM_CT)
        {
            
remove_task(id+TASK_TEAM)
            
fm_cs_set_user_team(idFM_CS_TEAM_CT)
            
fm_user_team_update(id)
        }
    }
    
set_hudmessage(25500, -1.000.1700.005.001.001.00, -1)
    
ShowSyncHudMsg(0g_iTopMessageSync"%s is the first zombie !!"g_playername[forward_id])
    
g_modestarted true
    g_newround 
false
    ExecuteForward
(g_fwRoundStartg_fwDummyResultMODE_INFECTIONforward_id);
}

public 
fm_cs_set_user_model(taskid)
{
    
set_user_info(ID_MODEL"model"g_playermodel[ID_MODEL])
}

stock fm_cs_get_user_model(playermodel[], len)
{
    
get_user_info(player"model"modellen)
}

public 
fm_user_model_update(taskid)
{
    static 
Float:current_time
    current_time 
get_gametime()
    
    if (
current_time g_models_targettime >= 0.2)
    {
        
fm_cs_set_user_model(taskid)
        
g_models_targettime current_time
    
}
    else
    {
        
set_task((g_models_targettime 0.2) - current_time"fm_cs_set_user_model"taskid)
        
g_models_targettime g_models_targettime 0.2
    
}

how much are you going to try to reinvent the wheel until you finally use that API and replace your code with cs_set_player_model ? all problems you are complaining of are fixed by it
__________________
Meanwhile, in 2050:
Quote:
Originally Posted by aron9forever
useless small optimizations
Quote:
Originally Posted by Black Rose View Post
On a map that is 512x512x128 units you end up with 3,355,443,200,000 different "positions". To store each one of those positions individually in the variable "user_or" you need 12 terabytes of memory.
aron9forever is offline
CrazY.
Veteran Member
Join Date: May 2015
Location: SP, Brazil
Old 11-28-2017 , 18:25   Re: Model Change
Reply With Quote #16

Or ZP50, but have bugs.
CrazY. is offline
Alexxxxxxxxx
Member
Join Date: Aug 2017
Old 12-05-2017 , 06:19   Re: Model Change
Reply With Quote #17

Quote:
Originally Posted by aron9forever View Post
how much are you going to try to reinvent the wheel until you finally use that API and replace your code with cs_set_player_model ? all problems you are complaining of are fixed by it
aaron! it uses the same function as it is in the code i have been posted...
Alexxxxxxxxx is offline
Alexxxxxxxxx
Member
Join Date: Aug 2017
Old 12-08-2017 , 12:41   Re: Model Change
Reply With Quote #18

help help help help help help
Alexxxxxxxxx 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 16:32.


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