Заявка за Вип Екстра и Army Ranks!

В този раздел можете да подавате всякакви заявки за намиране, изработка или преработка на плъгини/модове.
Заключено
Аватар
zEmster
Извън линия
Потребител
Потребител
Мнения: 28
Регистриран на: 21 Яну 2018, 18:50

Заявка за Вип Екстра и Army Ranks!

Мнение от zEmster » 21 Яну 2018, 20:23

Здравейте ! Можe ли някой да ми направи такава система , защото много търсих , но нищо не намерих

army system (ranks) - която при всеки ранг нагоре да ти се вдига hp-то с 3 и макса (GENERAL) да си на 140hp, но това да е доста трудничко да го стигнеш

Вип екстра - виповете да имат : 120hp , да дава по 1 граната при глава и макса , който можеш да имаш е 3 гранати , да могат да си взимат awp за 10000$)
Последно промяна от zEmster на 21 Яну 2018, 20:49, променено общо 2 пъти.

Аватар
OciXCrom
Извън линия
Администратор
Администратор
Мнения: 7206
Регистриран на: 06 Окт 2016, 19:20
Местоположение: /resetscore
Се отблагодари: 117 пъти
Получена благодарност: 1295 пъти
Обратна връзка:

Заявка за плъгин!

Мнение от OciXCrom » 21 Яну 2018, 20:27

Оправи заглавието на темата.

Аватар
wrath
Извън линия
Потребител
Потребител
Мнения: 167
Регистриран на: 21 Яну 2018, 10:30
Местоположение: /changerace
Обратна връзка:

Заявка за Вип Екстра и Army Ranks!

Мнение от wrath » 21 Яну 2018, 20:55

zEmster написа: 21 Яну 2018, 20:23 Здравейте ! Можe ли някой да ми направи такава система , защото много търсих , но нищо не намерих

army system (ranks) - която при всеки ранг нагоре да ти се вдига hp-то с 3 и макса (GENERAL) да си на 140hp, но това да е доста трудничко да го стигнеш

Вип екстра - виповете да имат : 120hp , да дава по 1 граната при глава и макса , който можеш да имаш е 3 гранати , да могат да си взимат awp за 10000$)
1. Ето ти го ,само компилирай. Също ,ако не ти харесват ранковете ги промени.

Код за потвърждение: Избери целия код

#include < amxmodx >
    #include < cstrike >
    #include < nvault >

    const MAX_PLAYERS = 32;
    
    new const Plugin[] = "ConnectionsRanks";
    new const Version[] = "5.0";
    new const Authors[] = "Excolent,fLy JumpeR*";
    new const DataFileName[] = "ConStats";

    enum ConnectionStatus
    {
       Novak_sum,
       Ucha_se,
       Bot,
       Lamer_sum_be,
       Mega_Killer,
       Officer,
       Comannder,
       General,
       MegaPro_Player,
       Nai_dobriq_v_servera
       
    }

    new const StatusDescription[ ConnectionStatus ][] = 
    {
    "[Novak sum!]",
    "[Ucha se!]",
    "[Bot]",
    "[Lamer sum be!]",
    "[Mega Killer!]",
    "[Officer!]",
    "[Comannder!]",
    "[General]",
    "[MegaPro Player!]",
    "[Nai dobriq v servera!]"
    };

    new const StatusLevels[ ConnectionStatus ] = 
    {
    25,
    50,
    100,
    200,
    300,
    500,
    750,
    1000,
    1250,
    1500
    
    }

    new const Teams[ CsTeams ][] = 
    {
       "(Unassigned)",
       "(Terrorist)", 
       "(Counter-Terrorist)",
       "(Spectator)"
    };

    enum PlayerData
    {
       Name[ 33 ],
       AuthID[ 35 ],
       Connections,
       Status,
       PlayTime,
       LeaveMsg[ 33 ]
    }

    new g_PData[ MAX_PLAYERS + 1 ][ PlayerData ];
    new g_iConnectTime[ MAX_PLAYERS + 1 ];
    new bool:g_bIsBot[ MAX_PLAYERS + 1 ]; 
    new g_iVault;

    new g_iMsgSayText;
    new g_iMaxPlayers;
    new g_pAllChat;

    public plugin_init( )
    {
       register_plugin( Plugin , Version , Authors);
       
       register_clcmd( "say" , "HookSay" );
       register_clcmd( "say_team" , "HookSay_Team" );

       g_pAllChat = register_cvar( "cat_allchat" , "0" );
       
       g_iMsgSayText = get_user_msgid( "SayText" );
       g_iMaxPlayers = get_maxplayers();
    }

    public plugin_cfg()
       g_iVault = nvault_open( DataFileName );

    public plugin_end() 
       nvault_close( g_iVault );

    public client_putinserver( id )
    {
       g_bIsBot[ id ] = bool:!!is_user_bot( id );
       
       if ( g_bIsBot[ id ] )
          return PLUGIN_CONTINUE;

       get_user_authid( id , g_PData[ id ][ AuthID ] , charsmax( g_PData[][ AuthID ] ) );

       static szData[ 128 ] , szConnections[ 5 ] , szStatus[ 2 ] , szPlayTime[ 8 ];
       if ( nvault_get( g_iVault , g_PData[ id ][ AuthID ] , szData , charsmax( szData ) ) )
       {
          parse( szData , g_PData[ id ][ Name ] , charsmax( g_PData[][ Name ] ) ,
                g_PData[ id ][ AuthID ] , charsmax( g_PData[][ AuthID ] ) ,
                szConnections , charsmax( szConnections ) ,
                szStatus , charsmax( szStatus ) ,
                szPlayTime , charsmax( szPlayTime ) ,
                g_PData[ id ][ LeaveMsg ] , charsmax( g_PData[][ LeaveMsg ] ) );
       
          g_PData[ id ][ Connections ] = str_to_num( szConnections );
          g_PData[ id ][ PlayTime ] = str_to_num( szPlayTime );
       }
       
       g_PData[ id ][ Connections ]++;
       g_iConnectTime[ id ] = get_systime();
       
          {
      }
   }
    public client_infochanged(id) 
    {   
       static szNewName[ 33 ];

       get_user_info( id , "name" , szNewName , 32 );
       
       if ( !equal( g_PData[ id ][ Name ] , szNewName ) )
          copy( g_PData[ id ][ Name ] , charsmax( g_PData[][ Name ] ) , szNewName );
    }

    public client_disconnect( id )
    {
       static szMessage[ 128 ];
       
       if ( g_bIsBot[ id ] )
          return PLUGIN_CONTINUE;
       
       remove_task( id );
       
       g_PData[ id ][ PlayTime ] += ( get_systime() - g_iConnectTime[ id ] );
       
       formatex( szMessage , charsmax( szMessage ) , "^"%s^" ^"%s^" ^"%d^" ^"%d^" ^"%d^" ^"%s^"" , g_PData[ id ][ Name ] , 
                                  g_PData[ id ][ AuthID ] , 
                                  g_PData[ id ][ Connections ] , 
                                  g_PData[ id ][ Status ] , 
                                  g_PData[ id ][ PlayTime ] , 
                                  g_PData[ id ][ LeaveMsg ] );
          
       nvault_set( g_iVault , g_PData[ id ][ AuthID ] , szMessage );
       
       {
          formatex( szMessage , charsmax( szMessage ) , "^x04[Rank System] ^x03Veteran: %s has left the server. [^x04Message: %s^x03]" , g_PData[ id ][ Name ] , g_PData[ id ][ LeaveMsg ] );
          Print( 0 , 1 , szMessage );
       }
       
       g_PData[ id ][ Name ][ 0 ] = EOS;
       g_PData[ id ][ AuthID ][ 0 ] = EOS;
       g_PData[ id ][ Connections ] = 0;
       g_PData[ id ][ Status ] = 0;   
       g_PData[ id ][ PlayTime ] = 0;
       g_PData[ id ][ LeaveMsg ][ 0 ] = EOS;
       
       g_iConnectTime[ id ] = 0;
       
       return PLUGIN_CONTINUE;
    }

    public HookSay( id )
    {
       static szMessage[ 256 ] , szMsgSaid[ 256 ];
       new bool:bIsAlive , bool:bAllChat;
       
       read_args( szMsgSaid , charsmax( szMsgSaid ) );
       remove_quotes( szMsgSaid );

       {
          if( szMsgSaid[ 0 ] == '/' && szMsgSaid[ 2 ] == 'e' && szMsgSaid[ 4 ] == 'v' && szMsgSaid[ 6 ] == 'm' )
          {
             new Arg[ 64 ];
             strbreak( szMsgSaid , szMsgSaid , 95 , Arg , 63 );
             remove_quotes( Arg );
       
             if( !Arg[ 0 ] )
             {
                if( g_PData[ id ][ LeaveMsg ][ 0 ]  )
                {
                   client_print( id , print_chat , "^x04[Rank System] ^x03Your current leave message is ^x04^"%s^"" , g_PData[ id ][ LeaveMsg ] );
                }
                else
                {
                   client_print( id , print_chat , "^x04[Rank System] ^x03You haven't set a leave message yet. To do so, type /leavemsg ^"message^"." );
                }
             }
             else if( equali( Arg , "remove" ) )
             {
                g_PData[ id ][ LeaveMsg ][ 0 ] = EOS;
                client_print( id , print_chat , "^x04[Rank System] ^x03 Your leave message was removed." );
             }
             else
             {
                copy( g_PData[ id ][ LeaveMsg ] , charsmax( g_PData[][ LeaveMsg ] ) , Arg );
                client_print( id , print_chat , "^x04[Rank System] ^x03 Your leave message has been set to ^x04 ^"%s^"" , Arg );
             }
             return PLUGIN_HANDLED;
          }
       }
       
       if ( szMsgSaid[ 0 ] == '/' && szMsgSaid[ 1 ] == 'p' && szMsgSaid[ 4 ] == 'y' && szMsgSaid[ 7 ] == 'm' )
       {
          new iHours , iDays , iMinutes , iCurTime;
          static szPlayTime[ 128 ] , iPos;
          
          formatex( szMessage , charsmax( szMessage) , "^x04[Rank System] ^x03 You currently have^x04 %d^x03 connections. [^x04Status: %s^x03]" , g_PData[ id ][ Connections ] , StatusDescription[ ConnectionStatus:g_PData[ id ][ Status ] ] );
          Print( id , id , szMessage );
          
          iCurTime = g_PData[ id ][ PlayTime ] + ( get_systime() - g_iConnectTime[ id ] );
          iPos = 0;
          
          if ( iCurTime >= 86400 )
          {
             iDays = iCurTime / 86400;
             iCurTime -= iDays * 86400;
             iPos = formatex( szPlayTime , charsmax( szPlayTime ) , "%d days, " , iDays );
          }
          if ( iCurTime >= 3600 )
          {
             iHours = iCurTime / 3600;
             iCurTime -= iHours * 3600;
             iPos += formatex( szPlayTime[ iPos ] , charsmax( szPlayTime ) - iPos , "%d hour%s, " , iHours , iHours > 1 ? "s" : "" );
          }
          if ( iCurTime >= 60 )
          {
             iMinutes = iCurTime / 60;
             iCurTime -= iMinutes * 60;
             iPos += formatex( szPlayTime[ iPos ] , charsmax( szPlayTime ) - iPos , "%d minute%s, " , iMinutes , iMinutes > 1 ? "s" : "" );
          }
          if ( iCurTime )
          {
             iPos += formatex( szPlayTime[ iPos ] , charsmax( szPlayTime ) - iPos , "%d second%s, " , iCurTime , iCurTime > 1 ? "s" : "" );
          }
          
          szPlayTime[ iPos - 2 ] = EOS;
          
          formatex( szMessage , charsmax( szMessage ) , "^x04[Rank System] ^x03 You have played on this server for:^x04 %s", szPlayTime );
          Print( id , id , szMessage );
          
          return PLUGIN_HANDLED;
       }

       bIsAlive = bool:!!is_user_alive( id );
       bAllChat = bool:!!get_pcvar_num( g_pAllChat );
       
       if ( bIsAlive )
          formatex( szMessage , charsmax( szMessage ) , "^x04[%s]^x03 %s^x01 :  %s", StatusDescription[ ConnectionStatus:g_PData[ id ][ Status ] ] , g_PData[ id ][ Name ] , szMsgSaid );
       else 
          formatex( szMessage , charsmax( szMessage ) , "^x01%s^x04[%s]^x03 %s^x01 :  %s", ( cs_get_user_team( id ) != CS_TEAM_SPECTATOR ) ? "*DEAD*" : "*SPEC*" , StatusDescription[ ConnectionStatus:g_PData[ id ][ Status ] ] , g_PData[ id ][ Name ] , szMsgSaid );

       for ( new iPlayer = 1 ; iPlayer <= g_iMaxPlayers ; iPlayer++ )
          if ( is_user_connected( iPlayer ) &&
             ( bAllChat || ( bIsAlive || ( !bIsAlive && !is_user_alive( iPlayer ) ) ) ) )
                Print( iPlayer , id , szMessage );
             
       return PLUGIN_HANDLED;
    }

    public HookSay_Team( id )
    {
       static szMessage[ 256 ] , szMsgSaid[ 256 ];
       new CsTeams:iTeam , bool:bIsAlive , bool:bAllChat;
       
       read_args( szMsgSaid , charsmax( szMsgSaid ) );
       remove_quotes( szMsgSaid );

       iTeam = cs_get_user_team( id );
       bIsAlive = bool:!!is_user_alive( id );
       bAllChat = bool:!!get_pcvar_num( g_pAllChat );
       
       if ( bIsAlive || ( iTeam == CS_TEAM_SPECTATOR ) )
          formatex( szMessage , charsmax( szMessage ) , "^x04[%s]^x01 %s^x03 %s^x01 :  %s", StatusDescription[ ConnectionStatus:g_PData[ id ][ Status ] ] , Teams[ iTeam ] , g_PData[ id ][ Name ] , szMsgSaid );
       else 
          formatex( szMessage , charsmax( szMessage ) , "*DEAD* ^x04[%s]^x01 %s^x03 %s^x01 :  %s", StatusDescription[ ConnectionStatus:g_PData[ id ][ Status ] ] , Teams[ iTeam ], g_PData[ id ][ Name ] , szMsgSaid );

       for ( new iPlayer = 1 ; iPlayer <= g_iMaxPlayers ; iPlayer++ )
          if ( ( is_user_connected( iPlayer ) && ( cs_get_user_team( iPlayer ) == iTeam ) ) &&
             ( bAllChat || ( bIsAlive || ( !bIsAlive && !is_user_alive( iPlayer ) ) ) ) )
                Print( iPlayer , id , szMessage );
          
       return PLUGIN_HANDLED;
    }

    Print( id , colorid , szMessage[] )
    {
       message_begin( id ? MSG_ONE_UNRELIABLE : MSG_BROADCAST , g_iMsgSayText , {0,0,0} , id );
       write_byte( colorid );
       write_string( szMessage );
       message_end();
    } 
2. Абсурд. :huh:
I am not big on sermons ,broken bones teach better lessons. Изображение Изображение

Аватар
ElitePower
Извън линия
Потребител
Потребител
Мнения: 547
Регистриран на: 13 Окт 2016, 14:20
Се отблагодари: 7 пъти
Получена благодарност: 13 пъти

Заявка за Вип Екстра и Army Ranks!

Мнение от ElitePower » 21 Яну 2018, 21:02

ArmyRanks: Намери един, който е безплатен и качи кода на плъгина, за да ти добавят това, което искаш

AWP 10000$: Има теми из форума, в които пише как да го направиш.

Аватар
OciXCrom
Извън линия
Администратор
Администратор
Мнения: 7206
Регистриран на: 06 Окт 2016, 19:20
Местоположение: /resetscore
Се отблагодари: 117 пъти
Получена благодарност: 1295 пъти
Обратна връзка:

Заявка за Вип Екстра и Army Ranks!

Мнение от OciXCrom » 21 Яну 2018, 21:10

Цената на AWP е 4750$, а ти искаш ВИП-ове да го купуват за 10000$ - каква е логиката?! Отделно, какъв е ВИП флагът?!

@ElitePower - тези теми са за CSDM.

Аватар
zEmster
Извън линия
Потребител
Потребител
Мнения: 28
Регистриран на: 21 Яну 2018, 18:50

Заявка за Вип Екстра и Army Ranks!

Мнение от zEmster » 21 Яну 2018, 21:17

Искам авп-то да струва 16000 а за виповете да е 10000 и с флаг "c"

Аватар
wrath
Извън линия
Потребител
Потребител
Мнения: 167
Регистриран на: 21 Яну 2018, 10:30
Местоположение: /changerace
Обратна връзка:

Заявка за Вип Екстра и Army Ranks!

Мнение от wrath » 21 Яну 2018, 21:25

Относно вип плугин - ето един. Може и да ти свърши работа.

Какво прави плугина?
1. Дава пакет от гранати (HE, 2FB, SG) всеки рунд.
2. Дава defuse kit, броня с каска всеки рунд.
3. Дава 500$ на убийство и 800$ на head shot.
4. Дава 15 кръв на убийство и 30 кръв на head shot.
5. Можеш да виждаш колко кръв си набил в реално време. В часовник около мерника ти ,няма нужда да се пише "/me".
6. Само VIP-овете могат да купуват снайпери. (AWP, G3SG1, SG550)
7. Специални модели за VIP.
8. От втория рунд виповете ще виждат VIP меню:
1. M4A1 със Deagle.
2. AK47 със Deagle.
3. AWP със Deagle.
Напиши /vips в чата за да видиш колко випа има онлайн.

Cvar-ове:

Код за потвърждение: Избери целия код

vip_hp 15 //Колко кръв да взима VIP на убийство 
vip_hp_hs 30 //Колко кръв да взима VIP на head shot
vip_max_hp 100 //Колко кръв да има максимум VIP-а
vip_money_per_damage 3 //Колко пари да взима VIP на 1 деймич
vip_money_kill_bonus 200 //Колко бонус пари да взима VIP на убийство
vip_money_hs_bonus 500 //Колко бонус пари да взима VIP на head shot
vip_sniper_active 1 //Кой може да купува снайпери?  0 - всички, 1 - само VIP-овете
vip_menu_active 1 //Да получава ли VIP-а VIP menu? 0 - Не, 1 - Да 
vip_map_active 1 //VIP menu-то да работи на маповете в mapnames.txt? 0 - Да, 1 - Не
vip_awp_active 1 //1 - Дали VIP-а да има избор за AWP в менюто; 0 - Не, 1- Да
vip_menu_uses 1 //Колко пъти VIP-а да ползва VIP menu-то на рунд? 
vip_awp_ct 5 //Колко CT-та трябва да има в отбора на VIP-а за да може да взима AWP?
vip_awp_tr 5 //Колко T-та трябва да има в отбора на VIP-а за да може да взима AWP? 
vip_menu_round 2 //На кой рунд на VIP-а да му се отваря VIP menu?
vip_awp_menu_round 3 //От кой рунд VIP-а да има избор на AWP в менюто? 
vip_sniper_pickup 1 //0 - Всеки може да взима снайпери от земята, 1 - само VIP 
vip_bulletdamage_recieved 1 //Да се показва или да не се показва колко деймич е набил? 0/1 
vip_bulletdamage 1 //0 - махнат плугин, 1 - да се показва набития деймич, 2 - да се показва набития деймич ,но не през стена! 
vip_models 1 //0 - VIP модели изключени, 1 - включени
vip_menu_number_color 0 //Цвят на VIP menu-то. 0 - червен, 1 - жълт, 2 - бял, 3 - сив. 
vip_show_list 1 //Как да показва листата с випове /vips. 0 - изключено, 1 - в чата, 2 - в MOTD.  
Как се инсталира?
► Покажи скъсения текст
Файлове:
vip.txt MOTD.
models.zip Моделите.
VIP.amxx .amxx главен плугин.
VIP.sma .sma ,ако искаш да промениш нещо.

ИЗТОЧНИК: https://forums.alliedmods.net/
ПРЕВОД: wrath ,тоест мен.

Отне ми време ,поне го пробвай. :coffee:
Последно промяна от 1fRaNkkK на 21 Яну 2018, 21:28, променено общо 1 път.
Причина: Качването на .amxx файлове е забранено!
I am not big on sermons ,broken bones teach better lessons. Изображение Изображение

Аватар
OciXCrom
Извън линия
Администратор
Администратор
Мнения: 7206
Регистриран на: 06 Окт 2016, 19:20
Местоположение: /resetscore
Се отблагодари: 117 пъти
Получена благодарност: 1295 пъти
Обратна връзка:

Заявка за Вип Екстра и Army Ranks!

Мнение от OciXCrom » 21 Яну 2018, 21:28

За AWP - плъгинът изисква AMXX 1.8.3 за да работи. Ако имаш по-стара версия, мини към новата, в противен случай няма как да стане без ползване на един куп други ненужни неща, които аз лично няма да правя.

Код за потвърждение: Избери целия код

#include <amxmodx>
#include <cstrike>

#define PRICE_NORMAL 16000
#define PRICE_VIP 10000
#define VIP_FLAG ADMIN_KICK

public plugin_init()
	register_plugin("AWP Price", "1.0", "OciXCrom")

public CS_OnBuyAttempt(id, iItem)
{
	if(iItem == CSW_AWP)
	{
		new iPrice = get_user_flags(id) & VIP_FLAG ? PRICE_VIP : PRICE_NORMAL
		
		if(cs_get_user_money(id) >= iPrice)
			return PLUGIN_CONTINUE
		else
		{
			client_print(id, print_center, "This weapon costs %i$", iPrice)
			return PLUGIN_HANDLED
		}
	}
	
	return PLUGIN_CONTINUE
}
За кръвта и гранатите:

Код за потвърждение: Избери целия код

#include <amxmodx>
#include <cstrike>
#include <fun>
#include <hamsandwich>

#define VIP_HEALTH 120
#define VIP_FLAG ADMIN_KICK
#define VIP_GRENADES 3

public plugin_init()
{
	register_plugin("AWP Price", "1.0", "OciXCrom")
	register_event("DeathMsg", "OnPlayerKilled", "a")
	RegisterHam(Ham_Spawn, "player", "OnPlayerSpawn", 1)
}
	
public OnPlayerKilled()
{
	new iAttacker = read_data(1), iVictim = read_data(2)
		
	if(is_user_connected(iAttacker) && iAttacker != iVictim && (get_user_flags(iAttacker) & VIP_FLAG) && read_data(3))
	{
		new iGrenades = cs_get_user_bpammo(iAttacker, CSW_HEGRENADE)
		
		if(iGrenades < VIP_GRENADES)
			cs_set_user_bpammo(iAttacker, CSW_HEGRENADE, iGrenades + 1)
	}
}

public OnPlayerSpawn(id)
{
	if(is_user_alive(id) && get_user_flags(id) & VIP_FLAG)
		set_user_health(id, VIP_HEALTH)
}

Аватар
wrath
Извън линия
Потребител
Потребител
Мнения: 167
Регистриран на: 21 Яну 2018, 10:30
Местоположение: /changerace
Обратна връзка:

Заявка за Вип Екстра и Army Ranks!

Мнение от wrath » 21 Яну 2018, 21:29

МНЕНИЕТО Е СКРИТО ОТ СТРАНА НА МОДЕРАТОР! ЦЪКНИ ВЪРХУ ЛЕНТАТА ЗА ДА ГО ПРЕГЛЕДАШ.
Последно промяна от OciXCrom на 21 Яну 2018, 21:30, променено общо 1 път.
Причина: Абсолютно можем да променим цената.
I am not big on sermons ,broken bones teach better lessons. Изображение Изображение

Аватар
zEmster
Извън линия
Потребител
Потребител
Мнения: 28
Регистриран на: 21 Яну 2018, 18:50

Заявка за Вип Екстра и Army Ranks!

Мнение от zEmster » 21 Яну 2018, 21:35

Сървъра e CSDM

Добавено преди 1 минута 18 секунди:
Относно army ranks системата когато го компилирах ми вади грешки -


ranks.sma(18) : error 001: expected token: "}", but found "-identifier-"
ranks.sma(25) : error 010: invalid function or declaration
ranks.sma(33) : error 018: initialization data exceeds declared size
ranks.sma(39) : error 010: invalid function or declaration
ranks.sma(127) : warning 217: loose indentation
ranks.sma(129) : warning 209: function "client_putinserver" should return a value
ranks.sma(307) : warning 203: symbol is never used: "StatusLevels"

4 Errors.
Could not locate output file ranks.amx (compile failed).

Заключено
  • Подобни теми
    Отговори
    Преглеждания
     Последно мнение

Обратно към “Заявки за плъгини”

Кой е на линия

Потребители разглеждащи този форум: Bing [Bot] и 11 госта