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
 

alien123 - zdjęcie

alien123

Rejestracja: 09.02.2010
Aktualnie: Nieaktywny
Poza forum Ostatnio: 30.04.2012 20:08
-----

#94788 Regulamin Działu "Gotowe Paczki AMXX"

Napisane przez _Marcin w 22.11.2009 16:43

Regulamin

  • Wrzucamy tylko swoje modyfikacje gotowego (czystego) AmxModX.

  • Każda paczka musi posiadać dokładny opis znajdujących się w niej pluginów.

  • Musi być pokazana cała zawartość plugins.ini (w kodzie [code=auto:0])

  • Paczka musi zawierać wszystkie Cvary które wymagają pluginy.

  • Paczka nie może zawierać reklam stron www (Jedynie kto stworzył daną paczkę)

  • Można zamieszczać reklamy jedynie w pliku amxx.cfg

  • Należy podać wersje amxmodx oraz system Windows / Linux.

  • Proszę także wybrać prefix paczki.

  • Paczke dodajemy jako załącznik do postu lub jeśli przekracza rozmiar dozwolonej wielkości załącznika wrzucamy ją na jeden z hostingów wymienionych poniżej:

  • Nie przestrzeganie wymienionych powyżej zasad będzie karane ostrzeżeniem.


  • +
  • -
  • 20


#252017 Fireshield - zostaje żółty render

Napisane przez JLB. Leo w 22.05.2011 17:18

Często na serwerach jest znany nam dobrze bug z FireShieldem - wywalamy itemek, ale nadal świecimy na żółto

Jest to właściwie bug w bugu, bo tak naprawdę to osoba "podpalona" powinna świecić na żółto

Aby załatac tego buga nie zależnie od innych przypadków robimy tak:

w public respawn(svIndex[]) dodajemy
RemoveFlag(vIndex,Flag_Rot)


w public RoundStart() pod give_knife(i) dodajemy
RemoveFlag(i,Flag_Rot)


w public ResetHUD(id) pod earthstomp[id] = 0 dodajemy
RemoveFlag(id,Flag_Rot)


dla zabezpieczenia możemy jeszcze dodać w public reset_item_skills(id) o to:
RemoveFlag(id,Flag_Rot)


i już :)


#251752 Item Poison

Napisane przez JLB. Leo w 22.05.2011 07:29

Raczej

obrazenia = X + player_intelligence[attacker_id]/Y


X - stała wartość obrażeń
Y - co ile inta ma sie zwiększać o jeden


#232304 Zwiekszenie niewidzialnosci

Napisane przez FreZZy w 01.04.2011 23:13

else if(niewidka[id]==1)
{
if(player_b_inv[id] > 0) set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderTransAlpha, floatround((XX.0/255.0)*(255-player_b_inv[id])))
else set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderTransAlpha, XX)
}
else
{
render = 255
if(player_b_inv[id]>0) render = player_b_inv[id]

set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderTransAlpha, render)
}


XX - ile ma być niewidzialność


#250556 Longjump do tyłu

Napisane przez FreZZy w 18.05.2011 14:55

eee... sma?


#250645 Nie skompilune sma

Napisane przez FreZZy w 18.05.2011 18:10

na pokazywanie się menu klas nie ma żadnego wpływu baza!!


#251523 1/3 szansy zamrożenia wroga z kosy

Napisane przez JLB. Leo w 21.05.2011 14:29

jak chcesz całkowite spowolnienie (będzie się poruszał 99 razy wolniej)

new speeds
if(DemageTake[id]==1)
{
agi=(BASE_SPEED / 2)
if(HasFlag(id,Flag_Freeze))
{
agi=(BASE_SPEED/99)
set_task(4.0,"unfreeze",id)
}


żeby nie strzelał możesz sobie przerobić ten plugin Fire Rate Control - AMXX.pl: Support AMX Mod X i ustawić szybkość strzału na "0"

----------------------

Moc do klasy:

na górze sma
new c_zamrozenie[33]



w public Roundstart:
if(player_class[i]==Twoja_Klasa)
c_zamrozenie[i]=0


w menu wyboru klasy, na górze:
c_zamrozenie[id]=0


w menu wyboru klasy, pod Twoja_Klasa
c_zamrozenie[id]=1


i podmieniasz linijke w kodzie Frezzy'ego na:

if(attacker_id!=0 && attacker_id != id && zamrozenie[attacker_id] > 0 && c_zamrozenie[id] > 0 && get_user_team(id) != get_user_team(attacker_id) && bron==CSW_KNIFE && losowanie==1)



#251215 Szybkość strzelania z broni

Napisane przez GerO w 20.05.2011 16:55

Witam. Dzisiaj pokażę wam jak dodać do klasy zmienną szybkość strzelania z broni oprócz:
AWP FAMAS SCOUT SG552 G3SG1 GLOCK.

Dodajemy nową zmienną:
Szukamy:

new bool:g_wasducking[MAX+1]

Pod tym dodajemy:
new Weapons[33][2]

Szukamy
pubic CurWeapon

Pod new clip,ammo Dodajemy

new Gun = read_data(2)
new Ammo = read_data(3)

Pod: if (is_user_connected(id)) (w public CurWeapon) Dodajemy:
		{        
if(Gun==CSW_AWP || Gun==CSW_FAMAS || Gun==CSW_SCOUT || Gun==CSW_SG552 || Gun==CSW_G3SG1 || Gun==CSW_GLOCK18)
return PLUGIN_CONTINUE

if(Weapons[id][0] == Gun && Weapons[id][1] <= Ammo)
{
Weapons[id][1] = Ammo
return PLUGIN_CONTINUE
}
Weapons[id][0] = Gun
Weapons[id][1] = Ammo

new Float:N_Speed
N_Speed = 2.0;

if(player_class[id]==Nazwa_Klasy)
{
new weapon[32]
get_weaponname(Gun,weapon,31)
new Ent = fm_find_ent_by_owner2(-1,weapon,id)
if(Ent)
{
new Float:Delay = get_pdata_float( Ent, 46, 4) * N_Speed
if (Delay > 0.0)
set_pdata_float( Ent, 46, Delay, 4)

}
}
return PLUGIN_CONTINUE
}


Pod public CurWeapon dodajemy:
stock fm_find_ent_by_owner2(index, const classname[], owner, jghgtype = 0)
{
new strtype[11] = "classname", ent = index
switch (jghgtype)
{
case 1: strtype = "target"
case 2: strtype = "targetname"
}

while ((ent = engfunc(EngFunc_FindEntityByString, ent, strtype, classname)) && pev(ent, pev_owner) != owner) {}

return ent
}


Jeśli ktoś chce zamiast klasy item to:

Zamieniamy:
		{        
if(Gun==CSW_AWP || Gun==CSW_FAMAS || Gun==CSW_SCOUT || Gun==CSW_SG552 || Gun==CSW_G3SG1 || Gun==CSW_GLOCK18)
return PLUGIN_CONTINUE

if(Weapons[id][0] == Gun && Weapons[id][1] <= Ammo)
{
Weapons[id][1] = Ammo
return PLUGIN_CONTINUE
}
Weapons[id][0] = Gun
Weapons[id][1] = Ammo

new Float:N_Speed
N_Speed = 2.0;

if(player_class[id]==Nazwa_Klasy)
{
new weapon[32]
get_weaponname(Gun,weapon,31)
new Ent = fm_find_ent_by_owner2(-1,weapon,id)
if(Ent)
{
new Float:Delay = get_pdata_float( Ent, 46, 4) * N_Speed
if (Delay > 0.0)
set_pdata_float( Ent, 46, Delay, 4)

}
}
return PLUGIN_CONTINUE
}

Na:
		{        
if(Gun==CSW_AWP || Gun==CSW_FAMAS || Gun==CSW_SCOUT || Gun==CSW_SG552 || Gun==CSW_G3SG1 || Gun==CSW_GLOCK18)
return PLUGIN_CONTINUE

if(Weapons[id][0] == Gun && Weapons[id][1] <= Ammo)
{
Weapons[id][1] = Ammo
return PLUGIN_CONTINUE
}
Weapons[id][0] = Gun
Weapons[id][1] = Ammo

new Float:N_Speed
N_Speed = 2.0;

if(player_item_id[id]==Numer_Itemu)
{
new weapon[32]
get_weaponname(Gun,weapon,31)
new Ent = fm_find_ent_by_owner2(-1,weapon,id)
if(Ent)
{
new Float:Delay = get_pdata_float( Ent, 46, 4) * N_Speed
if (Delay > 0.0)
set_pdata_float( Ent, 46, Delay, 4)

}
}
return PLUGIN_CONTINUE
}



#251290 1/3 szansy zamrożenia wroga z kosy

Napisane przez JLB. Leo w 20.05.2011 19:25

ta moc spowalnia dokładnie 2 razy :)

podmień w public set_speedchange kawałek kodu na:


new speeds
if(DemageTake[id]==1)
{
agi=(BASE_SPEED / 2)
if(HasFlag(id,Flag_Freeze))
set_task(4.0,"unfreeze",id)
}


i dodaj na sam koniec sma

public unfreeze(id)
{
DemageTake[id]=0
set_speedchange(id)
}


To spowoduje, że po 4.0 sekundach ci się odmrozi gość


#250783 Dodawanie questów

Napisane przez DarkGL w 18.05.2011 22:10

Jako że Onyke wydał swojego diablo mod'a w którym jest system questów wykonany prze zemnie na jego zlecenie chyba nie obrazi się jak dam tutorial jak dodać go do swojego diablo moda
zresztą i tak questy były dostępne na necie : P nawet stały się dość popularne ^^

1.Powyżej plugin_init dodajemy
//questy
//Autor DarkGL : )
new quest_gracza[33];
new ile_juz[33];

//przedzial , ile ,kogo , nagroda expa, vip 1 tak 0 nie
new questy[][]={
	{1,2,Ninja,500,0},
	{1,3,Mag,1200,1},
	{1,6,Zabojca,2000,0},
	{2,6,Hunter,5000,0},
	{2,15,Barbarzynca,15000,1},
	{2,20,Paladyn,20000,1},
	{3,65,Barbarzynca,150000,1},
	{3,120,Paladyn,200000,1}
}

new vault_questy;
new vault_questy2;

//od , do , hp
new prze[][]={
	{1,50,20},
	{51,80,40},
	{81,140,60}
}

new prze_wybrany[33]

new questy_info[][]={
	"Zabij 2 Ninje (Nagroda 500 doswiadczenia)",
	"Zabij 3 Magow (Nagroda 1200 doswiadczenia)",
	"Zabij 6 Zabojcow (Nagroda 2000 doswiadczenia)",
	"Zabij 6 Lowcow (Nagroda 5000 doswiadczenia)",
	"Zabij 15 Barbarzyncow (Nagroda 15000 doswiadczenia)",
	"Zabij 20 Paladynow (Nagroda 20000 doswiadczenia)",
	"Zabij 65 Barbarzyncow (Nagroda 150000 doswiadczenia)",
	"Zabij 120 Paladynow (Nagroda 200000 doswiadczenia)"
}

new questy_zabil[][]={
	"Ninjow",
	"Magow",
	"Zabojcow",
	"Lowcow",
	"Barbarzyncow",
	"Paladynow",
	"Barbarzyncow",
	"Paladynow"
}
2. w plugin_init dodajemy
vault_questy = nvault_open("Questy");
	vault_questy2 = nvault_open("Questy2");
	
	register_clcmd("say /questy","menu_questow")
	register_clcmd("say /quest","menu_questow")

3.w dowolnym miejscu w kodzie dodajemy
public menu_questow(id){
	if(quest_gracza[id] == -1 || quest_gracza[id] == -2){
		
		new menu = menu_create("Menu Questow","menu_questow_handle")
		new formats[128]
		for(new i = 0;i<sizeof prze;i++){
			formatex(formats,127,"Questy od %d do %d poziomu",prze[i][0],prze[i][1]);
			menu_additem(menu,formats)
		}
		menu_display(id,menu,0)
	}
	else
	{
		client_print(id,print_chat,"Wykonaj najpierw poprzednie zadanie")
	}
}

public menu_questow_handle(id,menu,item){
	if(item == MENU_EXIT){
		menu_destroy(menu);
		return PLUGIN_CONTINUE;
	}
	if(player_lvl[id] < prze[item][0]){
		client_print(id,print_chat,"Masz za maly level!");
		menu_questow(id)
		menu_destroy(menu);
		return PLUGIN_CONTINUE;
	}
	new formats[128]
	formatex(formats,127,"Questy od %d do %d poziomu",prze[item][0],prze[item][1]);
	new menu2 = menu_create(formats,"menu_questow_handle2")
	for(new i = 0;i<sizeof(questy);i++){
		if(questy[i][0] == item+1){
			menu_additem(menu2,questy_info[i]);
		}
	}
	menu_setprop(menu2, MPROP_EXITNAME, "Wyjdz");
	menu_setprop(menu2, MPROP_BACKNAME, "Poprzednia strona");
	menu_setprop(menu2, MPROP_NEXTNAME, "Nastepna strona");
	prze_wybrany[id] = item+1;
	menu_display(id,menu2)
	return PLUGIN_CONTINUE;
}

public zapisz_questa(id,quest){
	new name[64];
	get_user_name(id,name,63)
	strtolower(name)
	new key[64];
	format(key,63,"questy-%i-%s-%i",player_class[id],name,quest);
	nvault_set(vault_questy,key,"1");
}

public zapisz_aktualny_quest(id){
	new name[64];
	get_user_name(id,name,63)
	strtolower(name)
	new key[256];
	format(key,255,"questy-%d-%s",player_class[id],name);
	new data[32]
	formatex(data,charsmax(data),"#%d#%d",quest_gracza[id]+1,ile_juz[id]);
	nvault_set(vault_questy2,key,data);
}

public wczytaj_aktualny_quest(id){
	new name[64];
	get_user_name(id,name,63)
	strtolower(name)
	new key[256];
	format(key,255,"questy-%d-%s",player_class[id],name);
	new data[32];
	nvault_get(vault_questy2,key,data,31);
	replace_all(data,31,"#"," ");
	new questt[32],ile[32]
	parse(data,questt,31,ile,31)
	ile_juz[id] = str_to_num(ile)
	return str_to_num(questt)-1
}

public wczytaj_questa(id,quest){
	new name[64];
	get_user_name(id,name,63)
	strtolower(name)
	new key[64];
	format(key,63,"questy-%i-%s-%i",player_class[id],name,quest);
	new data[64];
	nvault_get(vault_questy,key,data,63);
	return str_to_num(data);
}

public menu_questow_handle2(id,menu,item){
	if(item == MENU_EXIT){
		menu_destroy(menu);
		return PLUGIN_CONTINUE;
	}
	new ile2 = 0;
	for(new i = 0;i<sizeof(questy);i++){
		if(questy[i][0] != prze_wybrany[id]){
			continue;
		}
		if(ile2 == item){
			item = i;
			break;
		}
		ile2++;
	}
	if(questy[item][4] && !(get_user_flags(id) & ADMIN_LEVEL_H)){
		client_print(id,print_chat,"Ten quest jest tylko dla vipow! Aby kupic vipa wejdz na forum amxx.pl");
		menu_questow(id)
		menu_destroy(menu);
		return PLUGIN_CONTINUE;
	}
	if(wczytaj_questa(id,item)){
		client_print(id,print_chat,"Wykonales juz to zadanie!");
		menu_questow(id)
		menu_destroy(menu);
		return PLUGIN_CONTINUE;
	}
	quest_gracza[id] = item;
	ile_juz[id] = 0
	zapisz_aktualny_quest(id)
	client_print(id,print_chat,"Wybrales zadanie: %s powodzenia !",questy_info[item]);
	quest_gracza[id] = wczytaj_aktualny_quest(id);
	menu_destroy(menu);
	return PLUGIN_CONTINUE;
}

4.w funkcji DeathMsg
w warunku
if (is_user_connected(kid) && is_user_connected(vid) && get_user_team(kid) != get_user_team(vid))
	{
dodajemy
if(quest_gracza[kid] != -1){
			if(player_class[vid] == questy[quest_gracza[kid]][2]){
				ile_juz[kid]++;
				zapisz_aktualny_quest(kid)
			}
			if(ile_juz[kid] == questy[quest_gracza[kid]][1]){
				client_print(kid,print_chat,"Wykonales zadanie %s gratulacje otrzymujesz %i expa!",questy_info[quest_gracza[kid]],questy[quest_gracza[kid]][3])
				zapisz_questa(kid,quest_gracza[kid])
				Give_Xp(kid,questy[quest_gracza[kid]][3]);
				quest_gracza[kid] = -1;
				zapisz_aktualny_quest(kid)
			}
			else
			{
				client_print(kid,print_chat,"Zabiles %i/%i %s",ile_juz[kid],questy[quest_gracza[kid]][1],questy_zabil[quest_gracza[kid]])
                        }
}
tak to ma wyglądać
if (is_user_connected(kid) && is_user_connected(vid) && get_user_team(kid) != get_user_team(vid))
	{
		show_deadmessage(kid,vid,headshot,weaponname)
		create_itm(vid,0,"losowy item")
		award_kill(kid,vid)
		add_respawn_bonus(vid)
		add_bonus_explode(vid)
		add_barbarian_bonus(kid)
		//mana_gracza[kid]+=1
		//mana_gracza[headshot]+=2
		if (player_class[kid] == Barbarzynca)
		refill_ammo(kid)
		if (player_class[kid] == Griswold)
		refill_ammo(kid)
		if (player_class[kid] == Kowal)
		refill_ammo(kid)
		if (player_class[kid] == Demonolog)
		refill_ammo(kid)
		set_renderchange(kid)
		savexpcom(vid)
		if(quest_gracza[kid] != -1){
			if(player_class[vid] == questy[quest_gracza[kid]][2]){
				ile_juz[kid]++;
				zapisz_aktualny_quest(kid)
			}
			if(ile_juz[kid] == questy[quest_gracza[kid]][1]){
				client_print(kid,print_chat,"Wykonales zadanie %s gratulacje otrzymujesz %i expa!",questy_info[quest_gracza[kid]],questy[quest_gracza[kid]][3])
				zapisz_questa(kid,quest_gracza[kid])
				Give_Xp(kid,questy[quest_gracza[kid]][3]);
				quest_gracza[kid] = -1;
				zapisz_aktualny_quest(kid)
			}
			else
			{
				client_print(kid,print_chat,"Zabiles %i/%i %s",ile_juz[kid],questy[quest_gracza[kid]][1],questy_zabil[quest_gracza[kid]])
			}
		}
	}

5.
quest_gracza[id] = wczytaj_aktualny_quest(id);
musimy to dodać po całym switch w funkcji handle menu wyboru klas
dużo diablo modów dużo menów dlatego tylko przyklad
public PokazMeni(id, key)
{ 
/* Menu:
* Wybierz klase:
* 1:Czarodziejka
* 2:Druid
* 3:Paladyn
* 4:Zabojczyni
* 5:Nekromanta
* 6:Barbarzynca
* 7:Ninja
* 8:Amazonka
* 0:Wstecz
*/
new lx[28] // <-- tutaj wpisz liczbę swoich klas + 1(none)
g_haskit[id] = 0
c_shake[id]=0
c_damage[id]=0
c_jump[id]=0
c_mine[id]=0
c_respawn[id]=0
c_vampire[id]=0
zmiana_skinu[id]=0
switch(key) 
{ 
    case 0: 
    {    
        player_class[id] = Mag
	c_shake[id]=20
        LoadXP(id, player_class[id])        
    }
    case 1: 
    {    
        player_class[id] = Mnich
	c_damage[id]=3
	zmiana_skinu[id]=1
	changeskin(id,0)
        LoadXP(id, player_class[id])
    }
    case 2: 
    {    
        player_class[id] =  Paladyn
        LoadXP(id, player_class[id])
    }
    case 3: 
    {    
        player_class[id] = Zabojca
	c_jump[id]=1
	c_mine[id]=2
        LoadXP(id, player_class[id])
    }
    case 4: 
    {            
        player_class[id] = Nekromanta
        g_haskit[id] = 1
	c_respawn[id]=4
	c_vampire[id]=random_num(1,3)
        LoadXP(id, player_class[id])
    }
    case 5: 
    {    
        player_class[id] = Barbarzynca      
        LoadXP(id, player_class[id])
    }
    case 6: 
    {    
        player_class[id] = Ninja
        LoadXP(id, player_class[id])
    }
    case 7: 
    {    
        player_class[id] = Hunter
        g_GrenadeTrap[id] = 1    
        LoadXP(id, player_class[id])
    }
    case 9: 
    { 
        select_class(id,lx)
    }
}
CurWeapon(id)
quest_gracza[id] = wczytaj_aktualny_quest(id);
give_knife(id)

return PLUGIN_HANDLED
}

Wiem jestem cienki w pisaniu poradników : D
macie tutaj
Diablomod by 0nYk3 - AMXX.pl: Support AMX Mod X
już dodane questy możecie się wzorować na tym
  • +
  • -
  • 24


#250787 Dodawanie questów

Napisane przez DarkGL w 18.05.2011 22:53

wystarczy spojrzeć w kod późno jest nie chce mi się tłumaczyć
ale
zapisywanie /wczytywanie czy quest został zrobiony
  • +
  • -
  • 3


#250789 Dodawanie questów

Napisane przez DarkGL w 18.05.2011 23:07

hmm możesz sprawdzić ale ostatnio nvault głupiało jak używałem zapisu do jednego pliku różnych kluczy
  • +
  • -
  • 2


#250805 Dodawanie questów

Napisane przez DarkGL w 19.05.2011 06:45

dużo więcej roboty a ja nie mam czasu na to obecnie
  • +
  • -
  • 3


#250654 Diablomod by Onyke

Napisane przez FreZZy w 18.05.2011 18:24

Cvary dodałem gdyby ktoś chciał coś zmienić.
A z tym że to nie moje diablo to mnie rozbawiłeś. (Polecam pierw dokładnie wszędzie posprawdzać, a potem pisać głupoty)
@edit.
Zresztą jest to diablo Micza i Gutka (orginal 5.9l), a ja tylko przerobiłem..


Wiem. A kolega mi pisał że wyszedł on z [...] (nie bd pisał nazwy sieci, i, nie, nie jesteś tam H@)

Skoro podajesz je jako własne to nie bd się kłócił, wystarczy że wiem swoje


#250644 Diablomod by Onyke

Napisane przez FreZZy w 18.05.2011 18:09

//Cvarow podanych niżej nie zmieniaj
sv_hook "1"
sv_hookthrowspeed "2000"
sv_hookspeed "600"
sv_hookwidth "32"
sv_hooksound "1"
sv_hookcolor "0"
sv_hookplayers "1"
sv_hookinterrupt "0"
sv_hookadminonly "0"
sv_hooksky "1"
sv_hookopendoors "1"
sv_hookbuttons "1"
sv_hookpickweapons "1"
sv_hookhostfollow "1"
sv_hookinstant "0"
sv_hooknoise "0"
sv_hookmax "0"
sv_hookdelay "0.0"
//Koniec cvarów których masz nie zmieniać

to po co je dałeś ^.-


Tak na marginesie: jeden z userów amxx.pl przesłał mi go 2 miesiące temu i jest prawie identyczny :)

nie podpisuj się pod czyimś modem, nawet jak dodałeś coś tu i ówdzie