teamswap - komandu keitimo optimizacija
Posted: 2012 Dec 08 21:31
Pirmasis kodas yra nemano, man ji pasiule naudoti exolent norint apkeisti komandas kai yra didziule apkrova serveryje, esme suprasite, ar verta naudoti delay? kam man to reikia? noriu 13x13 keitime ar daugiau isvengti crash'u, ar tai kazka keicia? gal tiesiog likti prie paprastesnio? noriu jusu nuomoniu.
Code: Select all
SwapTeams( ){ const GROUP = 5; // 5 people at a time const Float:INTERVAL = 0.5; // delay between groups new switched, data[ 1 ]; for( new i = 1; i <= g_iMaxPlayers; i++ ) { if( is_user_connected( i ) ) { data[ 0 ] = get_user_team( i ); if( TEAM_TERRORIST <= data[ 0 ] <= TEAM_CT ) { data[ 0 ] = 3 - data[ 0 ]; if( switched++ < GROUP ) { TaskSwitch( data, i ); } else { set_task( INTERVAL * ( switched / GROUP ), "TaskSwitch", i, data, sizeof( data ) ); } } } }} public TaskSwitch( data[ ], id ){ if( is_user_connected( id ) ) { cs_set_team( id, data[ 0 ] ); }}
Code: Select all
public kazkas_atsitiko() { set_task(0.5,"Keiciames")} // Apkeiciam komandaspublic Keiciames() { for (new id; id <= get_maxplayers(); id++) { if(get_user_team(id) == 2) cs_set_user_team(id, CS_TEAM_T) else if(get_user_team(id) == 1) cs_set_user_team(id, CS_TEAM_CT) }}