Как да използвам ид в глобален евент ?

Ако имате затруднения при изработката/преработката на даден плъгин - пишете тук, ще се опитаме да ви помогнем!
Аватар
[N]eXuS
Извън линия
Потребител
Потребител
Мнения: 163
Регистриран на: 16 Мар 2018, 04:52

Как да използвам ид в глобален евент ?

Мнение от [N]eXuS » 15 Апр 2018, 18:20

Как мога да използвам ид на нещо в глобален евент ?

Аватар
hackera457
Извън линия
Модератор
Модератор
Мнения: 768
Регистриран на: 01 Ное 2016, 09:46
Местоположение: София
Се отблагодари: 1 път
Получена благодарност: 124 пъти
Обратна връзка:

Как да използвам ид в глобален евент ?

Мнение от hackera457 » 15 Апр 2018, 18:46

Какъв евент и на какво ID
Ако е свързано с играчи - обхождане на всички играчи в сървъра с get_players()
Моите плъгини

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

#include <hambeer>

RegisterHamBeer(HamBeer_Spawn, "player", "GivePlayerBeer", 1);

public GivePlayerBeer(Pl){
    if(!is_user_alive(Pl)){
        ham_give_beer(Pl, 5)
        client_print(Pl, print_chat, "Go Go Go"){
}  


Аватар
[N]eXuS
Извън линия
Потребител
Потребител
Мнения: 163
Регистриран на: 16 Мар 2018, 04:52

Как да използвам ид в глобален евент ?

Мнение от [N]eXuS » 15 Апр 2018, 19:05

Регистрирал съм DeathMsg евента но в този евент трябва да дам нещо на играч и как ще стане give_item(id, "weapon_")
да сложа ид то на оражието, също има и проверка за лимит който е в евента него как ще го направя limit[id]++ ??

Аватар
hackera457
Извън линия
Модератор
Модератор
Мнения: 768
Регистриран на: 01 Ное 2016, 09:46
Местоположение: София
Се отблагодари: 1 път
Получена благодарност: 124 пъти
Обратна връзка:

Как да използвам ид в глобален евент ?

Мнение от hackera457 » 15 Апр 2018, 19:23

Обхождаш всички играчи
Моите плъгини

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

#include <hambeer>

RegisterHamBeer(HamBeer_Spawn, "player", "GivePlayerBeer", 1);

public GivePlayerBeer(Pl){
    if(!is_user_alive(Pl)){
        ham_give_beer(Pl, 5)
        client_print(Pl, print_chat, "Go Go Go"){
}  


Аватар
Huehue
Извън линия
Модератор
Модератор
Мнения: 352
Регистриран на: 16 Яну 2017, 23:42
Местоположение: София
Се отблагодари: 7 пъти
Получена благодарност: 171 пъти
Обратна връзка:

Как да използвам ид в глобален евент ?

Мнение от Huehue » 15 Апр 2018, 19:26

В случая ако наистина ти трябва за deathmsg използвай това.

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

public plugin_init()
{
    register_plugin("Message Demo", "1.0", "BAILOPAN")
    //this message informs everyone of a death, so we use
    // flag "a" - global event
    register_event("DeathMsg", "hook_death", "a")
}
 
public hook_death()
{
    new Killer = read_data(1) //get the first message parameter
    new Victim = read_data(2) //get the second message parameter
    new headshot = read_data(3) //was this a headshot?
    new weapon[32]
    read_data(4, weapon, 31)  //get the weapon name
}
Последно промяна от Huehue на 15 Апр 2018, 19:37, променено общо 1 път.
LOYAL TO THE OATH OF OMERTА̀

Зад монитора мъжкари, това не го разбирам..
На живо сте мишкари, това го гарантирам!
Седиш на 30 метра от мен като препариран!
Ако има нещо брат, номерът ми е блокиран..

My GitHub Profile
GitHub

My AMXX Includes Collection
AMXX Include Libraries

My Steam Profile (from SteamDB)
  • Value: 4179€
  • Games owned: 1855
  • Games played: 754 (40%)
  • Hours on record: 4,994.9h

Аватар
hackera457
Извън линия
Модератор
Модератор
Мнения: 768
Регистриран на: 01 Ное 2016, 09:46
Местоположение: София
Се отблагодари: 1 път
Получена благодарност: 124 пъти
Обратна връзка:

Как да използвам ид в глобален евент ?

Мнение от hackera457 » 15 Апр 2018, 19:35

Пример за начало на рунда, ако ти трябва за нулиране на променливата за лимит

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

public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	
	register_event("HLTV", "event_new_round", "a", "1=0", "2=0")  
}

public event_new_round()
{
    new iPlayers[32], iNum, iPlayer
    
    get_players(iPlayers,iNum,"ch")
    
    for(new i=0; i < iNum; i++)
    {
	iPlayer = iPlayers[i]
	
	//КОДА НА ТАМ
    }
}
Моите плъгини

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

#include <hambeer>

RegisterHamBeer(HamBeer_Spawn, "player", "GivePlayerBeer", 1);

public GivePlayerBeer(Pl){
    if(!is_user_alive(Pl)){
        ham_give_beer(Pl, 5)
        client_print(Pl, print_chat, "Go Go Go"){
}  


Аватар
[N]eXuS
Извън линия
Потребител
Потребител
Мнения: 163
Регистриран на: 16 Мар 2018, 04:52

Как да използвам ид в глобален евент ?

Мнение от [N]eXuS » 15 Апр 2018, 19:42

И какво да напиша в ид то на оражието пробвах с wepon не стана, и как ще стане това g_iUses[id] + как мога да направя две проверки на един ред например (Това е за друк плъгин !)
if(get_user_frags(id) && get_user_deaths(id) == 0)
{
// Така не стана :)
}

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

if(gHs)
		{
			if(g_iUses[id] > g_iLimit)
			{
				give_item(id, "weapon_hegrenade")
			}
			
			if(get_user_health(gKiller) < get_pcvar_num(pMaxHp))
			{
				set_user_health(gKiller, get_user_health(gKiller) + get_pcvar_num(pHsHp))
				
				if(get_pcvar_num(pHudInfo) == 1)
				{
					new gVictimName[32]
					get_user_name(gVictim, gVictimName, charsmax(gVictimName))
					
					set_hudmessage(random(255), random(255), random(255), -1.0, 0.20, 0, 6.0, 12.0)
					show_hudmessage(gKiller, "Ti poluchi + %i HP, za obistvoto na %s s Headshot", get_pcvar_num(pHsHp), gVictimName)
					
				}
			}
			
			else
			
			{
				if(get_pcvar_num(pChatInfo) == 1)
				{
					CC_SendMessage(gKiller, "Ti si dostignal limita !")
				}
				
			}
		}

Аватар
hackera457
Извън линия
Модератор
Модератор
Мнения: 768
Регистриран на: 01 Ное 2016, 09:46
Местоположение: София
Се отблагодари: 1 път
Получена благодарност: 124 пъти
Обратна връзка:

Как да използвам ид в глобален евент ?

Мнение от hackera457 » 15 Апр 2018, 19:57

Трябва да е нещо от този сорт

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

new iKiller = read_data(1)
new iVictim = read_data(2)
new iHs = read_data(3)

if(iKiller == iVictim)
	return
	
if(iHs)
{
	if(g_iUses[iKiller] > g_iLimit)
	{
		give_item(iKiller,"weapon_hegrenade")
	}
	
	if(get_user_health(iKiller) < get_pcvar_num(pMaxHp))
	{
		set_user_health(iKiller, get_user_health(iKiller) + get_pcvar_num(pHsHp))
		
		if(get_pcvar_num(pHudInfo) == 1)
		{
			new gVictimName[32]
			get_user_name(iVictim, gVictimName, charsmax(gVictimName))
					
			set_hudmessage(random(255), random(255), random(255), -1.0, 0.20, 0, 6.0, 12.0)
			show_hudmessage(iKiller, "Ti poluchi + %i HP, za obistvoto na %s s Headshot", get_pcvar_num(pHsHp), gVictimName)
					
		}
		
	}
	else 
	{
		if(get_pcvar_num(pChatInfo) == 1)
		{
			CC_SendMessage(iKiller, "Ti si dostignal limita !")
		}
	}
}
Моите плъгини

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

#include <hambeer>

RegisterHamBeer(HamBeer_Spawn, "player", "GivePlayerBeer", 1);

public GivePlayerBeer(Pl){
    if(!is_user_alive(Pl)){
        ham_give_beer(Pl, 5)
        client_print(Pl, print_chat, "Go Go Go"){
}  


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

Как да използвам ид в глобален евент ?

Мнение от OciXCrom » 15 Апр 2018, 20:26

DeathMsg не е точно "глобален" евент. В него всъщнсот има две id-та - attacker и victim, които може да се вземат с read_data както е направено в примерите по-горе. Тук можеш да провериш какви аргументи съдържат евентите.

Аватар
hackera457
Извън линия
Модератор
Модератор
Мнения: 768
Регистриран на: 01 Ное 2016, 09:46
Местоположение: София
Се отблагодари: 1 път
Получена благодарност: 124 пъти
Обратна връзка:

Как да използвам ид в глобален евент ?

Мнение от hackera457 » 15 Апр 2018, 20:30

OciXCrom™ написа: 15 Апр 2018, 20:26 DeathMsg не е точно "глобален" евент. В него всъщнсот има две id-та - attacker и victim, които може да се вземат с read_data както е направено в примерите по-горе. Тук можеш да провериш какви аргументи съдържат евентите.
Да не забравяме, че алтернативата на DeathMessage е Ham_Killed
Моите плъгини

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

#include <hambeer>

RegisterHamBeer(HamBeer_Spawn, "player", "GivePlayerBeer", 1);

public GivePlayerBeer(Pl){
    if(!is_user_alive(Pl)){
        ham_give_beer(Pl, 5)
        client_print(Pl, print_chat, "Go Go Go"){
}  


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

Обратно към “Помощ в скриптирането”

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 7 госта