Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

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.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

Kolejka do TT


  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
Brak odpowiedzi do tego tematu

#1 DylemaT929

    Życzliwy

  • Użytkownik

Reputacja: 0
Nowy

  • Postów:25
  • Imię:Krzysiek
Offline

Napisano 07.01.2016 14:54

Witam mógłby mi ktoś przerobić tą kolejke, aby była taka, że jeszcze raz może tą osobe zaliczyć do kolejke, bo czasmi to działa, czasami nie i jeszcze, że jak admin slaynie to, żeby go usuneło z kolejki, bo ktoś po prosi bo się zbugował to dalej jest w kolejce :/

 

 

#include <amxmodx>
#include <amxmisc>
#include <hamsandwich>
#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_TraceAttack, "player", "HamTraceAttack");
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(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 HamTraceAttack(victim, attacker)
return (dmg(victim, attacker) || dmg2(victim, attacker) || !is_user_connected(attacker)) ? HAM_IGNORED : HAM_SUPERCEDE;
 
public fwPlayerFinished(id) {
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);
}
 
public wyswietl() {
 
new msg[512];
new bool: pusto = 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); 
pusto = false;
}
 
if(pusto) 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;
}

  • +
  • -
  • 0




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych