VIP Bonus

Tutoriale scripting, cod si portiuni de cod.

Moderators: Moderatori ajutatori, Moderatori, Echipa eXtreamCS.com

Post Reply
Nimicitu`
Membru, skill +1
Membru, skill +1
Posts: 162
Joined: 01 Sep 2015, 13:42
Detinator Steam: Nu
CS Status: Citesc forumul eXtreamCS.com...!
Fond eXtream: 0
Contact:

13 Sep 2015, 22:35

Salut, vreau si eu codu de la DeathMsg, cand un vip face kill, sa ii dea xp, cand face hs iar sa ii dea xp, va rog mult, ajutati-ma cu acest cod.

Cvar-u stiu sa-l creez in variabila, dar nu stiu codu.
RoyalServer
User avatar
Nubo
Fost moderator
Fost moderator
Posts: 2734
Joined: 11 Jul 2012, 18:45
Detinator Steam: Da
CS Status: [əˈnɒn.ɪ.məs]
Reputatie: Fost scripter eXtreamCS
Fost eXtream Mod
Has thanked: 8 times
Been thanked: 27 times

13 Sep 2015, 22:45

Baza.
Trebuie sa adaugi restul ce lipseste.
| Afiseaza codul
public plugin_init()
{
	register_event( "DeathMsg", "event_DeathMsg", "a", "1>0" )
}

public event_DeathMsg()
{
	new iAttacker = read_data( 1 );
	new iVictim = read_data( 2 );
	new iHS = read_data( 3 );
	
	if( iAttacker == iVictim )
		return;

	if( is_user_alive(iAttacker) && (get_user_flags(iAttacker) & ADMIN_LEVEL_H) )
	{
		if( iHS )
		{
			give_user_xp(id, 20) // mai mult XP pentru HS
		}
		else
		{
			give_user_xp(id, 10)
		}
	}
}
Cand nu merge acest forum sunt online aici:
  • * Skype: nubo_cs
    * Y!M ID: nubo_cs
Nimicitu`
Membru, skill +1
Membru, skill +1
Posts: 162
Joined: 01 Sep 2015, 13:42
Detinator Steam: Nu
CS Status: Citesc forumul eXtreamCS.com...!
Fond eXtream: 0
Contact:

13 Sep 2015, 23:07

Nubo, eu am acest DeathMsg, optimizeaza-mi-l te rog frumos.
Native : get_user_xp / set_user_xp
Cu acest init: register_event("DeathMsg", "eDeath", "a" );
Cod | Afiseaza codul
[code]public eDeath(){
    
    new iKiller = read_data (1)
    new iVictim = read_data(2)
    new iHead = read_data(3)
    
    if(iKiller == iVictim) return 1;

    new iMoney = cs_get_user_money(iKiller)
    new iHMoney = cs_get_user_money(iHead)
    
    if( iHead)
    {
        if(get_user_flags(iHead) & ACCESS )
        {
            cs_set_user_money(iHead, iHMoney + get_pcvar_num(cvar_vhmoney ))
            ColorChat(iHead, "^x04 %s^x01 Ai primit ^x04%d^x03 MONEY^x01 pentru ca ai facut ^x03frag prin HS^x01 !", szTag, get_pcvar_num(cvar_vhmoney) )
            return 1;
        }
    }
    
    else
    {
        if(get_user_flags(iKiller) & ACCESS )
        {
            cs_set_user_money(iKiller, iMoney + get_pcvar_num(cvar_vmoney));
            ColorChat(iKiller, "%s Ai primit ^x04%d^x03 MONEY ^x01pentru ca ai facut ^x031 frag^x01 !", szTag, get_pcvar_num(cvar_vmoney) )
            return 1;
        }
    }
    else
    {
	if( is_user_alive(iKiller) && (get_user_flags(iKiller) & ACCESS) )
	{
		if( iHead )
		{
			give_user_xp(id, 20)
		}
		else
		{
			give_user_xp(id, 10)
		}
	}
}
    return 0;
}[/code]
Nimicitu`
Membru, skill +1
Membru, skill +1
Posts: 162
Joined: 01 Sep 2015, 13:42
Detinator Steam: Nu
CS Status: Citesc forumul eXtreamCS.com...!
Fond eXtream: 0
Contact:

14 Sep 2015, 13:18

Am editat ce am eu, am combinat cu ce mi-ai dat tu, sa imi zici daca e bine:
1. Init | Afiseaza codul
[code]register_event("DeathMsg", "eDeath", "a" );[/code]
2. Variabilele cvar-urilor | Afiseaza codul
[code]new cvar_vmoney, cvar_vhmoney, cvar_xpkill, cvar_xphs;[/code]
3. Inregistrarea cvar-urilor in init | Afiseaza codul
[code]cvar_vmoney = register_cvar("fme_vip_money","500")
cvar_vhmoney = register_cvar("fme_hs_vip","800")
cvar_xpkill = register_cvar("fme_vip_xp","15")
cvar_xphs = register_cvar("fme_vip_hs","20")[/code]
4. DeathMsg | Afiseaza codul
[code]public eDeath(){
	
	new iKiller = read_data (1)
	new iVictim = read_data(2)
	new iHead = read_data(3)
	
	if(iKiller == iVictim) return 1;
	
	new iMoney = cs_get_user_money(iKiller)
	new iHMoney = cs_get_user_money(iHead)
	new iXPHead = get_user_xp(iHead)
	new iXPKill = get_user_xp(iKiller)
	
	if( iHead)
	{
		if(get_user_flags(iHead) & ACCESS )
		{
			cs_set_user_money(iHead, iHMoney + get_pcvar_num(cvar_vhmoney ))
			set_user_xp(iHead, iXPHead + get_pcvar_num(cvar_xphs ));
			ColorChat(iHead, "^x04 %s^x01 Ai primit ^x04%d^x03 MONEY^x01& ^x04%d^x03 XP^x01 pentru ca ai facut ^x03frag prin HS^x01 !", szTag, get_pcvar_num(cvar_vhmoney), get_pcvar_num(cvar_xphs) )
			return 1;
		}
	}
	
	else
	{
		if(get_user_flags(iKiller) & ACCESS )
		{
			cs_set_user_money(iKiller, iMoney + get_pcvar_num(cvar_vmoney));
			set_user_xp(iKiller, iXPKill + get_pcvar_num(cvar_xpkill ));
			ColorChat(iKiller, "%s Ai primit ^x04%d^x03 MONEY ^x01& ^x04%d^x03 XP^x01 pentru ca ai facut ^x031 frag^x01 !", szTag, get_pcvar_num(cvar_vmoney), get_pcvar_num(cvar_xpkill) )
			return 1;
		}
	}
	return 0;
}[/code]
Am bagat si nativele la xp.

Astept reply-u tau Nubo, dar si celorlalti !
User avatar
EnTeR_
Membru, skill +2
Membru, skill +2
Posts: 577
Joined: 13 Sep 2014, 16:36
Detinator Steam: Da
Fond eXtream: 0
Has thanked: 3 times
Been thanked: 29 times

14 Sep 2015, 21:15

Metoda corecta:
| Afiseaza codul
/* Plugin generated by AMXX-Studio */

#include <    amxmodx    >
#include <    amxmisc     >
#include <     cstrike      >
#include < CC_ColorChat >

#define ACCESS ADMIN_LEVEL_H 

#define Tag "[XP BONUS]"

native get_user_xp ( id );
native set_user_xp ( id, xp );

new cvar_vmoney, cvar_vhmoney, cvar_xpkill, cvar_xphs;

public plugin_init (  ) 
{
	register_event ( "DeathMsg", "evDeathMsg", "a" );
	
	cvar_vmoney = register_cvar ( "fme_vip_money", "500" );
	cvar_vhmoney = register_cvar ( "fme_hs_vip", "800" );
	cvar_xpkill = register_cvar ( "fme_vip_xp", "15" );
	cvar_xphs = register_cvar ( "fme_vip_hs", "20" );
}

public evDeathMsg ( )
{
	new Killer = read_data ( 1 );
	new Victim = read_data ( 2 );
	new HS = read_data ( 3 );
	
	if ( Killer == Victim || !is_user_connected ( Victim ) 
	|| !is_user_alive ( Killer ) || !( get_user_flags ( Killer ) & ACCESS ) ) 
	return;
	
	new CurrentMoney = cs_get_user_money ( Killer );
	new CurrentXP = get_user_xp ( Killer );
	
	if ( HS )
	{
		cs_set_user_money ( Killer, CurrentMoney + get_pcvar_num ( cvar_vhmoney ) );
		set_user_xp ( Killer, CurrentXP + get_pcvar_num ( cvar_xphs ) );
		
		ColorChat ( Killer, GREEN, "^x04 %s^x01 Ai primit^x04 %d^x03 MONEY^x01 &^x04 %d^x03 XP^x01 pentru ca ai facut^x03 frag prin HS^x01 !", Tag, get_pcvar_num ( cvar_vhmoney ), get_pcvar_num ( cvar_xphs ) );
	}
	else
	{
		cs_set_user_money ( Killer, CurrentMoney + get_pcvar_num ( cvar_vmoney ) );
		set_user_xp ( Killer, CurrentXP + get_pcvar_num ( cvar_xpkill ) );
		
		ColorChat ( Killer, GREEN, "^x04 %s^x01 Ai primit^x04 %d^x03 MONEY^x01 &^x04 %d^x03 XP^x01 pentru ca ai facut^x03 1 frag^x01 !", Tag, get_pcvar_num ( cvar_vmoney ), get_pcvar_num ( cvar_xpkill ) );
	}
}
Discord: eyekon13
Nimicitu`
Membru, skill +1
Membru, skill +1
Posts: 162
Joined: 01 Sep 2015, 13:42
Detinator Steam: Nu
CS Status: Citesc forumul eXtreamCS.com...!
Fond eXtream: 0
Contact:

14 Sep 2015, 22:47

EDIT:

Eu am la levelmod-u meu, codu acesta :
| Afiseaza codul
public eDeath(){
   
   new iKiller = read_data (1)
   new iVictim = read_data(2)
   new iHead = read_data(3)
   
   if(iKiller == iVictim) return 1;
   
   new iXP = get_user_xp(iKiller)
   new iMoney = cs_get_user_money(iKiller)
   
   // --- [ Head Bonus ] --- //
   if( iHead)
   {
      // --- [ Head Bonus VIP ] --- //
      if(get_user_flags(iHead) & ACCESS )
      {
         
         set_user_xp(iHead, iXP + get_pcvar_num( cvar_vhxp) );
         cs_set_user_money(iHead, iMoney + get_pcvar_num(cvar_vhmoney ))
         ColorChat(iHead, "%s Ai primit !g%d!t XP!n &!g %d!t Money!n pentru ca ai facut !tfrag prin HS!n!", szvTag, get_pcvar_num(cvar_vhxp), get_pcvar_num(cvar_vhmoney) )           
      }
      // --- [ END Head Bonus VIP ] --- //
      
      // --- [ Head Bonus Player ] --- //
      else
      {
         set_user_xp(iHead, iXP + get_pcvar_num( cvar_hxp) );
         ColorChat(iHead, "%s Ai primit !g%d!t XP!n pentru ca ai facut !tfrag prin HS!n!", Prefix, get_pcvar_num(cvar_hxp))
      }
      // --- [ END Head Bonus Player ] --- //
   }
   // --- [ End Head Bonus ] --- //
   
   // --- [ Normal Bonus ] ---//
   else
   {
      // --- [  Bonus VIP ] --- //
      if(get_user_flags(iKiller) & ACCESS )
      {
         set_user_xp(iKiller, iXP + get_pcvar_num( cvar_vxp) );
         cs_set_user_money(iKiller, iMoney + get_pcvar_num(cvar_vmoney ))
         ColorChat(iKiller, "%s Ai primit !g%d!t XP!n &!g %d!t Money!n pentru !tfragul facut!n!", szvTag, get_pcvar_num(cvar_vxp), get_pcvar_num(cvar_vmoney) )    
      }
      // --- [ END Bonus VIP ] --- //
      
      // --- [  Bonus Player ] --- //
      else
      {
         
         set_user_xp(iKiller, iXP + get_pcvar_num(cvar_xp) );
         ColorChat(iKiller,"%s Ai primit !g%d!t XP!n pentru !tfragul facut!n!", Prefix, get_pcvar_num(cvar_xp) )
      }
      // --- [ END Bonus Player ] --- //
   }
   // --- [ End Normal Bonus ] ---//
   return 0;
}
Dar cand mor sau fac kill, tot primesc XP si tot imi apare mesajul.
Nimicitu`
Membru, skill +1
Membru, skill +1
Posts: 162
Joined: 01 Sep 2015, 13:42
Detinator Steam: Nu
CS Status: Citesc forumul eXtreamCS.com...!
Fond eXtream: 0
Contact:

16 Sep 2015, 14:15

UPP, va rog mult.
User avatar
EnTeR_
Membru, skill +2
Membru, skill +2
Posts: 577
Joined: 13 Sep 2014, 16:36
Detinator Steam: Da
Fond eXtream: 0
Has thanked: 3 times
Been thanked: 29 times

16 Sep 2015, 18:08

In cazul tau "iHead" semnifica daca a fost sau nu hs, beneficiile tot pe jucator trebuie sa se execute, mai exact pe "iKiller" din codul tau.

Ex:

Code: Select all

set_user_xp(iHead, iXP + get_pcvar_num( cvar_vhxp) );
-->

Code: Select all

set_user_xp(iKiller, iXP + get_pcvar_num( cvar_vhxp) );
Discord: eyekon13
Nimicitu`
Membru, skill +1
Membru, skill +1
Posts: 162
Joined: 01 Sep 2015, 13:42
Detinator Steam: Nu
CS Status: Citesc forumul eXtreamCS.com...!
Fond eXtream: 0
Contact:

16 Sep 2015, 21:10

Da, dar nu mai merge faza cu vip-u.

Fa-mi tu un cod, cu xp/money vip kill/hs si xp player kill/hs te rog.

flag T, nativele le ai in sursa de mai sus.
cvar-urile le fac eu cu bonusu dat.

Mersi
User avatar
EnTeR_
Membru, skill +2
Membru, skill +2
Posts: 577
Joined: 13 Sep 2014, 16:36
Detinator Steam: Da
Fond eXtream: 0
Has thanked: 3 times
Been thanked: 29 times

17 Sep 2015, 18:25

| Afiseaza codul
/* Plugin generated by AMXX-Studio */

#include <    amxmodx    >
#include <    cstrike    >

#define ACCESS ADMIN_LEVEL_H 

#define Tag "[XP BONUS]"

native get_user_xp ( id );
native set_user_xp ( id, xp );

public plugin_init (  ) 
{
	register_event ( "DeathMsg", "evDeathMsg", "a" );
}

public evDeathMsg ( )
{
	new Killer = read_data ( 1 );
	new Victim = read_data ( 2 );
	new HS = read_data ( 3 );
	
	if ( Killer == Victim || !is_user_connected ( Victim ) 
	|| !is_user_alive ( Killer ) ) 
	return;
	
	new CurrentMoney = cs_get_user_money ( Killer );
	new CurrentXP = get_user_xp ( Killer );
	
	if ( get_user_flags ( Killer ) & ACCESS )
	{
		if ( HS )
		{
			cs_set_user_money ( Killer, CurrentMoney + 350 );
			
			set_user_xp ( Killer, CurrentXP + 20 );
			
			client_print ( Killer, print_chat, "%s Ai primit +350 money & +20 xp pentru ca ai facut frag prin HS !", Tag );
		}
		else
		{
			cs_set_user_money ( Killer, CurrentMoney + 300 );
			
			set_user_xp ( Killer, CurrentXP + 15 );
			
			client_print ( Killer, print_chat, "%s Ai primit +300 Money & +15 Xp pentru ca ai facut frag !", Tag );
		}
	}
	else
	{
		if ( HS )
		{
			set_user_xp ( Killer, CurrentXP + 10 );
			
			client_print ( Killer, print_chat, "%s Ai primit +10 xp pentru ca ai facut frag prin HS !", Tag );
		}
		else
		{
			set_user_xp ( Killer, CurrentXP + 5 );
			
			client_print ( Killer, print_chat, "%s Ai primit +5 Xp pentru ca ai facut frag !", Tag );
		}
	}
}
Discord: eyekon13
Nimicitu`
Membru, skill +1
Membru, skill +1
Posts: 162
Joined: 01 Sep 2015, 13:42
Detinator Steam: Nu
CS Status: Citesc forumul eXtreamCS.com...!
Fond eXtream: 0
Contact:

17 Sep 2015, 22:41

Merge, mersi.
Post Reply

Return to “Scripting”

  • Information
  • Who is online

    Users browsing this forum: No registered users and 3 guests