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
 

Lamka - zdjęcie

Lamka

Rejestracja: 29.10.2011
Aktualnie: Nieaktywny
Poza forum Ostatnio: 11.06.2014 23:50
-----

#638106 Jednorazowy natychmiastowy reload

Napisane przez BlackPerfum w 12.05.2014 19:50

Tam gdzie jest CSW_P90 to mam podać wybraną broń?

Nie, CSW_P90 jest po prostu bronią o największym indexie dlatego to tam jest. Tzn. to działa na all bronie (no prawie bo na m3 xm04 czy jak to się nazywa nie działa)

 

 

Która liczba odpowiada za ilość przeładowań na rundę?

Aktualnie można przeładować tylko jednorazowo na rundę bo tego chciałeś ale jest za to odpowiedzialna zmienna:

Reload

Błędy:

1. - Moja literówka :D

2. - Moje przyzwyczajenie że zawsze mam załączoną bibloteke z danymi bytu

3. - r powinno być z dużej litery xD

 

Ja i ta moja pisownia wybacz. Łap kod bez literówek i z możliwością przeładowania tyle razy ile chcesz.

new bool:Reload[33]
new const ReloadWeapon = ~((1<<21)|(1<<5)|(1<<2)|(1<<4)|(1<<9)|(1<<25)|(1<<29)|(1<<6))
#define MAX_RELOAD 5 // Teraz mozesz 5 razy przeładowac natychmiastowo

public plugin_init()
{
	RegisterHam(Ham_CS_RoundRespawn,"player","Spawn")
	
	new szWeapon[17]
	for(new i=1; i<=CSW_P90; i++)
	{
		if( ReloadWeapon & (1<<i) && get_weaponname(i, szWeapon, charsmax(szWeapon)) )
		{
			RegisterHam(Ham_Weapon_Reload, szWeapon, "Weapon_Reload_Post", 1)
		}
	}
}

public Spawn(id)
{
	Reload[id] = MAX_RELOAD
}

public Weapon_Reload_Post(iEnt)
{    
	new id = get_pdata_cbase(iEnt, 41, 4)
	if(Reload[id])
	{
		if( get_pdata_int(iEnt, 54) )
		{
			set_pdata_float(id, 83, 0.0, 5)
			set_pdata_float(iEnt, 48, 0.0)
			Reload[id]--
		}
	}
}

  • +
  • -
  • 1


#636818 Lista serwerów

Napisane przez DarkGL w 05.05.2014 15:53

Już powinno wszystko działać


  • +
  • -
  • 1


#327044 1/x z kilku broni (łatwiejszy sposób)

Napisane przez KariiO w 26.11.2011 21:09

Poradnik dotyczy tylko klas ale każdy kto ma minimum wiedzy o nowym codzie powinien z łatwością dostosować poradnik do perku.

A więc zaczynamy:

do tablic dodaj(pierwszą tablice możesz mieć):
new ma_klase[33]
new oneonone[33][31]

jeżeli w plugin_init nie masz to dodaj:
RegisterHam(Ham_TakeDamage, "player", "TakeDamage");

TakeDamage powinien wyglądać tak:
public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits)
{
	if(!is_user_connected(idattacker))
		return HAM_IGNORED;
	
	if(!ma_klase[idattacker])
		return HAM_IGNORED;
	
	if(!(damagebits & (1<<1)))
		return HAM_IGNORED;
	
	new hp_ofiary = get_user_health(this)
	new bron_atakujacego = get_user_weapon(idattacker)
	
	if (oneonone[idattacker][bron_atakujacego] > 0)
	{
		if (random_num(1,oneonone[idattacker][bron_atakujacego]) == 1) cod_inflict_damage(idattacker, this, float(hp_ofiary), 0.0, idinflictor, damagebits);
	}
	
	return HAM_IGNORED;
}

public cod_class_enabled(id)
{
	oneonone[id][CSW_AWP] = 2
	oneonone[id][CSW_M4A1] = 4
	ma_klase[id] = 1;

	return COD_CONTINUE;
}
ustawiam gościowi 1/2 z AWP i 1/4 z M4A1.(to tylko przykład za AWP i M4A1 możecie wpisać inne bronie)

public cod_class_disabled(id)
{
	ma_klase[id] = 0;
	oneonone[id][CSW_AWP] = 0
	oneonone[id][CSW_M4A1] = 0
}
tutaj to zerujemy ponieważ zmienia klasę.

Jeżeli pojawi się jakiś problem to dajcie znać, to tyle :D
  • +
  • -
  • 15


#492337 Skrypty do pisania klas

Napisane przez MAGNET w 21.12.2012 21:39

Witam :)
Jest to mój pierwszy post w tym dziale, wiec proszę o wyrozumiałość ^^
Krotki wstęp:
Ostatnio miałem problem z szukaniem skryptów do pisania klas, wiec zapisywałem je sobie w jednym miejscu. Tak wyszło sporo dodatkow do klas, które postanowiłem opublikować w całości.
W przyszłości też będę robił podobne tematy ;)
A więc zaczynajmy:

1.Przerabianie klasy na premium:

Spoiler


2. Niewidzialność postaci:
Spoiler


3. Grawitacja:
Spoiler

4. Multijump:
Spoiler


5. BH
Spoiler


6. Cichy bieg:
Spoiler


7. Exp za fraga:
Spoiler


8. Unlimited multijump:
Spoiler


9. Nie zabiera dmg po upadku:
Spoiler



10. Niewidzialnosc, gdy sie nie ruszasz:
Spoiler

11. 1/x na odbicie pocisku:
Spoiler


12. Lina spidermana:
Spoiler


13. Dodatkowe dmg:
Spoiler


14. 1/x z wybranej broni:
Spoiler

15. Teleport:
Spoiler


16. Model gracza w zaleznosci od teamu
Spoiler


17. Zmiana stroju CT/TT z broniami:
Spoiler

 

18. No-Recoil

Spoiler

 

19. Szansa na pojawienie się u wroga

Spoiler

 

20. Ubranie Wroga

Spoiler

 

21. Widzisz wrogów na radarze

Spoiler

 

22. Klasa od poziomu

Spoiler

 

23. Nieśmiertelność

Spoiler


  • +
  • -
  • 52


#303470 Jak ustawić 1/x szans na zabicie z wybranej broni

Napisane przez d0naciak w 05.10.2011 19:46

W tym poradniku pokaże, jak zrobić perk który bedzie miała 1/x szans na natychmiastowe zabicie z przypisanej broni
1. A więc dodajemy na sam początek :
#include <hamsandwich>

i pod wszystkimi include :
#define DMG_BULLET (1<<1)

jezeli dodajemy 1/x z granata, dodaj to
#define DMG_HEGRENADE (1<<24)

2. do plugin_init() dodajemy :

RegisterHam(Ham_TakeDamage, "player", "TakeDamage");

[/sma]

3. A tera rejestrujemy przykladowy public :
public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits)
{
if(!is_user_connected(idattacker))
return HAM_IGNORED;

if(!ma_perk[idattacker])
return HAM_IGNORED;

if(get_user_team(this) != get_user_team(idattacker) && get_user_weapon(idattacker) == CSW_AWP && damagebits & DMG_BULLET)
cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits);

return HAM_IGNORED;
}

3.1 W powyższym publicu przyjżyj się temu :
if(get_user_team(this) != get_user_team(idattacker) && get_user_weapon(idattacker) == CSW_AWP && damagebits & DMG_BULLET && random_num(1, 7) == 1)

Tam gdzie pisze CSW_AWP zmieniamy na bron z której chcemy miec 1/x szans na zabicie np. CSW_M4A1
Aby ustawić granata odlamkowego wpisz to :
if(damagebits & DMG_HEGRENADE && get_user_team(this) != get_user_team(idattacker) && random_num(1,7) == 1)

zamiast
if(get_user_team(this) != get_user_team(idattacker) && get_user_weapon(idattacker) == CSW_AWP && damagebits & DMG_BULLET)

3.2 Ok, tera przyjzyjmy sie temu :
random_num(1, 7) == 1

To tutaj ustawiamy, jaką mamy szanse na zabicie przeciwnika, w tym przypadku 1/7, zeby zmienic np. na 1/4 zamieniamy to wyzej na
random_num(1, 4) == 1


Czyli nasz public bedzie wygladac tak :
public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits)
{
if(!is_user_connected(idattacker))
return HAM_IGNORED;

if(!ma_perk[idattacker])
return HAM_IGNORED;

if(get_user_team(this) != get_user_team(idattacker) && get_user_weapon(idattacker) == CSW_M4A1 && damagebits & DMG_BULLET && random_num(1, 4) == 1)
cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits);

return HAM_IGNORED;
}

I to daje 1/4 szans na zabicie z m4a1

Zeby ustawic natychmiastowe (1/1) pozbywamy się tego
random_num(1, 7) == 1

I usuwamy jeszcze "&&" Czyli w sumie caly warunek bedzie wygladac tak

if(get_user_team(this) != get_user_team(idattacker) && get_user_weapon(idattacker) == CSW_AWP && damagebits & DMG_BULLET)

To już chyba zrozumieliscie ;>
3.3 Dla granatow, zmieniamy
DMG_BULLET
Na
DMG_HEGRENADE

czyli tak np.

if(get_user_team(this) != get_user_team(idattacker) && get_user_weapon(idattacker) == CSW_HEGRENADE && damagebits & DMG_HEGRENADE)


3.4 Jeżeli chcemy np dla dwoch broni dac 1/x z broni, to pod tym
if(get_user_team(this) != get_user_team(idattacker) && get_user_weapon(idattacker) == CSW_M4A1 && damagebits & DMG_BULLET && random_num(1, 4) == 1)
cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits);

dodajemy to
if(get_user_team(this) != get_user_team(idattacker) && get_user_weapon(idattacker) == CSW_M4A1 && damagebits & DMG_BULLET && random_num(1, 4) == 1)
cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits);

i nastepnie konfigurujemy :)
Jak zrobic 1/x szans na zabicie z kosy (PPM) ?
Spoiler


Natychmiastowe z HeadShota
Spoiler


Mam nadzieje ze zrozumieliście :P Oczywiście to można przerobić na klase :D
  • +
  • -
  • 13


#424198 Więcej expa dla Vipa

Napisane przez d0naciak w 25.06.2012 14:17

public SmiercGraczaPost(id, attacker, shouldgib)
{
if(!is_user_connected(attacker))
return PLUGIN_CONTINUE;
if(get_user_team(id) != get_user_team(attacker) && klasa_gracza[attacker])
{
new doswiadczenie_za_zabojstwo = get_pcvar_num(cvar_doswiadczenie_za_zabojstwo);
new nowe_doswiadczenie = get_pcvar_num(cvar_doswiadczenie_za_zabojstwo);
if(poziom_gracza[id] > poziom_gracza[attacker])
nowe_doswiadczenie += (poziom_gracza[id]-poziom_gracza[attacker])*(doswiadczenie_za_zabojstwo/10);
if(get_user_flags(attacker) & ADMIN_LEVEL_H)
{
nowe_doswiadczenie += nowe_doswiadczenie/2;
}
if(!perk_gracza[attacker])
UstawPerk(attacker, -1, -1, 1);
doswiadczenie_gracza[attacker] += nowe_doswiadczenie;
set_hudmessage(255, 212, 0, 0.50, 0.33, 1, 6.0, 4.0);
ShowSyncHudMsg(attacker, SyncHudObj2, "+%i", nowe_doswiadczenie);
}
SprawdzPoziom(attacker);
return PLUGIN_CONTINUE;
}


Po dodaniu flagi "t"
  • +
  • -
  • 1


#209383 Dodawanie frakcji - 2 sposoby

Napisane przez Cypis' w 25.01.2011 21:21

Frakcje czytane z pliku cod_frakcje.ini w configs.

Jak zainstlować:
Gotowiec:
Spoiler

Edytacja Silnika:
Spoiler


Instrukcja jak dodac frakcje:
Spoiler

  • +
  • -
  • 139


#321974 Pluginy nie działają

Napisane przez DZIAREK w 14.11.2011 18:25

Zrobisz tak:
off server
on server
i dasz wycinek z konsoli wszystko co tam pisze w momencie ponownego uruchomienia się servera
  • +
  • -
  • 1


#321751 Pluginy nie działają

Napisane przez SadistiC w 13.11.2011 23:22

Serwer nie może odczytać plików z folderu plugins. Sprawdź czy na pewno wgrałeś.


Wgrał, przecież piszę, że nie ma modułu: fakemeta i engine

W załączniku dodam Ci te 2 brakujące moduły... wgraj je do folderu: cstrike/addons/amxmodx/modules

Załączone pliki