
Załączone pliki
Użytkownik SliszV edytował ten post 06.10.2024 16:22
Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
|
Napisano 06.10.2024 16:21
Użytkownik SliszV edytował ten post 06.10.2024 16:22
Napisano 06.10.2024 17:30
#include <amxmodx> #include <amxmisc> #include <hamsandwich> #include <cstrike> #include <fakemeta_util> #include <deathrun_stats> #define PLUGIN "Kolejka do TT" #define VERSION "1.0" #define AUTHOR "DarkGL" #define dmg(%1,%2) (ArraySize(arKolejka) > 0 && ArrayGetCell(arKolejka,0) == %2 && get_user_team(%1) == 1) #define dmg2(%1,%2) (ArraySize(arKolejka) > 0 && ArrayGetCell(arKolejka,0) == %1 && get_user_team(%2) == 1) new Array: arKolejka; new kolor; new hud; public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) arKolejka = ArrayCreate(1,32); kolor = register_cvar("kolejka_kolorek", "0 255 0"); register_clcmd("say /respawn", "spawn"); register_event("HLTV", "event_RoundStart", "a", "1=0", "2=0"); RegisterHam(Ham_TakeDamage, "player", "HamTakeDamage"); RegisterHam(Ham_Spawn,"player","HamSpawned",1) register_event("DeathMsg", "DeathMsg", "a", "1=0") hud = CreateHudSyncObj(); set_task(1.0, "wyswietl",.flags = "b"); } public DeathMsg(){ new victim = read_data(2) new iRet = iFind(victim); if(iRet != -1){ ArrayDeleteItem(arKolejka,iRet); if(iRet == 0 && ArraySize(arKolejka) > 0 && ArrayGetCell(arKolejka,0) == victim){ ArrayDeleteItem(arKolejka,0); if(ArraySize(arKolejka) > 0) fm_set_user_rendering(ArrayGetCell(arKolejka,0), kRenderFxGlowShell, 0, 255, 0, kRenderNormal, 40); } } return PLUGIN_HANDLED; } public spawn(id) { if(iFind(id) != -1) { client_print(id, print_chat, "[DR] Gdy jesteś w kolejce, nie możesz się respawnować!"); return PLUGIN_HANDLED } } public HamSpawned(id){ if(!is_user_alive(id)) return ; fm_set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderNormal, 40); } public event_RoundStart() { ArrayClear(arKolejka); } public HamTakeDamage(victim, inflictor, attacker) return (dmg(victim, attacker) || dmg2(victim, attacker) || !is_user_connected(attacker)) ? HAM_IGNORED : HAM_SUPERCEDE; public fwPlayerFinished(id) { if( is_user_alive( id ) && cs_get_user_team( id ) == CS_TEAM_CT ){ new iRet = iFind(id); if(iRet == -1) ArrayPushCell(arKolejka,id); if(is_user_alive(ArrayGetCell(arKolejka,0))) fm_set_user_rendering(ArrayGetCell(arKolejka,0), kRenderFxGlowShell, 0, 255, 0, kRenderNormal, 40); else ArrayDeleteItem( arKolejka , 0 ); } } public wyswietl() { new msg[512]; new bool: bNone = true; new szName[64] for(new i = 0;i<ArraySize(arKolejka);i++){ if(!is_user_alive(ArrayGetCell(arKolejka,i))){ ArrayDeleteItem(arKolejka,i) continue; } get_user_name(ArrayGetCell(arKolejka,i), szName,charsmax(szName)); formatex(msg, 511, "%s%d. %s^n", msg, i+1, szName); bNone = false; } if(bNone) formatex(msg, 511, "Lista jest pusta"); new color[15], rgb[3][4]; get_pcvar_string(kolor, color, 14); parse(color, rgb[0], 3, rgb[1], 3, rgb[2], 3); set_dhudmessage(0, 69, 255, 0.85, 0.2, 2, 0.02, 1.0, 0.01); show_dhudmessage(0, "** Kolejka **^n%s^n^n", msg); } public client_disconnect(id) arClear(id); public client_connect(id) arClear(id); arClear(id){ new iRet = iFind(id); if(iRet == -1) return ; ArrayDeleteItem(arKolejka,iRet) } iFind(id){ for(new i = 0;i<ArraySize(arKolejka);i++){ if(ArrayGetCell(arKolejka,i) == id) return i; } return -1; } stock __dhud_color; stock __dhud_x; stock __dhud_y; stock __dhud_effect; stock __dhud_fxtime; stock __dhud_holdtime; stock __dhud_fadeintime; stock __dhud_fadeouttime; stock __dhud_reliable; stock set_dhudmessage( red = 0, green = 160, blue = 0, Float:x = -1.0, Float:y = 0.65, effects = 2, Float:fxtime = 6.0, Float:holdtime = 3.0, Float:fadeintime = 0.1, Float:fadeouttime = 1.5, bool:reliable = false ) { #define clamp_byte(%1) ( clamp( %1, 0, 255 ) ) #define pack_color(%1,%2,%3) ( %3 + ( %2 << 8 ) + ( %1 << 16 ) ) __dhud_color = pack_color( clamp_byte( red ), clamp_byte( green ), clamp_byte( blue ) ); __dhud_x = _:x; __dhud_y = _:y; __dhud_effect = effects; __dhud_fxtime = _:fxtime; __dhud_holdtime = _:holdtime; __dhud_fadeintime = _:fadeintime; __dhud_fadeouttime = _:fadeouttime; __dhud_reliable = _:reliable; return 1; } stock show_dhudmessage( index, const message[], any:... ) { new buffer[ 128 ]; new numArguments = numargs(); if( numArguments == 2 ) { send_dhudMessage( index, message ); } else if( index || numArguments == 3 ) { vformat( buffer, charsmax( buffer ), message, 3 ); send_dhudMessage( index, buffer ); } else { new playersList[ 32 ], numPlayers; get_players( playersList, numPlayers, "ch" ); if( !numPlayers ) { return 0; } new Array:handleArrayML = ArrayCreate(); for( new i = 2, j; i < numArguments; i++ ) { if( getarg( i ) == LANG_PLAYER ) { while( ( buffer[ j ] = getarg( i + 1, j++ ) ) ) {} j = 0; if( GetLangTransKey( buffer ) != TransKey_Bad ) { ArrayPushCell( handleArrayML, i++ ); } } } new size = ArraySize( handleArrayML ); if( !size ) { vformat( buffer, charsmax( buffer ), message, 3 ); send_dhudMessage( index, buffer ); } else { for( new i = 0, j; i < numPlayers; i++ ) { index = playersList[ i ]; for( j = 0; j < size; j++ ) { setarg( ArrayGetCell( handleArrayML, j ), 0, index ); } vformat( buffer, charsmax( buffer ), message, 3 ); send_dhudMessage( index, buffer ); } } ArrayDestroy( handleArrayML ); } return 1; } stock send_dhudMessage( const index, const message[] ) { message_begin( __dhud_reliable ? ( index ? MSG_ONE : MSG_ALL ) : ( index ? MSG_ONE_UNRELIABLE : MSG_BROADCAST ), SVC_DIRECTOR, _, index ); { write_byte( strlen( message ) + 31 ); write_byte( DRC_CMD_MESSAGE ); write_byte( __dhud_effect ); write_long( __dhud_color ); write_long( __dhud_x ); write_long( __dhud_y ); write_long( __dhud_fadeintime ); write_long( __dhud_fadeouttime ); write_long( __dhud_holdtime ); write_long( __dhud_fxtime ); write_string( message ); } message_end(); }
nie wiem czy bedzie dzialac sprawdz i czy oto chodzilo
Napisano 06.10.2024 17:45
#include <amxmodx> #include <amxmisc> #include <hamsandwich> #include <cstrike> #include <fakemeta_util> #include <deathrun_stats> #define PLUGIN "Kolejka do TT" #define VERSION "1.0" #define AUTHOR "DarkGL" #define dmg(%1,%2) (ArraySize(arKolejka) > 0 && ArrayGetCell(arKolejka,0) == %2 && get_user_team(%1) == 1) #define dmg2(%1,%2) (ArraySize(arKolejka) > 0 && ArrayGetCell(arKolejka,0) == %1 && get_user_team(%2) == 1) new Array: arKolejka; new kolor; new hud; public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) arKolejka = ArrayCreate(1,32); kolor = register_cvar("kolejka_kolorek", "0 255 0"); register_clcmd("say /respawn", "spawn"); register_event("HLTV", "event_RoundStart", "a", "1=0", "2=0"); RegisterHam(Ham_TakeDamage, "player", "HamTakeDamage"); RegisterHam(Ham_Spawn,"player","HamSpawned",1) register_event("DeathMsg", "DeathMsg", "a", "1=0") hud = CreateHudSyncObj(); set_task(1.0, "wyswietl",.flags = "b"); } public DeathMsg(){ new victim = read_data(2) new iRet = iFind(victim); if(iRet != -1){ ArrayDeleteItem(arKolejka,iRet); if(iRet == 0 && ArraySize(arKolejka) > 0 && ArrayGetCell(arKolejka,0) == victim){ ArrayDeleteItem(arKolejka,0); if(ArraySize(arKolejka) > 0) fm_set_user_rendering(ArrayGetCell(arKolejka,0), kRenderFxGlowShell, 0, 255, 0, kRenderNormal, 40); } } return PLUGIN_HANDLED; } public spawn(id) { if(iFind(id) != -1) { client_print(id, print_chat, "[DR] Gdy jesteś w kolejce, nie możesz się respawnować!"); return PLUGIN_HANDLED } } public HamSpawned(id){ if(!is_user_alive(id)) return ; fm_set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderNormal, 40); } public event_RoundStart() { ArrayClear(arKolejka); } public HamTakeDamage(victim, inflictor, attacker) return (dmg(victim, attacker) || dmg2(victim, attacker) || !is_user_connected(attacker)) ? HAM_IGNORED : HAM_SUPERCEDE; public fwPlayerFinished(id) { if( is_user_alive( id ) && cs_get_user_team( id ) == CS_TEAM_CT ){ new iRet = iFind(id); if(iRet == -1) ArrayPushCell(arKolejka,id); if(is_user_alive(ArrayGetCell(arKolejka,0))) fm_set_user_rendering(ArrayGetCell(arKolejka,0), kRenderFxGlowShell, 0, 255, 0, kRenderNormal, 40); else ArrayDeleteItem( arKolejka , 0 ); } } public wyswietl() { new msg[512]; new bool: bNone = true; new szName[64] for(new i = 0;i<ArraySize(arKolejka);i++){ if(!is_user_alive(ArrayGetCell(arKolejka,i))){ ArrayDeleteItem(arKolejka,i) continue; } get_user_name(ArrayGetCell(arKolejka,i), szName,charsmax(szName)); formatex(msg, 511, "%s%d. %s^n", msg, i+1, szName); bNone = false; } if(bNone) formatex(msg, 511, "Lista jest pusta"); new color[15], rgb[3][4]; get_pcvar_string(kolor, color, 14); parse(color, rgb[0], 3, rgb[1], 3, rgb[2], 3); set_dhudmessage(0, 69, 255, 0.85, 0.2, 2, 0.02, 1.0, 0.01); show_dhudmessage(0, "** Kolejka **^n%s^n^n", msg); } public client_disconnect(id) arClear(id); public client_connect(id) arClear(id); arClear(id){ new iRet = iFind(id); if(iRet == -1) return ; ArrayDeleteItem(arKolejka,iRet) } iFind(id){ for(new i = 0;i<ArraySize(arKolejka);i++){ if(ArrayGetCell(arKolejka,i) == id) return i; } return -1; } stock __dhud_color; stock __dhud_x; stock __dhud_y; stock __dhud_effect; stock __dhud_fxtime; stock __dhud_holdtime; stock __dhud_fadeintime; stock __dhud_fadeouttime; stock __dhud_reliable; stock set_dhudmessage( red = 0, green = 160, blue = 0, Float:x = -1.0, Float:y = 0.65, effects = 2, Float:fxtime = 6.0, Float:holdtime = 3.0, Float:fadeintime = 0.1, Float:fadeouttime = 1.5, bool:reliable = false ) { #define clamp_byte(%1) ( clamp( %1, 0, 255 ) ) #define pack_color(%1,%2,%3) ( %3 + ( %2 << 8 ) + ( %1 << 16 ) ) __dhud_color = pack_color( clamp_byte( red ), clamp_byte( green ), clamp_byte( blue ) ); __dhud_x = _:x; __dhud_y = _:y; __dhud_effect = effects; __dhud_fxtime = _:fxtime; __dhud_holdtime = _:holdtime; __dhud_fadeintime = _:fadeintime; __dhud_fadeouttime = _:fadeouttime; __dhud_reliable = _:reliable; return 1; } stock show_dhudmessage( index, const message[], any:... ) { new buffer[ 128 ]; new numArguments = numargs(); if( numArguments == 2 ) { send_dhudMessage( index, message ); } else if( index || numArguments == 3 ) { vformat( buffer, charsmax( buffer ), message, 3 ); send_dhudMessage( index, buffer ); } else { new playersList[ 32 ], numPlayers; get_players( playersList, numPlayers, "ch" ); if( !numPlayers ) { return 0; } new Array:handleArrayML = ArrayCreate(); for( new i = 2, j; i < numArguments; i++ ) { if( getarg( i ) == LANG_PLAYER ) { while( ( buffer[ j ] = getarg( i + 1, j++ ) ) ) {} j = 0; if( GetLangTransKey( buffer ) != TransKey_Bad ) { ArrayPushCell( handleArrayML, i++ ); } } } new size = ArraySize( handleArrayML ); if( !size ) { vformat( buffer, charsmax( buffer ), message, 3 ); send_dhudMessage( index, buffer ); } else { for( new i = 0, j; i < numPlayers; i++ ) { index = playersList[ i ]; for( j = 0; j < size; j++ ) { setarg( ArrayGetCell( handleArrayML, j ), 0, index ); } vformat( buffer, charsmax( buffer ), message, 3 ); send_dhudMessage( index, buffer ); } } ArrayDestroy( handleArrayML ); } return 1; } stock send_dhudMessage( const index, const message[] ) { message_begin( __dhud_reliable ? ( index ? MSG_ONE : MSG_ALL ) : ( index ? MSG_ONE_UNRELIABLE : MSG_BROADCAST ), SVC_DIRECTOR, _, index ); { write_byte( strlen( message ) + 31 ); write_byte( DRC_CMD_MESSAGE ); write_byte( __dhud_effect ); write_long( __dhud_color ); write_long( __dhud_x ); write_long( __dhud_y ); write_long( __dhud_fadeintime ); write_long( __dhud_fadeouttime ); write_long( __dhud_holdtime ); write_long( __dhud_fxtime ); write_string( message ); } message_end(); }nie wiem czy bedzie dzialac sprawdz i czy oto chodzilo
sprawdziłem ,i w ogóle nic sie nie zmienilo niz wczesniej ,poprostu chcę zeby jak ktos bedzie w kolejce ,nie może wtedy wpisac komendy /respawn ,i pisze mu na sayu [DR] Gdy jestes w kolejce nie mozesz sie respawnowac!
Napisano 06.10.2024 18:16
to musisz w pluginie ktory ma ta komende /respawn zrobic blokade
Napisano 06.10.2024 19:12
to musisz w pluginie ktory ma ta komende /respawn zrobic blokade
moglbys to zrobic ,bylbym wdzieczny
Napisano 07.10.2024 12:39
to musisz w pluginie ktory ma ta komende /respawn zrobic blokade
dobra jednak działa ,usunałem tylko say ,zeby zostało samo /respawn.
Dziekuje +rep
Napisano 08.10.2024 09:02
Wiadomość wygenerowana automatycznie
Ten temat został zamknięty przez moderatora.
Powód: Pomoc udzielona
Jeśli się z tym nie zgadzasz, raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.
Z pozdrowieniami,
Zespół AMXX.PL
0 użytkowników, 0 gości, 0 anonimowych