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
 

Drago36 - zdjęcie

Drago36

Rejestracja: 07.12.2013
Aktualnie: Poza forum
Poza forum Ostatnio: Prywatna
*****

#657233 Brak ap za bazooke - przerobienie

Napisane przez Drago36 w 15.08.2014 20:59

W stocku jp_radius_damage(entity) zedytuj tą linijkę:

jp_take_damage(i,floatround(damage),Origin,DMG_BLAST)

na:

jp_take_damage(id,i,floatround(damage),Origin,DMG_BLAST)

A teraz podmień, zamiast:

stock jp_take_damage(victim,damage,origin[3],bit) {
	message_begin(MSG_ONE,get_user_msgid("Damage"),{0,0,0},victim)
	write_byte(21)
	write_byte(20)
	write_long(bit)
	write_coord(origin[0])
	write_coord(origin[1])
	write_coord(origin[2])
	message_end()
	
	set_user_health(victim,get_user_health(victim)-damage)
}

Daj:

stock jp_take_damage(attacker,victim,damage,origin[3],bit) {
	message_begin(MSG_ONE,get_user_msgid("Damage"),{0,0,0},victim)
	write_byte(21)
	write_byte(20)
	write_long(bit)
	write_coord(origin[0])
	write_coord(origin[1])
	write_coord(origin[2])
	message_end()
	
	ExecuteHam(Ham_TakeDamage, victim, attacker, attacker, damage, 1)
}

  • +
  • -
  • 1


#657208 Szukam pluginów long jump i multi jump

Napisane przez Drago36 w 15.08.2014 19:42

LosT . extra item kupuje się za AP - ammopack, dopisał że do sklepu, bo jak inaczej miał to określić? ;)

xXxBoy4GirlxXx podesłał mu prawidłowe.

 


  • +
  • -
  • 1


#655019 zp_respawn jak ustawić aby na normalnym trybie odradzało zombie

Napisane przez Drago36 w 05.08.2014 21:24

 case 2: zp_respawn_user(id, zp_is_nemesis_round() ? ZP_TEAM_HUMAN : ZP_TEAM_ZOMBIE);

Gracz, który się przed chwilą połączył z serwerem w trybie nemezis przerzuci go do human, więc to nie przez ten plugin.

 

 

bo np. na nemesis modzie odrodza mi się zombie.

Pewnie masz ustawiony cvar: zp_nem_allow_respawn na "1" (zombieplague.cfg) zmień na 0

 

 

 

Ale ja chcę żeby aby na normalnym trybie odradzał

Ustaw cvar zp_infection_allow_respawn na 1


  • +
  • -
  • 1


#654308 [Poradnik] Jak naprawić menu z generatora Vip'a?

Napisane przez Drago36 w 02.08.2014 15:56


• co z tego że menu zadziała jak w połowie przypadków broń zostanie błędnie dodana (głównie chodzi o to że bez ammo) chodzi o to iż funkcja find_ent_by_owner zazwyczaj nie działa gdy dopiero co stworzyliśmy byt chodzi mi o to:
Spoiler
w ogóle to funkcja find_ent_by_owner jest niepotrzebna gdyż funkcja give_item zwraca id stworzonego bytu...

Nie do tematu.. opisałem jak naprawić menu, nie jak "lepiej" dodać broń - nie ja pisałem vip'a generatora.

 

 


• jaki nie mądry człek (bardzo bardzo ... bardzo ładnie mówiąc) nauczył cię by poprzez 3 argument funkcji menu_additem przekazywać nr. przycisku?? To jest mega, mega błąd. Mogłeś również zrobić globalną tablicę gdyż to wygląda identycznie... Po to w uchwycie menu (public menu_handler(id, menu, item)) ma się zmienną item by można było szybko się dowiedzieć który był przycisk naciśnięty a ty to robisz tak: wpakowujesz do każdego przycisku jego liczbę, następnie w uchwycie pobierasz z wciśniętego przycisku tą liczbę... Po co? Przecież wiesz który przycisk został naciśnięty

No tu masz rację. Zara poprawie.

 


• nawet nie opisałeś sposobu by jedne zestawy były dla CT a inne dla TT (a to jest w generatorze vip'a), tak samo brak licznika rund (a on jest wbudowany w generatorze wystarczy warunek zrobić), wszystko jest za free w menu super!! Gracze się ucieszą (ale tylko vip'y) tzn. nie będzie zabierać kasy jak w generatorze ustawisz by zabierało

Wcześniej te warunki się generowały w menu_%i_handler, dlatego nie opisywałem tego. No cóż teraz nie. Oczywiście dodam.

 


Twój cały tut można zamienić na coś takiego:

1. Zamienić to:

public menu_callback(id, menu, item){
return ITEM_DISABLED;
}

Na to:

public menu_callback(id, menu, item) return ITEM_ENABLED

2. Zamienić to:

public menu_handler(id, menu, item){
menu_destroy(menu);
return PLUGIN_HANDLED;
}

Na to:

public menu_handler(id, menu, item)
{
if(item != MENU_EXIT)
{
new func[20]
formatex(func,charsmax(func),"menu_%i_handler",item+1)
callfunc_begin_i(get_func_id(func))
callfunc_push_int(id)
callfunc_end()
}
menu_destroy(menu)
}

I osoba czytająca nie musi już robić niczego inteligentnego, wystarczy że będzie kopiowac i wklejać a uzyska taki sam efekt jak u ciebie tylko że tu sie nie namęczy, a co ważniejsze nie pomyli... (można by było też callbacki wyrzucić bo nic nie robią ale to pikuś)

No i Benio miał rację. Nie sprawdzasz co dodajesz i wskazujesz ludziom błędy. Tak niech kopiują twoją opcję i narzekają , że nadal nie działa :X

 


Rozumiem że CheQ to wymusił (hahahaha) ale bez przesady, jeśli miał by ktoś napisać tuta jak naprawić wszystkie błędy w generatorze to napisał by conajmniej książkę (jak nie całą sagę). Mogły by osoby mające dostęp do kodu generatora to sprawnie naprawić lub chociaż umieścić to na git'cie amxx'a / w dziale dla supporta, zajeli byśmy się nim i to odpowiednio

Chodziło tylko o menu , a ty robisz z igły widły aby robić niby tutki na naprawę całego generatora eh


  • +
  • -
  • 1


#654272 [Poradnik] Jak naprawić menu z generatora Vip'a?

Napisane przez Drago36 w 02.08.2014 12:26

WITAM


Ostatnio  wzrastającą  liczbą tematów są problemy nie działającego menu  vip'a!

Jak temu zaradzić? Tu z pomocą wchodzi CheQ ( bo mnie zmusił <_<  )

 

Krok po kroku aż do celu


Co robimy pierwsze? No pewnie , że otwieramy naszego vip'a.sma w programie typu : amxx-studio

1. Najpierw zacznijmy od usunięcia niepotrzebnych rzeczy w kodzie.

Zmienna menu_callback_handler nie posłuży nam niczym - wyrzucamy.

Spoiler

Także usuwamy dwa poniższe funkcje.

public menu_callback(id, menu, item){
	return ITEM_DISABLED;
}
public menu_handler(id, menu, item){
	menu_destroy(menu);
	return PLUGIN_HANDLED;
}

Szukamy w naszym kodzie, zaznaczamy i usuwamy.

 

2. A teraz musimy się skupić (if you know what i mean).

Cały public show_vip_menu(id) podmieniamy na ten poniższy.

Czyli z tego:

public show_vip_menu(id){
	menu=menu_create("\rMenu VIPa","menu_handler");
	menu_callback_handler=menu_makecallback("menu_callback");
	new bool:active=false, num=-1;
	menu_additem(menu,"\w","",0,menu_callback_handler);
	if(menu_callback(id, menu, ++num)==ITEM_ENABLED){
		active=true;
	}
	if(active){
		menu_setprop(menu,MPROP_EXITNAME,"Wyjscie");
		menu_setprop(menu,MPROP_TITLE,"\yMenu Vipa");
		menu_setprop(menu,MPROP_NUMBER_COLOR,"\r");
		menu_display(id, menu);
	} else {
		menu_destroy(menu);
	}
}

Zmieniamy na:

public show_vip_menu(id) {
	menu = menu_create("\rMenu Vip'a:", "menu_handler");
	menu_additem(menu, "\wDodatki nr 1", "1", 0);
	menu_additem(menu, "\wDodatki nr 2", "2", 0);
	menu_additem(menu, "\wDodatki nr 3", "3", 0);
	menu_additem(menu, "\wDodatki nr 4", "4", 0);
	menu_additem(menu, "\wDodatki nr 5", "5", 0);
	menu_additem(menu, "\wDodatki nr 6", "6", 0);
	menu_additem(menu, "\wDodatki nr 7", "7", 0);

	menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);

	menu_display(id, menu, 0);
}

W miejsca "Dodatki nr (...)" zmieniamy na dokładny opis co ustawiliśmy w menu, a nie potrzebne usuwamy. Jeśli w pierwszej opcji menu ustawiliśmy graczowi dostawanie ak47 to musimy to wpisać, a gdy nie pamiętamy co ustawiliśmy to szukamy w naszym kodzie:

public menu_numer_handler(id) - w miejsce "numer" będzie od 1 do 7.

,a w tej funkcji będą linijki typu "weapon_deagle"/"weapon_ak47" - na chłopski rozum się domyślamy, że slot nr. 1 da nam dgl i ak.

 

 

Ja na przykład wygenerowałem sobie takiego vipa, że w menu może wybrać jedną z trzech opcji:  AK+DGL, M4+DGL lub M3+DGL.

A więc wychodzi na to, że u mnie public show_vip_menu(id) będzie wyglądał tak:

Spoiler

 

 

3. Połowa rzeczy już za nami.

Teraz należy dodać tę funkcję, gdzieś na samym dole kodu.

public menu_handler(id, menu, item)
{
	if (item == MENU_EXIT)
	{
		menu_destroy(menu);
		return PLUGIN_HANDLED;
	}
	new data[8], iName[64];
	new zaccess, callback;
	menu_item_getinfo(menu, item, zaccess, data,7, iName, 64, callback);
	new key = str_to_num(data)

	switch(key)
	{
		case 1: menu_1_handler(id)
		case 2: menu_2_handler(id)
		case 3: menu_3_handler(id)
		case 4: menu_4_handler(id)
		case 5: menu_5_handler(id)
		case 6: menu_6_handler(id)
		case 7: menu_7_handler(id)
	}
	menu_destroy(menu);
	return PLUGIN_HANDLED;
}

I oczywiście nie potrzebne usuwamy :)

W moim menu są tylko trzy opcje, więc je zostawiłem.

Spoiler

 

4. Teraz należy skompilować i podmienić naszego vip'a na serwer.


  • +
  • -
  • 12


#653808 [ROZWIĄZANE] P_ i w_ modele granatów

Napisane przez Drago36 w 31.07.2014 08:55

Do tego potrzeba oddzielny plugin.


  • +
  • -
  • 1


#653684 [ROZWIĄZANE] Szukam pluginu dzięki któremu po najechaniu myszka na humana lub...

Napisane przez Drago36 w 30.07.2014 13:18

http://amxx.pl/topic...info-aiming-02/


  • +
  • -
  • 1


#652867 Plugin speedspeed buguje freeztime na JB by Cypis 1.0.7o

Napisane przez Drago36 w 25.07.2014 17:46

Przetestuj

Spoiler

  • +
  • -
  • 1


#652544 [ROZWIĄZANE] Kosa po zakończeniu rundy

Napisane przez Drago36 w 23.07.2014 22:24

#include <amxmodx>
#include <fun>
 
public plugin_init() {
	register_plugin("Pozbac sie broni - koniec rundy", "1.0", "amxx")
	register_logevent("Koniec_Rundy", 2, "1=Round_End")
}
 
public Koniec_Rundy() {
	for(new i = 1; i <= 32; i++) {
		if(!is_user_alive(i))
			continue
		
		strip_user_weapons(i)
		give_item(i, "weapon_knife")
	}
}

Plugin kompletnie usuwa bronie graczom (nie wyrzuca na ziemie, tylko usuwa) oraz dodaje im nożyk.


  • +
  • -
  • 1


#652218 [ROZWIĄZANE] szukam pluginu na automatyczno zmiane nicku gracza z "x"...

Napisane przez Drago36 w 22.07.2014 20:30

Sprawdź, robiony na szybko:

#include <amxmodx>

public plugin_init()
	register_plugin("Usuniecie nicku Player", "1.0", "Dr@goN")

public client_putinserver(id)
	set_task(7.0, "ZmienNick", id+2134)
	
public ZmienNick(id) {
	id-=2134
	new nazwa[32]
	get_user_name(id,nazwa,32)
	if(!strcmp(nazwa, "Player", 1)) {
		client_cmd(id, "name ^"proszę zmienic nick^"")
	}	
}

  • +
  • -
  • 1


#652073 Groza ( broń )

Napisane przez Drago36 w 22.07.2014 11:09

Item jest na ZM 4.3, nie 5.0 ;)


  • +
  • -
  • 1


#651745 Latarka tylko dla CT

Napisane przez Drago36 w 21.07.2014 12:17

Trzymaj

/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <fakemeta_util>

new g_flashlight_colors[][3] = 
{ 
        {250,0,0}, {0,250,0}, {0,0,250}, {150,0,150},
        {250,150,0}, {0,200,200}, {250,250,0}, {250,250,250}
};

new g_flashlight_name[][] =
{
        "Czerwony", "Zielony", "Niebieski", "Rozowy",
        "Zolty", "Aqua", "Zolty", "Bialy"
}

new g_playerflashcolor[33], g_playerenableflash[33];

public plugin_init() {
        register_plugin("Latrka hns", "0.4", "byqq");
        
        register_forward(FM_PlayerPreThink, "fw_playerprethink", 0);
        register_forward(FM_CmdStart, "fw_start");
}

public client_connect(id)
{
        g_playerenableflash[id] = false;
}

public fw_playerprethink(id)
{
        if(g_playerenableflash[id] && is_user_alive(id))
                Make_FlashLight(id, g_playerflashcolor[id]);
        
                
        return FMRES_IGNORED;
}

public fw_start(id, uc_handle, seed)
{       
        if(get_uc(uc_handle, UC_Impulse) == 100)
        {
                if(is_user_alive(id) && get_user_team(id) == 1) {
                        set_uc(uc_handle, UC_Impulse, 0)
                        return FMRES_HANDLED;
                }
                else
                if(is_user_alive(id))
                {
                        new name[32];
                        get_user_name(id, name, 31);
                        
                        g_playerflashcolor[id] = random_num(0, sizeof(g_flashlight_colors)-1);
                        
                        g_playerenableflash[id] = !g_playerenableflash[id];
                        
                        if(g_playerenableflash[id])
                        {
			     set_hudmessage(255, 0, 0, 0.57, 0.37, 0, 6.0, 12.0)
			     show_hudmessage(0, "Latarka %s: %s", name, g_flashlight_name[g_playerflashcolor[id]]);
                        }
			     
                }
                set_uc(uc_handle, UC_Impulse, 0);
                return FMRES_HANDLED;
        }
        return FMRES_IGNORED;
}

Make_FlashLight(id, color)
{
        new players[32], num;
        get_players(players, num);
                
        for(new i = 0; i < num; i++) 
        {
                new index = players[i];
        
                static Float:origin[3];
                fm_get_aim_origin(id, origin);
        
                message_begin(MSG_ONE_UNRELIABLE, SVC_TEMPENTITY, _, index);
                write_byte(TE_DLIGHT);
                engfunc(EngFunc_WriteCoord, origin[0]);
                engfunc(EngFunc_WriteCoord, origin[1]);
                engfunc(EngFunc_WriteCoord, origin[2]);
                write_byte(15);
                write_byte(g_flashlight_colors[color][0]);
                write_byte(g_flashlight_colors[color][1]);
                write_byte(g_flashlight_colors[color][2]);
        
                write_byte(1);
                write_byte(10);
                message_end();
        }       
}

  • +
  • -
  • 1


#650772 DMG z rakiety

Napisane przez Drago36 w 17.07.2014 18:19

Dodatkowy moduł nie jest potrzebny. Wystarczy dodać warunek, czy ofiara znajduje się w drużynie TT, a gdy będzie w innej to dalsza czynność (czyli zadanie obrażeń) się nie wykona.

 

Wszystko trzeba ustawić w stocku jp_radius_damage(entity), gdyż dopiero tam jest wyciągane id ofiary.

 


  • +
  • -
  • 1


#650474 [ROZWIĄZANE] Po wpisaniu komendy, pokazuje w say ile osób musi ją jeszcze wpi...

Napisane przez Drago36 w 16.07.2014 16:50

Po sprawdzeniu warunku:

if( ++gVotes >= ILE )
public test( id ) {
	if( pVote[ id ] )
		return PLUGIN_CONTINUE;
	
	if( ++gVotes >= ILE ) {
		gVotes = 0
		pVote[ id ] = false
		// tu wlep twój kod
		
	} else {
		set_hudmessage( 255, 0, 0, -1.0, 0.30, 0, 6.0, 7.0 );
		show_hudmessage( id, "Aby uaktywnić test, jeszcze (%d) graczy musi wpisać /test w say", ILE - gVotes );
	}
	
	pVote[ id ] = true;
	
	
	return PLUGIN_CONTINUE;
}

  • +
  • -
  • 1


#650463 Jak dobrze ustawić noktowizor dla zombie ?

Napisane przez Drago36 w 16.07.2014 15:28

Ciężko stwierdzić o jaką "zaje**stość" chodzi, ale ciekawy efekt dla zombi to jasno niebieski.

http://www.rapidtabl...r/RGB_Color.htm
Dobierz jaki ci pasuje.
  • +
  • -
  • 1