CSPLague
takım ayarlama plugini - Printable Version

+- CSPLague (https://www.csplague.com)
+-- Forum: CS 1.6 Plugin (Eklenti) Bölümü (https://www.csplague.com/forumdisplay.php?fid=6)
+--- Forum: [İSTEK] Cs 1.6 Plugin İstek Bölümü (https://www.csplague.com/forumdisplay.php?fid=80)
+---- Forum: Çözülmüş İstekler (https://www.csplague.com/forumdisplay.php?fid=87)
+---- Thread: takım ayarlama plugini (/showthread.php?tid=6300)

Pages: 1 2


takım ayarlama plugini - shakespeare - 06-01-13

merakımdan dolayı bu konuyu açıyorum yapılabilirse yada varsa maç atan insanların cok işine yarayacak bi plugin. konu şu. Mesela serverdayım kendi takımımla beraber 5 kişiyiz ve tagımız CooL. Ve karşımıza rakip takım aldık diyelim adamlar servera girdiler onlarında tagı mesela ASD. istedigim şey şu. mesela adamlar servera girdiginde birisi Ct ye geçiyo diğeri T ye geçiyo. yani takımları ayarlamak icin teammenu den tek tek oyuncuları atıyoruz takımlara. Bunun yerine mesela bi komut olsa /ayarla diye. Ben bunu yazdıgım zaman aynı tagı taşıyan oyuncuları bir takıma , diğer aynı taga sahip olan oyuncuları da diğer takıma atsın. yani /ayarla dedigim zaman aynı taga sahip olan oyunculari bir tarafa toplasın. Diğerleri diğer takımda kalsın. Bunu yapmak mümkünmü ? aynı taga sahip olan oyunculari random bi şekilde bi takıma koysun T veya CT. Yapılabilirse çok işe yarayacaktır. Teşekkürler şimdiden.


Cevap: takım ayarlama plugini - akcaliberkk - 07-01-13

PHP Code:
/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fakemeta>
#include <fakemeta_util>

#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "author"

#define ADMIN_FLAG ADMIN_BAN

new Group[33] = -1;
new 
GroupTag[2][32];
new 
bool:fail;
new 
bool:fail2;

public 
plugin_init() {
    
register_plugin(PLUGINVERSIONAUTHOR)
    
    
register_clcmd("say /ayarla","SetRandomTeam")
    
}
public 
SetRandomTeam(id) {
    if(!
access(id,ADMIN_FLAG)) {
        return 
PLUGIN_CONTINUE
    
}
    for(new 
i;i<32;i++) {
        
Group[i] = -1;
    }
    
GroupTag[0][0] = 0;
    
GroupTag[1][0] = 0;
    
fail false;
    
fail2 false;
    
    new 
players[32],inum,tempid,tag[32];
    
get_players(players,inum)
    for(new 
i;i<inum;i++) {
        
tempid players;
        
        new 
valid=get_user_tag(tempid,tag)
        
        if(!
valid) {
            
fail2 true;
        }
        
        if(
equali(tag,GroupTag[0])) {
            
Group[tempid] = 0;
        }
        else if(
equali(tag,GroupTag[1])) {
            
Group[tempid] = 1;
        }
        else {
            
            if(
GroupTag[0][0] == 0) {
                
copy(GroupTag[0],31,tag)
                
Group[tempid] = 0;
            }
            else if(
GroupTag[1][0] == 0) {
                
copy(GroupTag[1],31,tag)
                
Group[tempid] = 1;
            }
            else {
                
fail true;
                break
            }
        }
        
    }
    if(
fail) {
        
client_print(id,print_chat,"2 Adetten Fazla Tag Tespit Edildi: Ayarlama Basarisiz.")
        return 
PLUGIN_HANDLED
    
}
    else if(
fail2) {
        
client_print(id,print_chat,"Tagsiz Oyuncu Tespit Edildi: Ayarlama Basarisiz.")
        return 
PLUGIN_HANDLED
    
}
    
StartGrouping(id)
    return 
PLUGIN_HANDLED
}
public 
StartGrouping(id) {
    new 
players[32],inum,tempid;
    
get_players(players,inum)
    for(new 
i;i<inum;i++) {
        
tempid players;
        if(
Group[tempid] == 0) {
            
cs_set_user_team(tempid,CS_TEAM_CT)
            
fm_DispatchSpawn(tempid)
            
        }
        else if(
Group[tempid] == 1) {
            
cs_set_user_team(tempid,CS_TEAM_T)
            
fm_DispatchSpawn(tempid)
        }
    }
    
client_print(id,print_chat,"Takimlar Basariyla Olusturuldu: Ayarlama Basarili.")
    return 
PLUGIN_HANDLED
}
stock get_user_tag(idtag[]) {
    
    new 
name[32],spnum = -1;
    
get_user_name(id,name,31)
    
    for(new 
i;i<32;i++) {
        if(
name == '|' || name == '#') {
            
spnum i;
            break;
        }
    }
    if(
spnum == -1) return 0
    
    
return copy(tag,spnum,name)


Bu arada harika fikirmiş Smile Ben bunu bi' ara ayrı bir plugin olarak paylaşayım Big Grin[/i][/i][/i][/i][/i]


Cevap: takım ayarlama plugini - shakespeare - 07-01-13

fikirortağın olmak bana gurur verdi açıkcası. Smile yaptığın için ve yardımların içinde çok teşekkürler birazdan deniyorum.


Cevap: takım ayarlama plugini - akcaliberkk - 07-01-13

Dene dene, gerçi ben denedim ama bug falan var mı pek bilmiyorum fazla deneyemedim Smile


Cevap: takım ayarlama plugini - shakespeare - 07-01-13

şöyle bişey var daha deneyemedim ama eğer tagsız oyuncu var diye ayarlamayı iptal etmesin. diyelim 2 taglı var 1 de tagsız adam var o adama dokunmasın diger taglıları ayarlasın kardeşim.

---------- Alttaki Mesaj Zamani 23:27 ---------- Önceki Mesaj Zamani 23:23 ----------

birde tag ayarlamasını neye göre yapıyo adamın nickinde belirli harflere mi bakıyo yoksa başında falan aynı yazıya sahip olan oyuncuları mı ayarlıyo. şöyle diyim yani CooL ` diye bi tagı olan arkadaşları ayarlar mı ?


Cevap: takım ayarlama plugini - akcaliberkk - 07-01-13

Ayraclara gore tag buluyor. Kesme isaretini de ayirmasini istiyorsan kesme isaretini de gostermelisin.


Cevap: takım ayarlama plugini - shakespeare - 07-01-13

aslında özel ayraçları cogalttım fakat bug oluyo. mesela adam hard5-Shakespeare yapıyo nickini ozaman tagsız olarak görüyo tag görmüyo. Çalışma mantıgını özel ayraçlar yerine oyuncularin nicklerinde aynı olan ilk 3 harf yada son 3 harf gibi bu tarz bi kontrol yapıp ayırırsa daha verimli çalışır bu şekilde ayraclarla yapıldıgı zaman bazen tagsız olarak görüyo bazı sembollerde. direk oyuncularin ilk 3 4 harfine baksın ona göre ayırsın yada son 3 4 harfine ozaman daha bugsuz ve verimli çalışır.


Cevap: takım ayarlama plugini - akcaliberkk - 07-01-13

Tamam ilk 3-4 harfe göre ayarlarız
hatta /ayarla <harf sayisi> Big Grin nasıl olur ?


Cevap: takım ayarlama plugini - shakespeare - 07-01-13

daha güzel olur Big Grin cünkü ayraca göre hata oluyo cogu zaman. karşı takımda aynı ayracları kullanırsa sorun cıkıyor Smile


Cevap: takım ayarlama plugini - akcaliberkk - 07-01-13

aynı ayraç derken ? O onunla alakalı değil Smile
mesela "DeathLess #" ile "CooL #" ayırabilir. Ayraca göre ayırmıyor. Ayraçtan önceki yazıya göre ayırıyor Smile Neyse senin dediğin gibi yapar veririm ben.