Sign in to follow this  
Followers 0
Xey Apple)))

Помогите с плагином zp bay HP

9 posts in this topic

Всем привет,помогите пожалуйста сделать лимит на использование покупки HP (на раунд) всем игрокам ,а то плагин очень нужен но с ним зомби могут быть бессмертными(

Share this post


Link to post
Share on other sites
#include <amxmodx>
#include <fun>
#include <zombieplague>


new const item_name[] = "Buy 5000 HP!"
const g_item_cost 25


new g_itemid_buyhp
new hpamount
new g_maxplayersg_msgSayText

public plugin_init()
{
    
register_plugin("[ZP] Buy Health Points""1.0""STRELOK")

    
g_itemid_buyhp zp_register_extra_item(item_nameg_item_costZP_TEAM_ZOMBIE)

    
hpamount register_cvar("zp_buyhp_amount""5000")

    
g_msgSayText get_user_msgid("SayText")
    
g_maxplayers get_maxplayers()
}

public 
zp_extra_item_selected(iditemid)
{
    if (
itemid != g_itemid_buyhp)
        return;
    
    
set_user_health(id,get_user_health(id)+get_pcvar_num(hpamount))
    
zp_colored_print(id"^x04[ZP]^x01 You Bought 5000 HP!")
}


// Colored chat print
zp_colored_print(target, const message[], any:...)
{
    static 
buffer[512], iargscount
    argscount 
numargs()
    
    
// Send to everyone
    
if (!target)
    {
        static 
player
        
for (player 1player <= g_maxplayersplayer++)
        {
            
// Not connected
            
if (!is_user_connected(player))
                continue;
            
            
// Remember changed arguments
            
static changed[5], changedcount // [5] = max LANG_PLAYER occurencies
            
changedcount 0
            
            
// Replace LANG_PLAYER with player id
            
for (2argscounti++)
            {
                if (
getarg(i) == LANG_PLAYER)
                {
                    
setarg(i0player)
                    
changed[changedcount] = i
                    changedcount
++
                }
            }
            
            
// Format message for player
            
vformat(buffercharsmax(buffer), message3)
            
            
// Send it
            
message_begin(MSG_ONE_UNRELIABLEg_msgSayText_player)
            
write_byte(player)
            
write_string(buffer)
            
message_end()
            
            
// Replace back player id's with LANG_PLAYER
            
for (0changedcounti++)
                
setarg(changed[i], 0LANG_PLAYER)
        }
    }
    
// Send to specific target
    
else
    {
        
// Format message for player
        
vformat(buffercharsmax(buffer), message3)
        
        
// Send it
        
message_begin(MSG_ONEg_msgSayText_target)
        
write_byte(target)
        
write_string(buffer)
        
message_end()
    }

 

Share this post


Link to post
Share on other sites
#include <amxmodx>
#include <fun>
#include <zombieplague>

new const item_name[] = "Buy 5000 HP!"
const g_item_cost = 25

#define MAX_IN_ROUND 5
new g_itemid_buyhp
new hpamount
new g_maxplayers, g_msgSayText

public plugin_init()
				{
				    register_plugin("[ZP] Buy Health Points", "1.0", "STRELOK")
					register_event("ResetHUD","Start_round","be")
				    g_itemid_buyhp = zp_register_extra_item(item_name, g_item_cost, ZP_TEAM_ZOMBIE)
				    hpamount = register_cvar("zp_buyhp_amount", "5000")

				    g_msgSayText = get_user_msgid("SayText")
				    g_maxplayers = get_maxplayers()

				}

				public zp_extra_item_selected(id, itemid)

				{

				    if (itemid != g_itemid_buyhp > MAX_IN_ROUND)

				        return;

				    

				    set_user_health(id,get_user_health(id)+get_pcvar_num(hpamount))

				    zp_colored_print(id, "^x04[ZP]^x01 You Bought 5000 HP!")

				}

// Colored chat print
zp_colored_print(target, const message[], any:...)

				{

				    static buffer[512], i, argscount

				    argscount = numargs()

				    

				    // Send to everyone

				    if (!target)

				    {

				        static player

				        for (player = 1; player <= g_maxplayers; player++)

				        {

				            // Not connected

				            if (!is_user_connected(player))

				                continue;

				            

				            // Remember changed arguments

				            static changed[5], changedcount // [5] = max LANG_PLAYER occurencies

				            changedcount = 0

				            

				            // Replace LANG_PLAYER with player id

				            for (i = 2; i < argscount; i++)

				            {

				                if (getarg(i) == LANG_PLAYER)

				                {

				                    setarg(i, 0, player)

				                    changed[changedcount] = i

				                    changedcount++

				                }

				            }

				            

				            // Format message for player

				            vformat(buffer, charsmax(buffer), message, 3)

				            

				            // Send it

				            message_begin(MSG_ONE_UNRELIABLE, g_msgSayText, _, player)

				            write_byte(player)

				            write_string(buffer)

				            message_end()

				            

				            // Replace back player id's with LANG_PLAYER

				            for (i = 0; i < changedcount; i++)

				                setarg(changed[i], 0, LANG_PLAYER)

				        }

				    }

				    // Send to specific target

				    else

				    {

				        // Format message for player

				        vformat(buffer, charsmax(buffer), message, 3)

				        

				        // Send it

				        message_begin(MSG_ONE, g_msgSayText, _, target)

				        write_byte(target)

				        write_string(buffer)

				        message_end()

				    }

				} 

Попробуй это

Share this post


Link to post
Share on other sites

компилируется впринципи ,но из магазина вообще пункт пропал покупки HP

Безымянный.jpg

Share this post


Link to post
Share on other sites

нашел вот это незнаю как реализовать

1.Делаем массив.
new limit - если нужно сделать общий лимит.
new limit[33] - если нужно сделать лимит для каждого игрока.

2.Использование.
Добавляем limit++ или limit[id]++ в конце функции покупки или использования чего либо.

3.Ограничение.
Добавляем в начале функции.
if(limit >= 5) - limit или limit[id], число 5 - это лимит использования
return 

4.Обнуление.
1)Добавляем в plugin_init()
register_event("HLTV", "round_start", "a", "1=0", "2=0")

2)Добавляем функцию в конце плагина
public round_start()
{
for (new i = 1; i <= get_maxplayers(); i++) - для каждого игрока
{
limit = 0
}

limit = 0 - для всех
}

P.S.Написал на сколько это возможно подробно.Если вы не поняли это ,то amxx это не ваше.

Share this post


Link to post
Share on other sites

точнее я пробовал реализовать но файл не компилируется даже (ошибки)

Share this post


Link to post
Share on other sites
В 10.07.2017 в 11:33, Xey Apple))) сказал:

P.S.Написал на сколько это возможно подробно.Если вы не поняли это ,то amxx это не ваше.

Написано же, amxx это не твоё)

тут всё элементарно расписано, тыкай и методом проб и ошибок добьёшься результата

Share this post


Link to post
Share on other sites

Да скриптинг это не мое .

Нашел парня, который не дорого,мне написал новый рабочий плагин )всем бб

Share this post


Link to post
Share on other sites

Пишите мне если нужен будет такой плагин id xey_apple 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0