Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

[ROZWIĄZANE] Losowa czapka


Najlepsza odpowiedź Black004, 29.11.2021 10:38

Dodaj to do twojego pluginu:

#include <hamsandwich>
new gHat[33];

do plugin_init() to:

RegisterHam(Ham_Spawn, "player", "Odrodzenie", 1);

To gdzieś dodaj na dole w pluginie:

public client_authorized(id)
{
     gHat[id] = random(ArraySize(gModel));
}
public Odrodzenie(id)
{
	if(!is_user_alive(id) || !is_user_connected(id) || gHat[id] == -1)
	return;

	UstawCzapke(id, gHat[id])
        gHat[id] = -1;
}

Sprawdź czy działa.

Przejdź do postu


  • Zamknięty Temat jest zamknięty
3 odpowiedzi w tym temacie

#1 mrxneoo

    Nowy

  • Nowy

Reputacja: 0
Nowy

  • Postów:4
Offline

Napisano 27.11.2021 19:01

Cześć, mam pytanie i wsumie prosbe, zrobilby ktos tak zeby po wejsciu na serwer czapka byla automatycznie losowo ustawiona?

#include <amxmodx>
#include <amxmisc>
#include <fakemeta>

#define PLUGIN "Czapki"
#define VERSION "1.0"
#define AUTHOR "Cypis"

new gEnt[33];
new Array:gModel;
new Array:gNazwa;
new Array:gBody;

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

	register_clcmd("say /hat", "MenuHat");
	register_clcmd("say /hats", "MenuHat");
	register_clcmd("say /czapki", "MenuHat");
}

public plugin_precache()
{
	gModel = ArrayCreate(128);
	gNazwa = ArrayCreate(64);
	gBody = ArrayCreate();
	
	ArrayPushString(gModel, "Zadna");
	ArrayPushString(gNazwa, "\yZdejmij czapke");
	ArrayPushCell(gBody, 0);
	
	new configfile[128];
	get_configsdir(configfile, 127);
	add(configfile, 127, "/hats.ini");

	if(!file_exists(configfile))
		return;
		
	new linia[256], txtlen, ilosc;
	for(new i=0; i<file_size(configfile, 1); i++)
	{
		read_file(configfile, i, linia, 255, txtlen);
		if(contain(linia, ";") != -1 || !txtlen)
			continue;
		
		new model[128], nazwa[64], body[6];
		parse(linia, model, 127, nazwa, 63, body, 5);
		remove_quotes(model);
		remove_quotes(nazwa);
		remove_quotes(body);
		format(model, 127, "models/czapki/%s", model);

		ArrayPushString(gModel, model);
		ArrayPushString(gNazwa, nazwa);
		ArrayPushCell(gBody, str_to_num(body));
		
		new gmodel[64];
		if(ilosc)
		{
			for(new j=1; j<ArraySize(gBody)-1; j++)
			{
				ArrayGetString(gModel, j, gmodel, 63);
				if(equal(model, gmodel))
				{
					gmodel[0] = 1;
					break;
				}
				else
					gmodel[0] = 0;
			}
		}
		if(!gmodel[0])
		{
			precache_model(model);
			log_amx("Precache %s", model);
		}
		else
			log_amx("Precache %s %s %s", model, nazwa, body);
		
		ilosc++;
	}
}

public MenuHat(id)
{
	new nazwa[64], int[4], menu = menu_create("Czapki:", "Handel_Czapki");

	for(new i=0; i<ArraySize(gBody); i++)
	{
		num_to_str(i, int, 3);
		ArrayGetString(gNazwa, i, nazwa, 63);
		menu_additem(menu, nazwa, int);
	}
	
	menu_setprop(menu, MPROP_EXITNAME, "Wyjdz");
	menu_display(id, menu);
	return PLUGIN_HANDLED;
}

public Handel_Czapki(id, menu, item)
{
	if(item == MENU_EXIT)
		return;
		
	new acces, callback, num[4], nazwa[64];
	menu_item_getinfo(menu, item, acces, num, 3, nazwa, 63, callback);
		
	UstawCzapke(id, str_to_num(num));
	item? client_print(id, 3, "Zalozyles czapke %s", nazwa): client_print(id, 3, "Zdjales swoja czapke");
}

stock UstawCzapke(id, anum)
{
	if(gEnt[id])
		set_pev(gEnt[id], pev_effects, anum? pev(gEnt[id], pev_effects) & ~EF_NODRAW: pev(gEnt[id], pev_effects) | EF_NODRAW);

	if(!anum)
		return;
		
	new model[128];
	ArrayGetString(gModel, anum, model, 127);

	if(!gEnt[id]) 
	{
		gEnt[id] = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target"))
		set_pev(gEnt[id], pev_movetype, MOVETYPE_FOLLOW);
		set_pev(gEnt[id], pev_aiment, id);
		set_pev(gEnt[id], pev_rendermode, kRenderNormal);
	}

	engfunc(EngFunc_SetModel, gEnt[id], model);	
	set_pev(gEnt[id], pev_body, ArrayGetCell(gBody, anum));
}


  • +
  • -
  • 0

#2 Black004

    Wszechpomocny

  • Użytkownik

Reputacja: 14
Początkujący

  • Postów:371
  • GG:
  • Imię:Błażej
  • Lokalizacja:Polska
Offline

Napisano 29.11.2021 10:38   Najlepsza odpowiedź

Dodaj to do twojego pluginu:

#include <hamsandwich>
new gHat[33];

do plugin_init() to:

RegisterHam(Ham_Spawn, "player", "Odrodzenie", 1);

To gdzieś dodaj na dole w pluginie:

public client_authorized(id)
{
     gHat[id] = random(ArraySize(gModel));
}
public Odrodzenie(id)
{
	if(!is_user_alive(id) || !is_user_connected(id) || gHat[id] == -1)
	return;

	UstawCzapke(id, gHat[id])
        gHat[id] = -1;
}

Sprawdź czy działa.


Użytkownik Black004 edytował ten post 29.11.2021 10:39

  • +
  • -
  • 1

#3 mrxneoo

    Nowy

  • Autor tematu
  • Nowy

Reputacja: 0
Nowy

  • Postów:4
Offline

Napisano 29.11.2021 15:13

Działa, dzięki ;)


  • +
  • -
  • 0

#4 dasiek

    Nie wiem, nie znam się, nie orientuję się, zarobiony jestem.

  • Junior Admin

Reputacja: 2 077
Godlike

  • Postów:5 706
  • Imię:Adaś
  • Lokalizacja:No teraz trochę dalej od WWy
Offline

Napisano 30.11.2021 08:31

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Pomoc udzielona

Jeśli się z tym nie zgadzasz, report.png raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.


Z pozdrowieniami,
Zespół AMXX.PL
  • +
  • -
  • 0




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych