Page 1 of 1

Cerere plugin arme vip

Posted: 05 Feb 2019, 11:57
by Djjfurien
Plugin Cerut: Un plugin pentru mod furien cu arme
Descriere (adica ce face el mai exact): un menu ce poate fi accesat prin /pweps, ce se deschide DOAR LA CT, si afiseaza doua arme. un ak47, si un m4a1, modelele vreau sa se descarce repede.. adica, daca stiti voi niste modele gold, ce se descarca mai repede. Acest menu sa fie accesat odata pe runda, fara a putea schimba armele in aceeasi runda. Bineinteles, l-as dori cu mesaje in chat colorate.. Sa nu uit, acest menu sa fie accesat DOAR LA VIP, iar vip-ul sa il pot adauga dintr-un fisier vips.ini. Insa sper ca nu are nimic daca voi avea doua pluginuri cu aceeasi chestie, vip din vips.ini. De exemplu mai am pluginul: cereri-pluginuri/cerere-plugin-vip-t361844.html . , tot din vips.ini adaug vip. Se poate adauga arme la acel plugin, sau se face unul nou, la fel ca ala? Dar fara sa se suprapuna.. Cum e mai usor si mai functionabil..
Serverul ruleaza (HLDS/ReHLDS): rehdls
Versiune AMX Mod X: 1.8.2 cred
Modul Serverului: furien

Re: Cerere plugin arme vip

Posted: 05 Feb 2019, 16:12
by levin
îți trebuie sv dwd url de viteză dacă vrei să se descarce rapid(eventual să alegi modele de dimensiuni/încărcături mici)
amxmodx/furien-cso-weapons-2014-t245415.html

Re: Cerere plugin arme vip

Posted: 05 Feb 2019, 17:35
by Djjfurien
Am hostul de la krond.. insa, as dori menu simplu.. deoarece am deja menu weapons, dar pentru playeri.. la vip nu am nimic, si de aia doream, prin comanda /pweps sa apara menu, cum ziceam mai sus

Re: Cerere plugin arme vip

Posted: 06 Feb 2019, 17:11
by Djjfurien
:up: ..

Re: Cerere plugin arme vip

Posted: 06 Feb 2019, 18:19
by levin
| Afiseaza codul
[code]
#include < amxmodx >
#include <cstrike>
#include <fakemeta_util>
#include < fun >
#include <hamsandwich>

#define V_AK47_GOLD "models/v_ak47_vip.mdl"
#define V_M4A1_GOLD "models/v_m4a1_vip.mdl"
new bool:akg[33],bool:m4g[33],bool:are[33]

#pragma tabsize 0

new bool:g_bTeleport[ 33 ],bool:g_bGM[ 33 ]

//--| GodMode |--//
new GodMode_Cooldown[33] = 0;
new GodMode_DurationCooldown[33] = 0;
//--| Teleport |--//
new TeleportSprite, TeleportSprite2;
new Teleport_Cooldown[33];
new const SOUND_BLINK[] = { "weapons/flashbang-1.wav" };
const UNIT_SEC = 0x1000;
const FFADE = 0x0000;
new CvarTeleportCooldown, CvarTeleportRange,CvarGodModeCooldown, CvarGodModeDuration

new const VIP_DIR[]=   "addons/amxmodx/configs/VIP"
new const VIP_FILE[]=   "vips.ini"

new File[125],bool:IsUserVip[33] = false,Trie:LoadVip

public plugin_init( ) 
{
   register_event( "HLTV", "event_new_round", "a", "1=0", "2=0" );
   register_event("DeathMsg", "Death", "a");
   
   RegisterHam(Ham_Spawn, "player", "Spawn", 1);
   
   register_clcmd( "say", "SayChatAnswer" );
   register_clcmd( "say_team", "SayChatAnswer" );
   
   register_clcmd("power", "Power");
   
   CvarTeleportCooldown = register_cvar("vip_teleport_cooldown", "20.0");   // Teleport Cooldown
   CvarTeleportRange = register_cvar("vip_teleport_range", "12345");   // Teleport Range
   
   CvarGodModeCooldown = register_cvar("vip_godmode_cooldown", "20.0");   // GodMode Cooldown
   CvarGodModeDuration = register_cvar("vip_godmode_duration", "3.0");   // GodMode Duration
   
   
   LoadVip = TrieCreate()
   
   
   register_event( "CurWeapon", "Event_CurWeapon", "be", "1=1" )
   register_clcmd("say /pweps","ARME")
   register_clcmd("say_team /pweps","ARME")
}

public ARME(id)
{
	if(!IsUserVip[id])
	{
		ColorChat(id,"^1Trebuie sa fii^3 VIP^1 pentru a accesa acest meniu.")
		return
	}
	else if(!is_user_alive(id))
	{
		ColorChat(id,"^1Trebuie sa fii in^3 Viata^1 pentru a accesa acest meniu.")
		return
	}
	else if(are[id])
	{
		ColorChat(id,"^1Ai acceast acest^3 Meniu^4 runda^1 aceasta..Asteapta^3 urmatoarea^4 runda^1.")
		return
	}
	else if(get_user_team(id)!=2)
	{
		ColorChat(id,"^1Trebuie sa fii^3 CT^1 pentru a accesa acest meniu.")
		return
	}
	
	new gMenu=menu_create("Arme speciale", "thisContent")
	
	menu_additem( gMenu, "M4A1 GOLD", "1" );
	menu_additem( gMenu, "AK47 GOLD", "2" );
	
	menu_setprop( gMenu, MPROP_EXIT, MEXIT_ALL );
	menu_display( id, gMenu );
}
public thisContent( id, Menu, Item )
{
	if( Item < 0 )
	{
		return 0;
	}

	new Key[ 3 ];
	new Access, CallBack;

	menu_item_getinfo( Menu, Item, Access, Key, 2, _, _, CallBack );

	new isKey = str_to_num( Key );

	switch( isKey )
	{
		case 1:
		{
			if(akg[id])
			{
				ColorChat(id,"^1Deja ai o^3 arma^4 VIP^1!")
				return 0
			}
			m4g[id]=true
			give_item(id,"weapon_m4a1")
			cs_set_user_bpammo( id, CSW_M4A1, 90 )
			set_pev(id,pev_viewmodel2,V_M4A1_GOLD)
			engclient_cmd(id,"weapon_m4a1")
			are[id]=true
			ColorChat(id,"^1Ai primit cu^3 succes^4 M4A1^3 GOLD^1 !")
		}
		case 2:
		{
			if(m4g[id])
			{
				ColorChat(id,"^1Deja ai o^3 arma^4 VIP^1!")
				return 0
			}
			akg[id]=true
			give_item(id,"weapon_ak47")
			cs_set_user_bpammo( id, CSW_AK47, 90 )
			set_pev(id,pev_viewmodel2,V_AK47_GOLD)
			engclient_cmd(id,"weapon_ak47")
			are[id]=true
			ColorChat(id,"^1Ai primit cu^3 succes^4 AK47^3 GOLD^1 !")
		}
	}
	return 1;
}

public Event_CurWeapon(id)
{
	if(is_user_alive(id)&&IsUserVip[id]&&get_user_team(id)==2)
	{
		switch(read_data(2))
		{
			case CSW_M4A1:	if(m4g[id])	set_pev(id,pev_viewmodel2,V_M4A1_GOLD)
			case CSW_AK47:	if(akg[id])	set_pev(id,pev_viewmodel2,V_AK47_GOLD)
		}
	}
}

public plugin_precache()
{
   if(!dir_exists(VIP_DIR))   mkdir(VIP_DIR)
   
   TeleportSprite = precache_model( "sprites/shockwave.spr");
   TeleportSprite2 = precache_model( "sprites/blueflare2.spr");
   
   precache_model(V_AK47_GOLD)
   precache_model(V_M4A1_GOLD)
}

public plugin_cfg()
{
   formatex(File,charsmax(File),"%s/%s",VIP_DIR, VIP_FILE)
   if(!file_exists (File))
   {
      write_file (File,"; ===========================================================");
      write_file (File,"; --------------------- VIP LIST ----------------------------");
      write_file (File,"; ===========================================================");
      write_file (File,"; Nota: Incepe randul cu ; pentru a dezactiva un VIP");
      write_file (File,"; Nota: Pentru a adauga un nume cu spatiu, pune-l intre ^"^"");
   }
   
   new FilePointer,Key[32],FileData[256]
   FilePointer = fopen(File,"rt")
   /*if(!file_exists(File))
{
   FilePointer = fopen(File,"w")
   fclose(FilePointer)
}*/
   if(FilePointer)
   {
      while(!feof(FilePointer))//fgets
      {
         //trim(FileData)
         fgets(FilePointer,FileData,charsmax(FileData))
         if ( !strlen (FileData) || FileData[0] == ';' )   continue;
         parse(FileData,Key,charsmax(Key))
         TrieSetCell(LoadVip,Key,charsmax(Key))
      }
      fclose(FilePointer)
   }
}

public client_connect(id) {
   new szName[32]
   get_user_name(id,szName,charsmax(szName))

   if(TrieKeyExists(LoadVip,szName))   IsUserVip[id] = true
}
public client_infochanged(id) {
   new oldname[32],newname[32]
   get_user_name(id,oldname,charsmax(oldname))
   get_user_info(id,"name",newname,charsmax(newname))

   if(equal(newname,oldname))   return
   
   if(TrieKeyExists(LoadVip,newname))   IsUserVip[id] = true
   else   IsUserVip[id] = false
}
public plugin_end()   TrieDestroy(LoadVip)

//------| Client Power |------//
public Power(id)  {
   static Float:start[3];
   static Float:aim[3];

   pev(id, pev_origin, start);
   fm_get_aim_origin(id, aim);

   start[2] += 16.0; // raise
   aim[2] += 16.0; // raise
   
   if (IsUserVip[id]&& is_user_alive(id) && g_bGM[id] && !GodMode_DurationCooldown[id]) {

   if (GodMode_Cooldown[id]) {
   ColorChat(id,"^x03[AMXX]^x04 Puterea GodMode iti va reveni in^x03 %d secunde.",GodMode_Cooldown[id]);
set_user_godmode(id, 0);
   return PLUGIN_HANDLED;
   }
   else
   {
   set_user_godmode(id, 1);
   GodMode_DurationCooldown[id] = get_pcvar_num(CvarGodModeDuration)
   set_task(1.0, "GodModeShowHUD", id, _, _, "b");
   set_hudmessage(0, 100, 200, 0.05, 0.60, 0, 1.0, 1.1, 0.0, 0.0, -11);
   if(get_pcvar_num(CvarGodModeDuration) != 1) {
   show_hudmessage(id, "Ai GodMode pentru: %d secunde",get_pcvar_num(CvarGodModeDuration));
   }
   else if(get_pcvar_num(CvarGodModeDuration) == 1) {
   show_hudmessage(id, "Ai GodMode pentru: %d secunda",get_pcvar_num(CvarGodModeDuration));
   }
   return PLUGIN_HANDLED;
   }
   }

   else if  (IsUserVip[id] && is_user_alive(id) && g_bTeleport[id]) {   
   if (Teleport_Cooldown[id]) {
   ColorChat(id,"^x03[AMXX]^x04 Puterea Teleport iti va reveni in^x03 %d secunde.",Teleport_Cooldown[id]);
   return PLUGIN_CONTINUE;
   }
   if (teleport(id)) {
   emit_sound(id, CHAN_STATIC, SOUND_BLINK, 1.0, ATTN_NORM, 0, PITCH_NORM);
   remove_task(id);
   Teleport_Cooldown[id] = get_pcvar_num(CvarTeleportCooldown);
   set_task(1.0, "TeleportShowHUD", id, _, _, "b");
   set_hudmessage(0, 100, 200, 0.05, 0.60, 0, 1.0, 1.1, 0.0, 0.0, -11);
   if(get_pcvar_num(CvarTeleportCooldown) != 1) {
   show_hudmessage(id, "Puterea Teleport iti va reveni in: %d secunde",get_pcvar_num(CvarTeleportCooldown));
   }
   if(get_pcvar_num(CvarTeleportCooldown) == 1) {
   show_hudmessage(id, "Puterea Teleport iti va reveni in: %d secunda",get_pcvar_num(CvarTeleportCooldown));
   }
   return PLUGIN_HANDLED;
   }
   else {
   Teleport_Cooldown[id] = 0;
   ColorChat(id, "^x03[AMXX]^x04 Pozitia de teleportare este invalida.");
   return PLUGIN_HANDLED;
   }
   return PLUGIN_HANDLED;
   }
   return PLUGIN_HANDLED;
   }

////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Client |
//==========================================================================================================
//------| Client PutinServer |------//
public client_putinserver(id) {
   GodMode_Cooldown[id] = 0;
   GodMode_DurationCooldown[id] = 0;
   Teleport_Cooldown[id] = 0;
   }
//------| Client Disconnect |------//
public client_disconnect(id) {  
   GodMode_Cooldown[id] = 0;
   GodMode_DurationCooldown[id] = 0;
   Teleport_Cooldown[id] = 0;
   
   IsUserVip[id] = false
   }
//------| Client Spawn |------//   
public Spawn(id) {
   remove_task(id);
   GodMode_Cooldown[id] = 0;
   GodMode_DurationCooldown[id] = 0;
   Teleport_Cooldown[id] = 0;
   
   m4g[id]=false
   akg[id]=false
   }
//------| Client Death |------//
public Death() {
   remove_task(read_data(2));
   GodMode_Cooldown[read_data(2)] = 0;
   GodMode_DurationCooldown[read_data(2)] = 0;
   
   Teleport_Cooldown[read_data(2)] = 0;
   }
//------| Client Power |------//

public event_new_round()
{
   for(new id;id<=get_maxplayers();id++)
   {
      g_bGM[id]=false
      g_bTeleport[id]=false
      
      are[id]=false
   }
}

public SayChatAnswer( id )
{
   new szSaid[ 132 ];
   read_args( szSaid, sizeof ( szSaid ) - 1 );
   remove_quotes( szSaid );
   
   if ( contain( szSaid, "/vip" )!=-1 || contain( szSaid, "/vips" )!=-1 )
   {
      if(IsUserVip[id])
      {
         ShowMenuVIP( id );
         client_print(id,print_chat,"Ai deschis meniul VIP Premium.")
      }
      else
      {
         client_print(id,print_chat,"Doar VIP-II Premium au acces la aceasta comanda.")
      }
   }
}
public ShowMenuVIP( id )
{
   new szMenu;
   szMenu = menu_create( "\rMeniu VIP Premium:\w", "iContent" );
   
   menu_additem( szMenu, "\wTeleport",    "2" );
   menu_additem( szMenu, "\wGodMode",    "1" );
   
   menu_setprop( szMenu, MPROP_NUMBER_COLOR, "\r" );
   menu_setprop( szMenu, MPROP_EXIT, MEXIT_ALL );
   menu_display( id, szMenu, 0 );
}
public iContent( id, szMenu, Item )
{
   if ( Item == MENU_EXIT||!is_user_alive(id) )
   {
      menu_destroy( szMenu )
      return PLUGIN_HANDLED;
   }
   
   new iData[ 9 ], szName[ 32 ];
   new iAccess, iCallback;
   menu_item_getinfo( szMenu, Item, iAccess, iData, sizeof ( iData ) - 1, szName, sizeof ( szName ) - 1, iCallback );
   
   new iKeys = str_to_num( iData );
   switch( iKeys )
   {
      case 1:
      {
         if(g_bGM[id]||g_bTeleport[id])   return PLUGIN_HANDLED
         
         g_bGM[id]=true
         //set_user_godmode(id,1)
         
         client_print( id, print_chat, "Ai primit GodMode!" );
         client_print(id,print_chat,"Aceasta putere poate fi folosita odata la 20 secunde.")
    
   remove_task(id);
   if(GodMode_Cooldown[id]) {
   GodModeShowHUD2(id);
   }
      }
      
      case 2:
      {
         if(g_bTeleport[id]||g_bGM[id])   return PLUGIN_HANDLED

         g_bTeleport[ id ]  = true;
         
         client_print( id, print_chat, "Ai primit Teleport!" );
         client_print( id, print_chat, "Aceasta putere poate fi folosita odata la 20 secunde." );
    
       remove_task(id);
   if(Teleport_Cooldown[id]) {
   TeleportShowHUD(id);
   }
      }
   }
   return PLUGIN_HANDLED
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////
// GodMode |
//==========================================================================================================   
public GodModeShowHUD(id) {
   if (!is_user_alive(id) || !g_bGM[id]) {
   remove_task(id);
   GodMode_DurationCooldown[id] = 0;
   set_user_godmode(id, 0);
   return PLUGIN_HANDLED;
   }
   set_hudmessage(0, 100, 200, 0.05, 0.60, 0, 1.0, 1.1, 0.0, 0.0, -11);
   if(is_user_alive(id) && GodMode_DurationCooldown[id] == 1) {
   GodMode_DurationCooldown[id] --;
   show_hudmessage(id, "Ai GodMode pentru: %d secunda",GodMode_DurationCooldown[id]);
   }
   if(is_user_alive(id) && GodMode_DurationCooldown[id] > 1) {
   GodMode_DurationCooldown[id] --;
   show_hudmessage(id, "Ai GodMode pentru: %d secunde",GodMode_DurationCooldown[id]);
   }
   if(GodMode_DurationCooldown[id] <= 0) {
   show_hudmessage(id, "Nu mai ai GodMode");
   ColorChat(id,"^x03[AMXX]^x04 Nu mai ai GodMode.");
   remove_task(id);
   set_user_godmode(id, 0);
   GodMode_DurationCooldown[id] = 0;
   GodMode_Cooldown[id] = get_pcvar_num(CvarGodModeCooldown);
   set_task(1.0, "GodModeShowHUD2", id, _, _, "b");
   set_hudmessage(0, 100, 200, 0.05, 0.60, 0, 1.0, 1.1, 0.0, 0.0, -11);
   if(get_pcvar_num(CvarGodModeCooldown) != 1) {
   show_hudmessage(id, "Puterea GodMode iti va reveni in: %d secunde",get_pcvar_num(CvarGodModeCooldown));
   }
   if(get_pcvar_num(CvarGodModeCooldown) == 1) {
   show_hudmessage(id, "Puterea GodMode iti va reveni in: %d secunda",get_pcvar_num(CvarGodModeCooldown));
   }
   return PLUGIN_HANDLED;
   }
   return PLUGIN_HANDLED;
   }
   
public GodModeShowHUD2(id) {
   if (!is_user_alive(id) || !g_bGM[id]) {
   remove_task(id);
   GodMode_Cooldown[id] = 0;
   return PLUGIN_HANDLED;
   }
   set_hudmessage(0, 100, 200, 0.05, 0.60, 0, 1.0, 1.1, 0.0, 0.0, -11);
   if(is_user_alive(id) && GodMode_Cooldown[id] == 1) {
   GodMode_Cooldown[id] --;
   show_hudmessage(id, "Puterea GodMode iti va reveni in: %d secunda",GodMode_Cooldown[id]);
   }
   if(is_user_alive(id) && GodMode_Cooldown[id] > 1) {
   GodMode_Cooldown[id] --;
   show_hudmessage(id, "Puterea GodMode iti va reveni in: %d secunde",GodMode_Cooldown[id]);
   }
   if(GodMode_Cooldown[id] <= 0) {
   show_hudmessage(id, "Ti-a revenit puterea GodMode");
   ColorChat(id,"^x03[AMXX]^x04 Iti poti folosi din nou puterea GodMode.");
   remove_task(id);
   GodMode_Cooldown[id] = 0;
   }
   return PLUGIN_HANDLED;
   }
   
   
////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Teleport |
//==========================================================================================================
public TeleportShowHUD(id) {
   if (!is_user_alive(id) || !g_bTeleport[id]) {
   remove_task(id);
   Teleport_Cooldown[id] = 0;
   return PLUGIN_HANDLED;
   }
   set_hudmessage(0, 100, 200, 0.05, 0.60, 0, 1.0, 1.1, 0.0, 0.0, -11);
   if(is_user_alive(id) && Teleport_Cooldown[id] == 1) {
   Teleport_Cooldown[id] --;
   show_hudmessage(id, "Puterea Teleport iti va reveni in: %d secunda",Teleport_Cooldown[id]);
   }
   if(is_user_alive(id) && Teleport_Cooldown[id] > 1) {
   Teleport_Cooldown[id] --;
   show_hudmessage(id, "Puterea Teleport iti va reveni in: %d secunde",Teleport_Cooldown[id]);
   }
   if(Teleport_Cooldown[id] <= 0) {
   show_hudmessage(id, "Ti-a revenit puterea de Teleport");
   ColorChat(id,"^x03[AMXX]^x04 Iti poti folosi din nou puterea de Teleport.");
   remove_task(id);
   Teleport_Cooldown[id] = 0;
   }
   return PLUGIN_HANDLED;
   }
bool:teleport(id) {
   new Float:vOrigin[3], Float:vNewOrigin[3],
   Float:vNormal[3], Float:vTraceDirection[3],
   Float:vTraceEnd[3];
   
   pev(id, pev_origin, vOrigin);
   
   velocity_by_aim(id, get_pcvar_num(CvarTeleportRange), vTraceDirection);
   xs_vec_add(vTraceDirection, vOrigin, vTraceEnd);
   
   engfunc(EngFunc_TraceLine, vOrigin, vTraceEnd, DONT_IGNORE_MONSTERS, id, 0);
   
   new Float:flFraction;
   get_tr2(0, TR_flFraction, flFraction);
   if (flFraction < 1.0) {
   get_tr2(0, TR_vecEndPos, vTraceEnd);
   get_tr2(0, TR_vecPlaneNormal, vNormal);
   }
   
   xs_vec_mul_scalar(vNormal, 40.0, vNormal); // do not decrease the 40.0
   xs_vec_add(vTraceEnd, vNormal, vNewOrigin);
   
   if (is_player_stuck(id, vNewOrigin))
   return false;
   
   emit_sound(id, CHAN_STATIC, SOUND_BLINK, 1.0, ATTN_NORM, 0, PITCH_NORM);
   tele_effect(vOrigin);
   
   engfunc(EngFunc_SetOrigin, id, vNewOrigin);
   
   tele_effect2(vNewOrigin);
   
   return true;
   }

stock is_player_stuck(id, Float:originF[3]) {
   engfunc(EngFunc_TraceHull, originF, originF, 0, (pev(id, pev_flags) & FL_DUCKING) ? HULL_HEAD : HULL_HUMAN, id, 0);
   
   if (get_tr2(0, TR_StartSolid) || get_tr2(0, TR_AllSolid) || !get_tr2(0, TR_InOpen))
   return true;
   
   return false;
   }

stock tele_effect(const Float:torigin[3]) {
   new origin[3];
   origin[0] = floatround(torigin[0]);
   origin[1] = floatround(torigin[1]);
   origin[2] = floatround(torigin[2]);
   
   message_begin(MSG_PAS, SVC_TEMPENTITY, origin);
   write_byte(TE_BEAMCYLINDER);
   write_coord(origin[0]);
   write_coord(origin[1]);
   write_coord(origin[2]+10);
   write_coord(origin[0]);
   write_coord(origin[1]);
   write_coord(origin[2]+60);
   write_short(TeleportSprite);
   write_byte(0);
   write_byte(0);
   write_byte(3);
   write_byte(60);
   write_byte(0);
   write_byte(255);
   write_byte(255);
   write_byte(255);
   write_byte(255);
   write_byte(0);
   message_end();
   }

stock tele_effect2(const Float:torigin[3]) {
   new origin[3];
   origin[0] = floatround(torigin[0]);
   origin[1] = floatround(torigin[1]);
   origin[2] = floatround(torigin[2]);
   
   message_begin(MSG_PAS, SVC_TEMPENTITY, origin);
   write_byte(TE_BEAMCYLINDER);
   write_coord(origin[0]);
   write_coord(origin[1]);
   write_coord(origin[2]+10);
   write_coord(origin[0]);
   write_coord(origin[1]);
   write_coord(origin[2]+60);
   write_short(TeleportSprite);
   write_byte(0);
   write_byte(0);
   write_byte(3);
   write_byte(60);
   write_byte(0);
   write_byte(255);
   write_byte(255);
   write_byte(255);
   write_byte(255);
   write_byte(0);
   message_end();
   
   message_begin(MSG_BROADCAST, SVC_TEMPENTITY);
   write_byte(TE_SPRITETRAIL);
   write_coord(origin[0]);
   write_coord(origin[1]);
   write_coord(origin[2]+40);
   write_coord(origin[0]);
   write_coord(origin[1]);
   write_coord(origin[2]);
   write_short(TeleportSprite2);
   write_byte(30);
   write_byte(10);
   write_byte(1);
   write_byte(50);
   write_byte(10);
   message_end();
   }
   
////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Color Chat |
//==========================================================================================================
stock ColorChat(const id, const input[], any:...) {
   new count = 1, players[32];
   static msg[191];
   vformat(msg, 190, input, 3);
 
   replace_all(msg, 190, "^x04", "^4");
   replace_all(msg, 190, "^x01", "^1");
   replace_all(msg, 190, "^x03", "^3");
 
   if(id) players[0] = id;
   else get_players(players, count, "ch"); {
   for(new i = 0; i < count; i++) {
   if(is_user_connected(players)) {
   message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players);
   write_byte(players);
   write_string(msg);
   message_end();
   }
   }
   }
   }[/code]

Re: Cerere plugin arme vip

Posted: 06 Feb 2019, 19:35
by Djjfurien
Nu merge menu..

EDIT: Merge, dar s-ar putea pune 150 gloante? Deci 30 | 150, nu 30 | 90

Si damage-ul sa fie putin mai mare, fata de cel normal..