Plugins cho server của bạn thêm phong phú

Thảo luận trong 'Hộp lưu trữ' bắt đầu bởi Kanh, 22/11/04.

Trạng thái chủ đề:
Không mở trả lời sau này.
  1. Kanh

    Kanh Youtube Master Race

    Tham gia ngày:
    20/8/04
    Bài viết:
    22
    Cái này dành cho amxmodx v1.0 à nói chung là mới nhất. có thể coi version amx mod x mới nhất tại: http://www.amxmodx.org/downloads.php
    - À quên, Team của bạn phải Tag On mới đổi được. KÔ có nó kô bít đâu. :;)
    -Bây giờ có rất nhiều plugin mới ra mà bạn chưa biết và còn nhiều plugin nữa đã và đang làm để phục vụ cho bạn và cho cả server của bạn :D
    - Here. Plugin này giúp cho server của bạn và cả bạn nữa (nếu bạn là admin) Giúp cho bạn kô nói nhiều đến members của bạn phải đổi site (đội). Trong cs có 2 đội (điều dĩ nhiên dzùi.....nói làm chỉ vậy ? :D ) Trong cả 2 đội có lẫn lộn team của bạn. Bây giờ bạn muốn team của bạn về 1 bên và members khác về 1 bên, để team của bạn đấu với members khác, kô lẽ bạn phải kêu tụi nó hả (kêu cũng được thui, nhưng mà tốn sức wá, có lúc gặp mấy thằng bướng nữa chứ :D, nói nó mà nó kô thèm nghe thì phải làm sao đây ? kô lẽ kick nó out ? Members là thượng đế mà ?) Bởi vậy bạn cần có Plugin: ClanSort này giúp cho bạn thực hiện điều đó 1 cách dễ dàng mà kô cần tốn 1 giọt nước bọt nào :D

    ClanSort.sma

    Mã:
    #include <amxmodx>
    #include <amxmisc>
    
    new gMsgScreenFade 
    
    public admin_flash(id,level,cid) { 
       if (!cmd_access(id,level,cid,2)) { 
          return PLUGIN_HANDLED 
       } 
    
       new victim[32] 
       read_argv(1,victim,31) 
    //   new arg2[32]
    //   read_argv(2,arg2,31)
    //   new number=strtonum(arg2)
    //   if (number==0) number=1
    
       if (victim[0]=='@') { 
          new team[32], inum 
          get_players(team,inum,"e",victim[1]) 
          if (inum==0) { 
             console_print(id,"[AMX] No clients found on such team.") 
             return PLUGIN_HANDLED 
          } 
          for (new i=0;i<inum;++i) { 
             Flash(team[i]) 
             client_print(id,print_chat,"[AMX] You Flashed all %s's.",victim[1]) 
             //client_print(id,print_chat,"[AMX] You Flashed all %s's for %i secs.",victim[1],number) 
          } 
       } 
       else if (victim[0]=='*') { 
          new all[32], inum 
          get_players(all,inum) 
          for (new i=0;i<inum;++i) { 
             Flash(all[i])
             client_print(id,print_chat,"[AMX] You Flashed everyone.")
             //client_print(id,print_chat,"[AMX] You Flashed everyone for %i secs.",number) 
          } 
       } 
       else { 
          new player = cmd_target(id,victim,0) 
          new playername[32] 
          get_user_name(player,playername,31) 
    
          if (!player) {  
             return PLUGIN_HANDLED
          } 
          Flash(player)
          client_print(id,print_chat,"[AMX] You Flashed %s.",playername)
          //client_print(id,print_chat,"[AMX] You Flashed %s for %i secs.",playername,number) 
       } 
    
       return PLUGIN_HANDLED 
    } 
    
    public Flash(id) {
    	message_begin(MSG_ONE,gMsgScreenFade,{0,0,0},id) 
    	write_short( 1<<15 ) 
    	write_short( 1<<10 )
    	write_short( 1<<12 )
    	write_byte( 255 ) 
    	write_byte( 255 ) 
    	write_byte( 255 ) 
    	write_byte( 255 ) 
    	message_end()
    	emit_sound(id,CHAN_BODY, "weapons/flashbang-2.wav", 1.0, ATTN_NORM, 0, PITCH_HIGH)
    }
    
    public plugin_init() { 
       register_plugin("Admin Flash","1.0","AssKicR") 
       register_concmd("amx_flash","admin_flash",ADMIN_LEVEL_A,"< Nick, UniqueID, #userid, @TEAM, or * > flashes selected client(s)") 
       gMsgScreenFade = get_user_msgid("ScreenFade") 
       return PLUGIN_CONTINUE 
    }
    
    public plugin_precache()
    {
        // FLASHBANG SOUND
        precache_sound( "weapons/flashbang-2.wav" )
    }
    
    ==============================
    Q-Làm sao cho nó chạy đây ?
    A-Dễ ợt à, dễ còn hơn ăn ớt nữa

    - ClanSort.sma để vào Cripting
    - ClanSort.amx để vào Plugins
    - Copy cái ClanSort.amxx vào trong cái Configs\Plugins.ini
    - Dùng thì mở console bấm amx_clanct or amx_clant để đổi team
    - Kô hiểu hả, vậy coi cái này đi nha :D


    Sorry, Up file.amxx lên mà kô được, ae chịu khó wa Đây mà down nha

    Have FuN ! Guys :cool:
     
  2. Kanh

    Kanh Youtube Master Race

    Tham gia ngày:
    20/8/04
    Bài viết:
    22
    - Đây là plugin cho server ( cho server chứ cho cái gì, vậy cũng nói :D )
    - Dùng để thi đấu giữa 2 team. Tiện lợi hơn cái có sẵn của amx (amx_cvar sv_restart .... ) đánh dài dòng và restart có 1 lần à còn muốn nữa thì phải mở console ra mà bấm phím up dzùi enter :( ( mệt nhắm ) Còn cái plugin (ý tui là restartgame đó :wink: ) này mở console ra và chỉ đánh amx_restartgame (that's it ) và đợi sau 3 lần restartgame thì bắt đầu thi đấu giữa 2 đội :D

    Have FuN ! :D
    Restartgame.sma
    Mã:
    /* AMXMOD X script.
    *
    * (c) Copyright 2000-2002, BenZoN - Rich - Shift
    * This file is provided as is (no warranties).
    *
    *   v0.5 - Password shown only to teamed players ( not HLTV )
    *
    *   v0.4 - Initial Release
    *
    */
    
    #include <amxmodx>
    #include <amxmisc>
    
    public amx_restartgame(id,level,cid)
    {
        if (!cmd_access(id,level,cid,0))
        {
            return PLUGIN_CONTINUE
        }
        set_hudmessage(0, 200, 0, -1.0, 0.40, 0, 6.0, 6.0, 0.1, 0.1, 1)
        show_hudmessage(0,"Live on Three Restarts")
        set_task(3.0, "rround")
        set_task(6.0, "rround")
        set_task(9.0, "rround")
        set_task(11.0, "lmessage")
        return PLUGIN_HANDLED
    }
    
    public rround()
    {
        server_cmd("sv_restartround 1")
    }
    
    public lmessage()
    {
        new sv_pass[32], players[32], playernum
        set_hudmessage(0, 200, 0, -1.0, 0.40, 0, 6.0, 6.0, 0.1, 0.1, 3)
        show_hudmessage(0,"WE ARE LIVE AND THE FIGHT IS ON !")
        get_cvar_string("sv_password",sv_pass,32)
        set_hudmessage(255, 255, 255, -1.0, 0.80, 0, 6.0, 6.0, 0.1, 0.1, 4)
        get_players(players,playernum)
        for(new a = 1; a < playernum; ++a)
        {
            if ( get_user_team(players[a]) < 3 )
            {
                show_hudmessage(players[a],"Server Password: %s",sv_pass)
            }
        }
    }
    
    public plugin_init()
    {
        register_plugin("Restart Game","0.5","BenZoN - Rich - Shift")
        register_clcmd("amx_restartgame","amx_restartgame",ADMIN_CFG,"amx_restartgame - Triple Restart For Match")
        return PLUGIN_CONTINUE
    }
    
     
  3. Kanh

    Kanh Youtube Master Race

    Tham gia ngày:
    20/8/04
    Bài viết:
    22
    Cái rules này cũng giống như pop up vậy đoá, nó hiện lên ở bên góc trái màn hình, nằm trên cái radar đó.
    Muốn addrules vào thì chỉ cần mở console và đánh amx_addrules "dzùi đánh cái gì mà bạn muốn players kô làm" nếu kô biết dùng console để add rules thì....

    Or

    vào Configs\amxx.cfg mà addrules vào
    Dzùi save lại
    Server_rules.sma
    Mã:
    /* AMX Mod script.
    * Server Rules 1.0
    *
    * (c) 2004, FullThrottle
    * This file is provided as is (no warranties).
    *
    * explode_string code originally designed by xeroblood
    *
    * Used CVARS
    * sr_display <float> - Length of time to display message
    * sr_color <string> - Color to display message RGB values Ex: 255,0,0
    */
    
    #include <amxmodx>
    #include <amxmisc>
    
    #define MAXENTRYCOUNT 10
    #define MAXENTRYLENGTH 60
    #define MESSAGELENGTH MAXENTRYCOUNT*MAXENTRYLENGTH+20
    
    new ENTRY[MAXENTRYCOUNT][MAXENTRYLENGTH]
    new MESSAGE[MESSAGELENGTH]
    new DISPLAYCOLOR[3][3]
    new ENTRYCOUNT = 0
    
    new Float:TIMERWAIT = 10.0
    new DISPLAYTITLE[] = "Server Rules"
    
    new PLUGINVERSION[] = "1.0"
    new PLUGINNAME[] = "Server Rules"
    new PLUGINAUTHOR[] = "FullThrottle"
    
    new ADDENTRYCMD[] = "amx_addrule"
    new REMOVEENTRYCMD[] = "amx_removerule"
    new ADMINDISPLAYMESSAGECMD[] = "amx_displayrules"
    new DISPLAYMESSAGECMD[] = "say /rules"
    
    new CVARCOLOR[] = "sr_color"
    new CVARDISPLAY[] = "sr_display"
    
    public plugin_init()	{
    	register_plugin(PLUGINNAME, PLUGINVERSION, PLUGINAUTHOR) 
    	register_concmd(ADDENTRYCMD, "addentry", ADMIN_CVAR, "<entry> : Adds a entry")
    	register_concmd(REMOVEENTRYCMD, "removeentry", ADMIN_CVAR, "<id> : Removes a entry")
    	register_concmd(ADMINDISPLAYMESSAGECMD, "displaymessage", ADMIN_KICK, ": Display message to all players")
    	register_clcmd(DISPLAYMESSAGECMD, "displaymessage")
    
    	register_cvar(CVARDISPLAY, "20.0", 4)
    	register_cvar(CVARCOLOR, "0,255,0", 4)
    }
    
    public client_putinserver(id) 
    	set_task( TIMERWAIT, "displaymessage", id)
    
    // explode_string code originally designed by xeroblood
    stock explode_string( p_szOutput[][], p_nMax, p_nSize, p_szInput[], p_szDelimiter ) { 
    	new nIdx = 0, l = strlen(p_szInput) 
    	new nLen = (1 + copyc( p_szOutput[nIdx], p_nSize, p_szInput, p_szDelimiter )) 
    	while( (nLen < l) && (++nIdx < p_nMax) ) 
    		nLen += (1 + copyc( p_szOutput[nIdx], p_nSize, p_szInput[nLen], p_szDelimiter )) 
    	return nIdx
    }
    
    public addentry(id,level,cid){
    	if (!cmd_access(id,level,cid,2))
    		return PLUGIN_HANDLED
    	if (ENTRYCOUNT >= MAXENTRYCOUNT){
    		console_print(id,"[%s] Entry limit reached. %d active entries.", DISPLAYTITLE, ENTRYCOUNT)
    		return PLUGIN_HANDLED
    	}
    	read_argv(1,ENTRY[ENTRYCOUNT],MAXENTRYLENGTH)
    	console_print(id,"[%s] Entry added: %s", DISPLAYTITLE, ENTRY[ENTRYCOUNT])
    	ENTRYCOUNT++
    	return PLUGIN_HANDLED
    }
    
    public removeentry(id,level,cid){
    	// This code currenty does not work but I will be adding the remove feature soon
    	new nId[2]
    	if (!cmd_access(id,level,cid,2))
    		return PLUGIN_HANDLED
    	read_argv(1,nId,2)
    	if ( ENTRYCOUNT < str_to_num(nId) ){
    		console_print( id, "[%s] Entry doesn't exist.", DISPLAYTITLE )
    		return PLUGIN_HANDLED
    	}
    	console_print( id, "[%s] Entry Removed: %d", DISPLAYTITLE, ENTRY[str_to_num(nId)] )
    	ENTRYCOUNT--
    	return PLUGIN_HANDLED
    }
    
    public displaymessage(id) {
    	new sDisplayColor[12]
    	new Float:nDisplayTime = get_cvar_float(CVARDISPLAY)
    	
    	get_cvar_string( CVARCOLOR, sDisplayColor, 12 )
    	explode_string( DISPLAYCOLOR, 3, 3, sDisplayColor, ',' )
    	
    	format( MESSAGE, MESSAGELENGTH, DISPLAYTITLE )
    	for ( new i=0; i<ENTRYCOUNT; ++i ) {
    		format( MESSAGE, MESSAGELENGTH, "%s^n%d. %s", MESSAGE, i+1, ENTRY[i] )
    	}
    	set_hudmessage( str_to_num(DISPLAYCOLOR[0]), str_to_num(DISPLAYCOLOR[1]), str_to_num(DISPLAYCOLOR[2]), 0.05, 0.05, 2, 0.01, nDisplayTime, 0.01, 0.1, 4 )
    	if (!id) {
    		for(new i = 1; i <= get_maxplayers(); ++i) { 
    			show_hudmessage( i, "%s", MESSAGE )
    		}
    	} else {
    			show_hudmessage( id, "%s", MESSAGE )
    	}
    	return PLUGIN_HANDLED
    }
    




    cLan Tag Protection cho cLan của bạn.

    Cái plugin này dùng để bảo vệ cái clan tag của bạn kô cho thằng nào ăn cắp hoặc giả dạng làm member trong clan của bạn.
    Bạn có thể dùng cái plugin này bảo vệ cả tên của bạn được nữa, kô có thằng nào lấy được, trừ admin ra.
    Nếu có thằng nào lấy tên hoặc là clan tag của team bạn sẽ bị kick ra khỏi server cho đến khi thằng đó đổi cái tên khác hoặc clan tag khắc mới được vào, còn không thì khỏi vào luôn.

    Đánh "clan tag protection" trong amxx.cfg
    Clan_tag_protection.sma
    Mã:
    
    /* AMX Mod script.
    * 
    * (c) Copyright 2002, OLO
    * This file is provided as is (no warranties). 
    * 2003/09/27 thomastj Altered to work with Steam
    */    
    
    #include <amxmodx>
    #include <amxmisc>
    
    /*
     Protect your clan tag on your server!
    
     Example: open amxx.cfg and add there lines 
    	amx_protclantag "mytag" "123142"
    	amx_protclantag "mytag" "654645"
    	amx_protclantag "mytag" "457457"
    	amx_protclantag "anothertag" "9988989"
    	amx_protclantag "anothertag" "23432"
    	amx_protclantag "anothertag" "120032"
    */
    
    #define CLANTAGD
    
    /* Max. number of entries */
    #define MAX_CLANTAGS 200
    
    new clantaglist[MAX_CLANTAGS][32]
    new authids[MAX_CLANTAGS][32]
    new num_clantags
    new bool:cancheck[33]
    
    public add_clantag(id,level,cid){
    	if (!cmd_access(id,level,cid,3))
    		return PLUGIN_HANDLED
    	if (num_clantags >= MAX_CLANTAGS){
    		console_print(id,"Max. number of %d entries reached. Can't add more clan tags",MAX_CLANTAGS)
    		return PLUGIN_HANDLED
    	}
    	read_argv(1,clantaglist[num_clantags],31)
    	read_argv(2,authids[num_clantags],31)
    	console_print(id,"Protection for clan tag ^"%s^" set steamID ^"%s^" ",clantaglist[num_clantags],authids[num_clantags])
            num_clantags++
    	return PLUGIN_HANDLED
    }        
    
    // check authid with given clantag
    cant_use_tag(id,clantag[]){
    	new authid[32]
    	get_user_authid(id,authid,31)
    #if defined CLANTAGD
            log_message("[CLANTAG] Authenticating tag: ^"%s^" steamID: ^"%s^"",clantag,authid)
    #endif
            // If steam id still not assigned then redrive the client entered code and exit here 
    
            if ( (equal(authid,"STEAM_ID_PENDING")) || (equal(authid,"")) ) 
              {
                set_task(0.5,"client_entered",id)
                return false
              } 
    	for (new i=0; i<num_clantags; ++i){
    		if ( equal(clantag,clantaglist[i]) && equal(authid,authids[i]) )
                       return false
    	}
    #if defined CLANTAGD
            log_message("[CLANTAG] Unauthorized tag: ^"%s^" steamID: ^"%s^"",clantag,authid)
    #endif
    	return true
    }
    
    check_name(id,name[]) {
    	for (new i=0; i<num_clantags; ++i){
    		if (containi(name,clantaglist[i]) != -1){
    			if (cant_use_tag(id,clantaglist[i])){
    				client_cmd(id,"echo ^"* Name '%s' is protected on this server, you cannot use it!^";disconnect",clantaglist[i])
    				client_print(0,print_chat,"* %s kicked from server, name '%s' is protected", name,clantaglist[i])
    #if defined CLANTAGD
    				log_message("[CLANTAG] %s kicked from server, name '%s' is protected", name,clantaglist[i])
    #endif
                                    cancheck[id] = false
    				return PLUGIN_HANDLED
    			}
    			break
    		}
    	}
    	return PLUGIN_CONTINUE
    }
    
    /* catch clients connecting and check names & clan tags */
    public client_putinserver(id)
            set_task(0.5,"client_entered",id)
    
    public client_entered(id){
    	cancheck[id] = true
    	new name[32]
    	get_user_name(id,name,31)
    #if defined CLANTAGD
            log_message("[CLANTAG] Client entered ^"%s^"",name)
    #endif
            return check_name(id,name)
    }
    
    /* detect name change against protected list */
    public client_infochanged(id){
    	if (cancheck[id]){ /* to exclude double checking when player is dead and name is switched back by CS */
    		new name[32]
    		get_user_info(id,"name",name,31)
    #if defined CLANTAGD
                    log_message("[CLANTAG] Name change ^"%s^"",name)
    #endif
    		return check_name(id,name)
    	}
    	return PLUGIN_CONTINUE
    }
    
    public plugin_init() {
       register_plugin("Clan Tag Protection","0.8.5","default")
       register_concmd("amx_protclantag","add_clantag",ADMIN_LEVEL_A,"<clan tag> <authid>")
       return PLUGIN_CONTINUE
    }
    
     
Trạng thái chủ đề:
Không mở trả lời sau này.

Chia sẻ trang này