Użycie: set_user_frags2(id, 100); - daje graczowi 100 fragów + odświeża na tabeli wyników (TAB'ie)
stock set_user_frags2(id, ilosc){ set_user_frags(id, ilosc); message_begin(MSG_BROADCAST,get_user_msgid("ScoreInfo")); write_byte(id); write_short(get_user_frags(id)); write_short(cs_get_user_deaths(id)); write_short(0); write_short(get_user_team(id)); message_end(); }
#define seconds(%1) ((1<<12) * (%1))Przykład użycia: (będzie działało 5 sekund)
message_begin( MSG_ONE, g_msg_screenfade,{0,0,0},id ) write_short( seconds(5) ) // Duration of fadeout write_short( holdtime ) // Hold time of color write_short( fadetype ) // Fade type write_byte ( red ) // Red write_byte ( green ) // Green write_byte ( blue ) // Blue write_byte ( alpha ) // Alpha message_end()
Odległość do ziemi
stock Float:distance_to_floor(Float:start[3], ignoremonsters = 1) { new Float:dest[3], Float:end[3]; dest[0] = start[0]; dest[1] = start[1]; dest[2] = -8191.0; engfunc(EngFunc_TraceLine, start, dest, ignoremonsters, 0, 0); get_tr2(0, TR_vecEndPos, end); //pev(index, pev_absmin, start); new Float:ret = start[2] - end[2]; return ret > 0 ? ret : 0.0; }
Przykład użycia: Display_Icon(id ,1 ,"dmg_fire" ,255,0,0) - ikona czerwonego ognia
enable:
0 - wyłączone
1- włączone
2 - migające
stock Display_Icon(id ,enable ,name[] ,red,green,blue) { if (!pev_valid(id) || is_user_bot(id)) { return PLUGIN_HANDLED } message_begin( MSG_ONE, g_msg_statusicon, {0,0,0}, id ) write_byte( enable ) write_string( name ) write_byte( red ) // red write_byte( green ) // green write_byte( blue ) // blue message_end() return PLUGIN_CONTINUE }
Ożywia gracza.
stock respawn_player(id) { if (!is_user_connected(id) || is_user_alive(id) || cs_get_user_team(id) == CS_TEAM_SPECTATOR) return; set_pev(id, pev_deadflag, DEAD_RESPAWNABLE); dllfunc(DLLFunc_Think, id); if (is_user_bot(id) && pev(id, pev_deadflag) == DEAD_RESPAWNABLE) { dllfunc(DLLFunc_Spawn, id); } }
Sprawdza czy "coś" (byt) jest na ziemi. Np. gracz
Przyklad
if(entity_is_on_ground(id)){
client_print(0, print_chat, "Jestes na ziemi");
}
stock entity_is_on_ground(entity) { return entity_get_int(entity, EV_INT_flags) & FL_ONGROUND }
Tworzy laser
drawLine(Float:vOrigin1[3], Float:vOrigin2[3], life,r,g,b,t) { message_begin(MSG_BROADCAST, SVC_TEMPENTITY); write_byte(TE_BEAMPOINTS); write_coord(floatround(vOrigin1[0], floatround_floor)); write_coord(floatround(vOrigin1[1], floatround_floor)); write_coord(floatround(vOrigin1[2], floatround_floor)); write_coord(floatround(vOrigin2[0], floatround_floor)); write_coord(floatround(vOrigin2[1], floatround_floor)); write_coord(floatround(vOrigin2[2], floatround_floor)); write_short(gSpriteIdBeam); //sprite index write_byte(0); //starting frame write_byte(1); //frame rate in 0.1's write_byte(life); //life in 0.1's write_byte(5); //line width in 0.1's write_byte(0); //noise amplitude in 0.01's write_byte(r); //red write_byte(g); //green write_byte(b); //blue write_byte(t); //brightness write_byte(0); //scroll speed in 0.1's message_end(); }
Sprawdza czy gracz kuca, czy też nie.
stock is_in_duck(player) { // supplied with invalid entities if( !pev_valid(player) ) return 0; // retrieve absolutes static Float:absmin[3], Float:absmax[3]; pev(player, pev_absmin, absmin); pev(player, pev_absmax, absmax); absmin[2]+=64.0; if( absmin[2] < absmax[2] ) return 0; return 1; }
Sprawdza czy gracz1 ogląda gracza2 na "spekcie"
stock is_user_spectating_player(spectator, player) { if( !pev_valid(spectator) || !pev_valid(player) ) return 0; if( !is_user_connected(spectator) || !is_user_connected(player) ) return 0; if( is_user_alive(spectator) || !is_user_alive(player) ) return 0; if( pev(spectator, pev_deadflag) != 2 ) return 0; static specmode; specmode = pev(spectator, pev_iuser1); if( !(specmode == 1 || specmode == 2 || specmode == 4) ) return 0; if( pev(spectator, pev_iuser2) == player ) return 1; return 0; }
Będę starał się ciągle temat uzupełniać. Możecie również podawać swoje ciekawe funkcje, dopisze je do postu
Jak ktoś nie rozumie co robi dana funkcja proszę pisać a wytłumaczę