Начинаещи въпроси свързани с направата на плъгини

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

Начинаещи въпроси свързани с направата на плъгини

Мнение от OciXCrom » 15 Ное 2019, 14:41

Когато ти изпише "debug not enabled", активирай "debug" режим на плъгина за да получиш цялата грешка и на кой ред се намира.

В този случай ясно е къде е тя, понеже само на едно място в кода ползваш TrieSetCell. Проблемът е, че ползваш въпросната функция преди TrieCreate, демек trie все още не е създаден, а ти се опитваш да вкараш нещо в него.

Тъй като plugin_precache се извиква преди plugin_init, трябва да преместиш TrieCreate в plugin_precache, понеже там вкарваш нещата в trie.

Аватар
gadinkata
Извън линия
Потребител
Потребител
Мнения: 259
Регистриран на: 21 Мар 2018, 12:33
Местоположение: Враца
Се отблагодари: 25 пъти
Получена благодарност: 7 пъти
Обратна връзка:

Начинаещи въпроси свързани с направата на плъгини

Мнение от gadinkata » 15 Ное 2019, 16:13

public plugin_precache()
{	
	g_tModels = TrieCreate()
	
	for(new i; i < sizeof(g_eModels); i++)
	{
		precache_player_model(g_eModels[CTModel])
		precache_player_model(g_eModels[TModel])
	}
}

така ли трябва да бъде,защото го компилирах сложих и сървъра не иска да тръгне

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

Начинаещи въпроси свързани с направата на плъгини

Мнение от OciXCrom » 15 Ное 2019, 20:21

То си е така и в оригиналния код който съм направил. Не знам какво и защо си променял. Щом не тръгва сървърът, значи ти липсват моделите които си задал.

Аватар
gadinkata
Извън линия
Потребител
Потребител
Мнения: 259
Регистриран на: 21 Мар 2018, 12:33
Местоположение: Враца
Се отблагодари: 25 пъти
Получена благодарност: 7 пъти
Обратна връзка:

Начинаещи въпроси свързани с направата на плъгини

Мнение от gadinkata » 13 Юни 2020, 01:17

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


public Player_Spawn(id)
{
	if(get_user_flags(id) & ADMIN_FLAG && is_user_alive(id))
	{
	  	give_item(id, "weapon_m4a1")
		cs_set_user_bpammo(id, CSW_M4A1, 90)
		
		give_item(id, "weapon_ak47")
		cs_set_user_bpammo(id, CSW_AK47, 90)
		
		give_item(id, "weapon_awp")
		cs_set_user_bpammo(id, CSW_AWP, 30)
		
		give_item(id, "weapon_deagle")
		cs_set_user_bpammo(id, CSW_DEAGLE, 35)
	}
}
как да направя тия оръжия да са с безкрайни патрони

Аватар
atmax
Извън линия
Потребител
Потребител
Мнения: 492
Регистриран на: 22 Мар 2018, 15:06
Се отблагодари: 37 пъти
Получена благодарност: 43 пъти

Начинаещи въпроси свързани с направата на плъгини

Мнение от atmax » 13 Юни 2020, 07:16

Ако искаш да е само за играчи с определен флаг виж как става:

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

#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>

#define PLUGIN "Unlimited Weapon Clip"
#define AUTHOR "ConnorMcLeod"
#define VERSION "0.0.1"

#define CANT_RELOAD_BITSUM	((1<<CSW_HEGRENADE)|(1<<CSW_SMOKEGRENADE)|(1<<CSW_FLASHBANG)|(1<<CSW_KNIFE)|(1<<CSW_C4))

new g_bAdmin[33]

public plugin_init()
{
	register_plugin(PLUGIN, VERSION, AUTHOR)

	register_event("CurWeapon", "Event_CurWeapon", "be", "1!0")
}

public client_putinserver(id)
{
	g_bAdmin[id] = bool:(get_user_flags(id) & ADMIN_LEVEL_G)
}

public Event_CurWeapon(id)
{
	if( !g_bAdmin[id] || CANT_RELOAD_BITSUM & (1<<read_data(2)) || read_data(3) > 1 )
	{
		return
	}

	set_pdata_int(get_pdata_cbase(id, 373), 51, 100, 4)
}
Rest in peace my friend I always will remember you! 🖤👊

Аватар
gadinkata
Извън линия
Потребител
Потребител
Мнения: 259
Регистриран на: 21 Мар 2018, 12:33
Местоположение: Враца
Се отблагодари: 25 пъти
Получена благодарност: 7 пъти
Обратна връзка:

Начинаещи въпроси свързани с направата на плъгини

Мнение от gadinkata » 15 Юни 2020, 22:31

atmax написа: 13 Юни 2020, 07:16 Ако искаш да е само за играчи с определен флаг виж как става:

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

#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>

#define PLUGIN "Unlimited Weapon Clip"
#define AUTHOR "ConnorMcLeod"
#define VERSION "0.0.1"

#define CANT_RELOAD_BITSUM	((1<<CSW_HEGRENADE)|(1<<CSW_SMOKEGRENADE)|(1<<CSW_FLASHBANG)|(1<<CSW_KNIFE)|(1<<CSW_C4))

new g_bAdmin[33]

public plugin_init()
{
	register_plugin(PLUGIN, VERSION, AUTHOR)

	register_event("CurWeapon", "Event_CurWeapon", "be", "1!0")
}

public client_putinserver(id)
{
	g_bAdmin[id] = bool:(get_user_flags(id) & ADMIN_LEVEL_G)
}

public Event_CurWeapon(id)
{
	if( !g_bAdmin[id] || CANT_RELOAD_BITSUM & (1<<read_data(2)) || read_data(3) > 1 )
	{
		return
	}

	set_pdata_int(get_pdata_cbase(id, 373), 51, 100, 4)
}
в този случай който си дал, всички ли оръжия ще са са със безкрайни патрони,защото гледам си добавил гранати флаш и смокин нож и бомба?

Аватар
atmax
Извън линия
Потребител
Потребител
Мнения: 492
Регистриран на: 22 Мар 2018, 15:06
Се отблагодари: 37 пъти
Получена благодарност: 43 пъти

Начинаещи въпроси свързани с направата на плъгини

Мнение от atmax » 16 Юни 2020, 09:10

Да всички ще са, освен тези гранати, ножката и c4, поради простата причина, че няма как да са с безкрайни патрони..
Rest in peace my friend I always will remember you! 🖤👊

Аватар
gadinkata
Извън линия
Потребител
Потребител
Мнения: 259
Регистриран на: 21 Мар 2018, 12:33
Местоположение: Враца
Се отблагодари: 25 пъти
Получена благодарност: 7 пъти
Обратна връзка:

Начинаещи въпроси свързани с направата на плъгини

Мнение от gadinkata » 16 Юни 2020, 22:14

Да разтегнем малко лакуми и да получа малко информация"урок" по multidimensional-arrays
Аз го разбрах в общи линий,как действа,но искам малко повече инфо:
В какви случай можеш да го ползваш?Нужно ли е винаги да го проверяваш през for/loop цикъл?

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

enum _:Test
{
Float:Hour,
Bool:Istina,
Bool:luja
szName[64]
szIp[32]
}
new const g_iTest[][Test] =
{
{10:00, true, false, "Gadinkata", "123.123.123.123"}
}
Отностно тоя пример,въпросите са ми:
в първата скоба,попринцип трябва да се напише 1ница,ако са два реда, 2ка,но в повечето плъгини които съм виждал,никога не съм виждал някаква стойност,другия ми въпрос е 10:00, true, false трябва ли да се сложат в кавички,и кой работи се слагат в кавички освен текст?
И подобен пример,само че с три скоби

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

new const g_iTest[1][2][4]=
{
	{
	{1,2,3,4}, {5,6,7,8}
	}
}
По какъв начин,можеш да вкараш enum _: в тези скоби,кога е нужно да ползваш 3-те скоби,може ли да се ползват два enum _: във втората и третата скоба

За момента е това,ако може с прости примери да добавите към вашите коментари

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

Начинаещи въпроси свързани с направата на плъгини

Мнение от mi0 » 17 Юни 2020, 00:46

10:00 не е правилно, в кавички се слага само и единствено стринг, което е текст. Възможно е да има във втората и в третата скоба.
aka kurdokoleno
Catch Mod - 87.121.112.232:27021

Аватар
gadinkata
Извън линия
Потребител
Потребител
Мнения: 259
Регистриран на: 21 Мар 2018, 12:33
Местоположение: Враца
Се отблагодари: 25 пъти
Получена благодарност: 7 пъти
Обратна връзка:

Начинаещи въпроси свързани с направата на плъгини

Мнение от gadinkata » 17 Юни 2020, 02:58

Това е пример на константа с две скоби която работи безупречно,но искам да го направя с 3 скоби

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

#include <amxmodx>
#include <hamsandwich>
#include <fun>
#include <cstrike>

#define PLUGIN "addvip"
#define VERSION "1.0"
#define AUTHOR "gadinkata"

#define ADMINVIP ADMIN_LEVEL_C

enum _:Weapons
{
	wName[32],
	wGuns,
	wBullet
}

new const g_iWeapons[][Weapons] =
{
	{"weapon_m4a1",  CSW_M4A1, 90},
	{"weapon_ak47",  CSW_AK47, 90}
}

public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	RegisterHam(Ham_Spawn, "player", "Player_Spawn", true)
	// Add your code here...
}

public Player_Spawn(id)
{
	if(get_user_flags(id) & ADMINVIP && is_user_alive(id))
	{
		for(new i; i < sizeof(g_iWeapons); i++)
		{
			give_item(id, g_iWeapons[i][wName])
			cs_set_user_bpammo(id, g_iWeapons[i][wGuns], g_iWeapons[i][wBullet])
		}
	}
}

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

cs_set_user_bpammo(id, CSW_AK47, 90)
Искам в тази функция параметрите CSW_AK47, 90 да ги добавя на веднъж ,не всяка по отделно както в по горния код,но незнам не успявам да го направя с 3те скоби,защото до колкото разбирам,с трите скоби,можеш да добавиш 2 параметри с една команда примерно g_iWeapon[Weapons[TwoParameturs]

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

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

Кой е на линия

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