Kolejka do tt
mixers
04.12.2012
Mam plugin taki jak w temacie chciał bym bardzo prosisz o przerobienie go żeby odrzucał ct który jest 2,3,4 ... w kolejce a tylko pierwszy miał możliwość podejścia do tt i go zabić
Tak wiem jest już taki plugin ale on coś nie chce działać mi na serwerze
Tak wiem jest już taki plugin ale on coś nie chce działać mi na serwerze
#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_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 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_hudmessage(str_to_num(rgb[0]), str_to_num(rgb[1]), str_to_num(rgb[2]), 0.78, 0.3, 0, 6.0, 1.0);
ShowSyncHudMsg(0, hud, "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;
}
Kawon
06.12.2012
Automatyczna wiadomość
Ten temat został przeniesiony z forum
AMX Mod X > Problemy z pluginami
do
Scripting AMXX > Pluginy
Ten temat został przeniesiony z forum
AMX Mod X > Problemy z pluginami
do
Scripting AMXX > Pluginy




