weapon_smokegrenade за zp_get_user_zombie(id)

Ако имате затруднения при изработката/преработката на даден плъгин - пишете тук, ще се опитаме да ви помогнем!
Аватар
Dennis
Извън линия
AMXX Скриптър
AMXX Скриптър
Мнения: 177
Регистриран на: 25 Дек 2018, 04:14
Се отблагодари: 4 пъти
Получена благодарност: 10 пъти

weapon_smokegrenade за zp_get_user_zombie(id)

Мнение от Dennis » 14 Яну 2019, 22:41

Незнаех как по-подробно да го напиша в заглавието.

Имам 2 гранати (Extra items) за зомбита които са регисрирани под

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

weapon_flashbang
тъй като ако са под

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

weapon_smokegrenade
, бомбата няма функция и хвърля модела във World.

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

weapon_hegrenade
се използва за Infection бомбата.

Еми гранатата

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

public zp_extra_item_selected ( Player, Item )
{
    // This is our grenade
    if ( Item == g_emp )
    {
        // Player already have it
        if ( g_NadeCount [ Player ] >= MAXCARRY )
        {
           ChatColor(Player, "!y[!gFTER!y] You can't use this right now.")
        }
	if( user_has_weapon( Player, CSW_FLASHBANG ) && g_NadeCount [ Player ])
		{
		set_dhudmessage(255, 0, 0, -1.0, 0.35, 0, 0.0, 0.4, 0.1, 0.2)
		show_dhudmessage(Player, "Throw grenade first.")
		zp_set_user_ammo_packs(Player, zp_get_user_ammo_packs(Player) + GRENADE_COST)
		return PLUGIN_HANDLED
		}
        else // 0 grenades
        {
			g_NadeCount [ Player ] = true
			g_NadeCount[Player]++
			give_item ( Player, "weapon_flashbang" )
			client_cmd ( Player, "spk %s", purchase_sound )    
        }
    }
	
    return PLUGIN_CONTINUE
}
Блинд(като флаш бомба) граната

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

public zp_extra_item_selected ( Player, Item )
{
    // This is our grenade
    if ( Item == g_blind )
    {
        // Player already have it
        if ( g_NadeCount [ Player ] >= MAXCARRY )
        {
           ChatColor(Player, "!y[!gFTER!y] You can't use this right now.")
        }
	if( user_has_weapon( Player, CSW_FLASHBANG ) && g_NadeCount [ Player ])
		{
		set_dhudmessage(255, 0, 0, -1.0, 0.35, 0, 0.0, 0.4, 0.1, 0.2)
		show_dhudmessage(Player, "Throw grenade first.")
		zp_set_user_ammo_packs(Player, zp_get_user_ammo_packs(Player) + GRENADE_COST)
		return PLUGIN_HANDLED
		}
        else // 0 grenades
        {
			g_NadeCount [ Player ] = true
			g_NadeCount[Player]++
			give_item ( Player, "weapon_flashbang" )
			client_cmd ( Player, "spk %s", purchase_sound )    
        }
    }
	
    return PLUGIN_CONTINUE
}
Зомби като купи БЛИНД и след което закупи ЕМИ, ЕМИ-то тогава има функцията на БЛИНД, още веднъж като закупи ЕМИ и тогава вече ползва функцията на ЕМИ.

В обратният случай(първо ЕМИ, след което БЛИНД) БЛИНД не взима функцията на еми ами всичко е както трябва.

Как бих могъл да отстраня тази грешка?
Последно промяна от Dennis на 15 Яну 2019, 11:55, променено общо 2 пъти.

Аватар
mi0
Извън линия
AMXX Скриптър
AMXX Скриптър
Мнения: 534
Регистриран на: 09 Дек 2016, 22:02
Се отблагодари: 97 пъти
Получена благодарност: 120 пъти
Обратна връзка:

weapon_smokegrenade за !zp_get_user_zombie(id)

Мнение от mi0 » 14 Яну 2019, 22:58

В този код само се дават гранатите(smoke, flash). И няма никакви проблеми, до колкото виждам.
aka kurdokoleno
Catch Mod - 87.121.112.232:27021

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

weapon_smokegrenade за !zp_get_user_zombie(id)

Мнение от hackera457 » 14 Яну 2019, 23:10

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

Научете се да предоставяте пълния код на плъгина, че с половин код няма как да ви се помогне
Моите плъгини

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

#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"){
}  


Аватар
Dennis
Извън линия
AMXX Скриптър
AMXX Скриптър
Мнения: 177
Регистриран на: 25 Дек 2018, 04:14
Се отблагодари: 4 пъти
Получена благодарност: 10 пъти

weapon_smokegrenade за !zp_get_user_zombie(id)

Мнение от Dennis » 14 Яну 2019, 23:14

Private плъгини са, нямам намерения всяко второ дете да има достъп до тях, нито имам правото от автора FOX да ги разпространявам, как ще е на друго място като става въпрос точно за даването ? Не мога да задам едната от тях под weapon_smokegrenade , което води до дилема.

Аватар
southpawn96
Извън линия
Потребител
Потребител
Мнения: 19
Регистриран на: 12 Дек 2018, 14:57
Местоположение: Софийско градско
Се отблагодари: 8 пъти
Получена благодарност: 3 пъти

weapon_smokegrenade за !zp_get_user_zombie(id)

Мнение от southpawn96 » 14 Яну 2019, 23:18

LayerFort написа: 14 Яну 2019, 23:14 Private плъгини са, нямам намерения всяко второ дете да има достъп до тях, нито имам правото от автора FOX да ги разпространявам, как ще е на друго място като става въпрос точно за даването ? Не мога да задам едната от тях под weapon_smokegrenade , което води до дилема.
Хем те боли, хем те сърби. Във форума все още нямаме ясновидци, за да знаем какво искаш.

Аватар
Dennis
Извън линия
AMXX Скриптър
AMXX Скриптър
Мнения: 177
Регистриран на: 25 Дек 2018, 04:14
Се отблагодари: 4 пъти
Получена благодарност: 10 пъти

weapon_smokegrenade за !zp_get_user_zombie(id)

Мнение от Dennis » 14 Яну 2019, 23:26

southpawn96 написа: 14 Яну 2019, 23:18
LayerFort написа: 14 Яну 2019, 23:14 Private плъгини са, нямам намерения всяко второ дете да има достъп до тях, нито имам правото от автора FOX да ги разпространявам, как ще е на друго място като става въпрос точно за даването ? Не мога да задам едната от тях под weapon_smokegrenade , което води до дилема.
Хем те боли, хем те сърби. Във форума все още нямаме ясновидци, за да знаем какво искаш.
Топлата вода откри.. И двете са под

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

give_item ( Player, "weapon_flashbang" )
, при повторна закупка всичко е наред.

Това което ме интересува е да прави проверка дали действително е този итема - и то как, защото му дава weapon_flashbang .
Или има начин да ползвам weapon_smokegrenade za zp_get_user_zombie()

Аватар
JackEyedJones
Извън линия
Потребител
Потребител
Мнения: 399
Регистриран на: 10 Сеп 2018, 17:26
Местоположение: Plovdiv, Bulgaria, Europe, Entire World
Се отблагодари: 4 пъти
Получена благодарност: 69 пъти
Обратна връзка:

weapon_smokegrenade за !zp_get_user_zombie(id)

Мнение от JackEyedJones » 15 Яну 2019, 11:15

Искаш да даваш Smoke Grenade и на хората ? Не само на зомбитата ? Това ли е, че прочетох темата и писаното е като превеждано на момента от гугъл translate и не схванах нищо. Оповавам догатката си на заглавието. ! условието проверява дали е човек, а не зомби.

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

give_item( Player, zp_get_user_zombie(Player) ? "weapon_flashbang" : "weapon_smokegrenade")
Добавено преди 50 минути 30 секунди:

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

public zp_extra_item_selected ( Player, Item )
{
    	// This is our grenade
    	if ( Item == g_blind )
    	{
        	// Player already have it
        	if ( ++g_NadeCount [ Player ] >= MAXCARRY )
		{
           		ChatColor(Player, "!y[!gFTER!y] You can't use this right now.")

			return PLUGIN_HANDLED
        	}

		if( user_has_weapon( Player, CSW_FLASHBANG ) 
		|| user_has_weapon( Player, CSW_SMOKEGRENADE ) && g_NadeCount [ Player ])
		{
			set_dhudmessage(255, 0, 0, -1.0, 0.35, 0, 0.0, 0.4, 0.1, 0.2)
			show_dhudmessage(Player, "Throw grenade first.")
			zp_set_user_ammo_packs(Player, zp_get_user_ammo_packs(Player) + GRENADE_COST)

			return PLUGIN_HANDLED
		}

		give_item( Player, zp_get_user_zombie(Player) ? "weapon_flashbang" : "weapon_smokegrenade")
		client_cmd( Player, "spk %s", purchase_sound )
		g_NadeCount [ Player ] = 0;
    	}
	
    	return PLUGIN_CONTINUE
}

public zp_extra_item_selected ( Player, Item )
{
    	// This is our grenade
    	if ( Item == g_emp )
    	{
        	// Player already have it
        	if ( ++g_NadeCount [ Player ] >= MAXCARRY )
        	{
           		ChatColor(Player, "!y[!gFTER!y] You can't use this right now.");

			return PLUGIN_HANDLED;
        	}

		if( user_has_weapon( Player, CSW_FLASHBANG )
		|| user_has_weapon( Player, CSW_SMOKEGRENADE ) && g_NadeCount [ Player ])
		{
			set_dhudmessage(255, 0, 0, -1.0, 0.35, 0, 0.0, 0.4, 0.1, 0.2)
			show_dhudmessage(Player, "Throw grenade first.")
			zp_set_user_ammo_packs(Player, zp_get_user_ammo_packs(Player) + GRENADE_COST)

			return PLUGIN_HANDLED;
		}

		give_item( Player, zp_get_user_zombie(Player) ? "weapon_flashbang" : "weapon_smokegrenade")
		client_cmd ( Player, "spk %s", purchase_sound )
		g_NadeCount [ Player ] = 0;   
    	}
	
    	return PLUGIN_CONTINUE
}
Добавено преди 1 минута 17 секунди:
Кода е писан с краката, ако се заиграя и си инсталирам мода за ZP мога да го пресъздам, но тъй като казваш че е Private няма да нарушавам авторски права. Ако кодовете горе дават странични ефекти пиши, че нямам къде да ги тествам.

Аватар
Dennis
Извън линия
AMXX Скриптър
AMXX Скриптър
Мнения: 177
Регистриран на: 25 Дек 2018, 04:14
Се отблагодари: 4 пъти
Получена благодарност: 10 пъти

weapon_smokegrenade за !zp_get_user_zombie(id)

Мнение от Dennis » 15 Яну 2019, 11:43

Кода е писан с краката
:lol:

This occures when a Zombie buys Blind and throws then buys EMi and throws the EMi would get the function of the Blind bomb, but after a second buy(EMi) or round_restart everything is fine. I think this presists because i'm using weapon_flashbang, as there is no other grenade(weapon_smokegrenade - not usable for zombies(throws model in the world without function), weapon_hegrenade - used by Infection bomb)

I figured a way around it, but still...

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

public zp_extra_item_selected ( Player, Item )
{
    // This is our grenade
    if ( Item == g_emp )
    {
        // Player already have it
		if(g_NadeCount [ Player ] >= 2 && zp_get_extra_item_id("Blind Bomb \w\d3sec") >= 1 && zp_get_extra_item_id("EMi \w\rNano \dcut-off") >= 1)
		if (user_has_weapon(Player, CSW_FLASHBANG ))
		{
		set_dhudmessage(255, 0, 0, -1.0, 0.35, 0, 0.0, 0.4, 0.1, 0.2)
		show_dhudmessage(Player, "Throw grenade first.")
		zp_set_user_ammo_packs(Player, zp_get_user_ammo_packs(Player) + GRENADE_COST)		
		return PLUGIN_HANDLED
		}
		if(!user_has_weapon( Player, CSW_FLASHBANG )) 
        {
			g_NadeCount [ Player ] = true
			g_NadeCount[Player]++
			give_item ( Player, "weapon_flashbang" )
			client_cmd ( Player, "spk %s", purchase_sound )    
        }
    }
	
    return PLUGIN_CONTINUE
}

Аватар
Dennis
Извън линия
AMXX Скриптър
AMXX Скриптър
Мнения: 177
Регистриран на: 25 Дек 2018, 04:14
Се отблагодари: 4 пъти
Получена благодарност: 10 пъти

weapon_smokegrenade за zp_get_user_zombie(id)

Мнение от Dennis » 16 Яну 2019, 09:49

Оправих се с

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

get_user_weapon(id) == CSW_FLASHBANG && g_NadeCount[id]
Можете да заключвате.

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

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

Кой е на линия

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