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
 

Ossal - zdjęcie

Ossal

Rejestracja: 20.11.2012
Aktualnie: Nieaktywny
Poza forum Ostatnio: 01.08.2017 01:56
-----

#712670 Zabieranie broni po spawnie.

Napisane przez Ossal w 03.10.2015 09:01

Sprawdzałeś inne funkcje usuwania broni?
 

//funkcja usuwajaca wszsytkie bronie, wraz z nozem:
stock UsunWszystkieBronie(id){
	static ent
	ent = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "player_weaponstrip"))
	if (!pev_valid(ent)) return;
	
	dllfunc(DLLFunc_Spawn, ent)
	dllfunc(DLLFunc_Use, ent, id)
	engfunc(EngFunc_RemoveEntity, ent)
	return
}

albo znane wszystkim stripweapons?

#include <StripWeapons>

StripWeapons(id, Primary);
StripWeapons(id, Secondary);
StripWeapons(id, Knife);
StripWeapons(id, Grenades);

Nie wszyscy to wiedzą (ja na przykład doszedłem do tego sam w praktyce) ale ta funkcja w przypadku flashbanga zawiedzie, ponieważ zabierze mu broń, ale ammo jakie ma w granacie ( ammo w granacie :D) zostanie na poziomie na przykład 1, więc przy otrzymania granatu nawet w następnej rundzie zamiast jednego będzie mieć dwa (pod warunkiem, że nie umrze w międzyczasie :P), żeby pozbyć się tego buga wystarczy wyzerować ammo flasha przy zabieraniu granatów :)

cs_set_user_bpammo(id,CSW_FLASHBANG,0)

i po problemie :)
możesz ewentualnie usunąć konkretną broń, ale raczej nie polecam :P

stock ham_fm_strip_weapon(id, weapon[]){
	if(!equal(weapon, "weapon_", 7)) 
		return 0;
	new wId = get_weaponid(weapon);
	if(!wId) 
		return 0;
	new wEnt;
	while((wEnt = engfunc(EngFunc_FindEntityByString,wEnt,"classname", weapon)) && pev(wEnt, pev_owner) != id) {}
	if(!wEnt) 
		return 0;
	
	if(get_user_weapon(id) == wId) 
		ExecuteHamB(Ham_Weapon_RetireWeapon, wEnt);
	
	if(!ExecuteHamB(Ham_RemovePlayerItem, id, wEnt)) 
		return 0;
	ExecuteHamB(Ham_Item_Kill, wEnt);
	
	set_pev(id, pev_weapons, pev(id, pev_weapons) & ~(1<<wId));
	return 1;
}

Sprawdź inny sposób zabierania broni, amx lubi płatać figle :P Pozdrawiam :)
PS Sztuczne odrodzenia gracza są dość dziwne, dlatego sprawdź większe opóźnienie :P


  • +
  • -
  • 1


#708036 Wysyłanie wiadomości "oryginalnej" z CS

Napisane przez Ossal w 29.07.2015 11:12

	message_begin(MSG_ALL,get_user_msgid("TextMsg"))
	write_byte(4) //taki typ maja wiadomosci wyswietlane jako print_center (w sumie samo print_center to enum i ma wartosc 4 :D)
	write_string("#Bomb_Planted")
	//write_string("ciag znakow") //nie musi tego byc, tutaj wpisujesz na przyklad nick w przypadku na przyklad upuszczenia bomby :)
	//write_string("ciag znakow") //to samo, ale mysle ze im dalej w dol tym rzadziej uzywane :P
	//write_string("ciag znakow")
	//write_string("ciag znakow")
	message_end()

Lista oryginalnych wiadomości cs:

Spoiler

oczywiście zamiast tych z listy możesz wstawić cokolwiek, ale to bez sensu bo niczym to się od client_print różnić nie będzie (bo ta funkcja właśnie tak działa), a roboty będzie więcej :P
Pokombinuj sobie i wstawiaj se co chcesz, mam nadzieję, że pomogłem. Pozdrawiam :)

 


  • +
  • -
  • 2


#703951 Serwisy SMS Premium

Napisane przez Ossal w 24.06.2015 22:50

Nie tyle co polecam, ale spełnia warunki :)
http://homepay.pl


  • +
  • -
  • 1


#700116 Brak przekierowania na inny serwer.

Napisane przez Ossal w 09.05.2015 12:55


Czy należy ten wycinek wkleić na koniec pliku .sma (ww. pluginu) i skompilować go?

tak, ale zjadłeś coś po drodze
wklej ten kod do pluginu, po czym wciśnij ctr+f (wyszukaj) i wpisz "client_cmd", po czym podmień wszystkie "client_cmd" na "cmdExecute"
Jak nie ma "client_connect", to jest "engclient_cmd", w takim przypadku to samo, wystarczy podmienić tę frazę. Dopiero potem skompilować.
Pozdrawiam :)


  • +
  • -
  • 1


#699974 Nie działa plugin nie odgrywa i nie ściąga plików

Napisane przez Ossal w 07.05.2015 23:15

Usunąłeś plugin_precache()...
dodaj to:

plugin_precache(){
for(new i=0;i<sizeof(g_sounds);i++) precache_sound(g_sounds[i])
}
do tego:


"sound/%s"

Przy odtwarzaniu plików .wav nie daje się "sound/", przy plikach mp3 a i owszem, przy wavach nie :)
  • +
  • -
  • 1


#693659 [ROZWIĄZANE] Co wcześniej się wykonuje ?

Napisane przez Ossal w 20.03.2015 23:58

Wystarczyło troszkę pomyśleć (mi wpadniecie na ten pomysł zajęło sekundę :D)

#include <amxmodx>

new test=0
public plugin_init(){
	register_plugin("Test dla petpata", "1.0", "Ossal")
	register_clcmd("say /test","Pokaz")
}
public plugin_cfg()
	if(!test) test=2
public plugin_precache()
	if(!test) test=1
public Pokaz(id){
	if(test==1) client_print(id,3,"Pierwsze jest precache")
	else client_print(id,3,"Pierwsze jest cfg")
}

plugin precache jest pierwsze :)

//Sprawdzane na lokalu

Edit: dla pewności sprawdziłem Ci to jeszcze na serwie, efekt taki sam, pozdrawiam :)


  • +
  • -
  • 2


#693489 Kilka pytań odnośnie menu

Napisane przez Ossal w 19.03.2015 21:03

Nie skomentuje tego inaczej niż to że miałem napisać aby jakiś linków nie podsyłać co ***** załatwiają.

Ciekaw jestem czy odpowiesz chociaż w małym stopniu na powyższe pytania posługując się tymi poradnikami...

 

 


Tylko nowe menu

Nigdy nie korzystałem ze starego, ale chyba 

 

 


menu_destroy

Jasno określa że chodzi o nowe menu...

 


  • +
  • -
  • 0


#690082 Static'i w funkcjach?

Napisane przez Ossal w 24.02.2015 03:00

Różnie widuję, ale pytanie jest takie co się bardziej "opłaca"? Z punktu widzenia procka oczywiście :P
Chodzi o użycie static zamiast new przy jakiś tam zmiennych pomocniczych w funkcjach, przykład:

public JakasTamFunkcja(id){
	static JakasTamZmienna
	JakasTamZmienna=WartoscZmiennej //dla tego akurat wywołania funkcji
	//kod
}

Zamiast zwyczajnego:

public JakasTamFunkcja(id){
	new JakasTamZmienna=WartoscZmiennej
	//kod
} 

Czy to ma sens? W sumie Tworzy zmienną tylko raz, zamiast na przykład 30 razy na rundę, ale dochodzi do tego jakieś przechowanie w pamięci czy coś tam, nie znam się na tym, w sumie dlatego pytam, bo się nie znam :P
Z góry dzięki za odpowiedzi :) [wyrozumiałe odpowiedzi :D]

GwynBleidD tylko mnie nie hejtuj znów :D


  • +
  • -
  • 1


#689723 Kolejne skrócenie pętli (for) graczy?

Napisane przez Ossal w 21.02.2015 19:13

Gracze w cs są indexowani od 1 do 32, jak jest powiedzmy 5 graczy na serwie  i wyjdzie ten z indexem 3 to gracze 4 i 5 zostają "zdegradowani" do indexu o jeden mniejszego (po czym następuje magiczne przerzucenie wszystkich danych w każdym pluginie na nowe indexy, sam na wiem jak to się dzieję :D) Czy w związku z tym wolno nam założyć że natrafienie na niepołączonego gracza w pętli (!is_user_connected(id)) to koniec możliwości na trafienie na połączonego?
"Kolejne" w temacie odnosi się do tego, że zamiast robić for(new i=1;i<33;i++) robi się for(i=1;i<MaxPlayers;i++) gdzie MaxPlayers to zmienna globalna z przypisanym get_maxplayers() w plugin_init <== choć nie wiem po co to piszę, bo chyba każdy to wie :D
Mój pomysł to coś takiego:
for(i=1;i<=MaxPlayers;i++){
             if(!is_user_connected(i)) break
             //nasz warunek lub nic
             //kod wykonany na graczu
}
A pytanie do was jest proste: czy jest pewność że w 100% sytuacji taka pętla zadziała poprawnie?
No i oczywiście czy jest sens coś takiego robić, nawet przy pętlach wykonywanych co chwila zaoszczędzenie będzie niewielkie, ale biorąc pod uwagę serwer 32 sloty i grający obecnie np 6 osób, to wydawać by się mogło, że coś tam  jednak oszczędzimy.
Z góry dzięki za odpowiedź :)
  • +
  • -
  • 1


#689312 [ROZWIĄZANE] Jak wyznaczyć origin znajdujący się za plecami gracza?

Napisane przez Ossal w 18.02.2015 22:23

Dzięki :)


  • +
  • -
  • -1


#688226 komendy amx'a działają i nie działają na przemian

Napisane przez Ossal w 14.02.2015 00:16


Nie łączę pojawienia się problemu z dodaniem/edycją jakiegoś pluginu

Mam już dość cytowania samego siebie, ludzie ***** mać, błagam was: CZYTAJCIE CAŁOŚĆ TEMATU ZE ZROZUMIENIEM!!!
  • +
  • -
  • -1


#687572 Jak (jeżeli się da) usunąć hp i armor z HUDa?

Napisane przez Ossal w 10.02.2015 22:07

Napisałeś dokładnie to samo co kolega w poście #2...
 

 

Chodzi o takie rozwiązanie jak w bf2mod? Że napis z nickiem z huda jest nadpisany Twoim statusem? Tzn ile masz expa itd

Nie, ciężko było załapać co napisałem?

to są cvary customajzera (link w pierwszej odpowiedzi):

amx_hud_hide_money (def 0) - Ukryj Kase
amx_hud_hide_timer (def 1) - Ukryj Czas Rundy
amx_hud_hide_flashlight (def 1) - Ukryj baterie latarki
amx_hud_hide_radar_health_armor (def 1) - Radar, hp i pancerza na raz.
amx_hud_hide_crosshair (def 0) - Ukryj Celownik
amx_hud_hide_cross_ammo_weaponlist (def 0) - Ukryj Crosshair, amunicie i broń na raz.

A ja napisałem:
"Jest możliwość usunięcia samej ammunicji?

Aaa, no i usunięcie samego hp i armoru? Bo nie koniecznie chciałbym wywalać radar"

Odnosząc się właśnie do tych cvarów, co jest nie zrozumiałe?
Plugin jest na bazowym amxie, może da się zrobić to samo, ale dokładnie za pomocą engine albo fakemety, czy czegokolwiek innego? :)


  • +
  • -
  • 1


#687332 Po wpisaniu /gracze wyskakuja gracze z dana flaga

Napisane przez Ossal w 10.02.2015 00:55

Za ADMIN_LEVEL_D podstaw swoją flagę według rozpiski w users.ini i zmień sobie "Gracze z Flaga X" na swój tekst :)

#include <amxmodx>

#define FLAGA ADMIN_LEVEL_D
new MaxPlayers

public plugin_init(){
	register_plugin("Gracze z flaga", "1.0", "Ossal")
	register_clcmd("say /komenda","PokazGraczy")
	MaxPlayers=get_maxplayers()
}
public PokazGraczy(id){
	new wiadomosc[500]="<body bgcolor=black><font color=white>Gracze z Flaga X<br>"
	new name[33]
	for(new i=1;i<=MaxPlayers;i++){
		if(is_user_connected(i) && get_user_flags(i) & FLAGA){
			get_user_name(i,name,32)
			format(wiadomosc,499,"%s%s<br>",wiadomosc,name)
		}
	}
	format(wiadomosc,499,"%s</font></body>",wiadomosc);
        show_motd(id,wiadomosc)
}

  • +
  • -
  • 1


#684874 [ROZWIĄZANE] Blokowanie podnoszenia broni (Ham_Touch)

Napisane przez Ossal w 26.01.2015 15:42

Czy zawarcie w pluginie takiego czegoś:

public plugin_init(){
         RegisterHam(Ham_Touch, "weaponbox", "HamTouchPre", 0);
         RegisterHam(Ham_Touch, "armoury_entity", "HamTouchPre", 0);
}
public HamTouchPre(weapon, id){
        if(!pev_valid(weapon) || !IsPlayer(id))
                    return HAM_IGNORED;
        return HAM_SUPERCEDE;
}

Gwarantuje, że gracz nie otrzyma broni? Pomijając oczywiście spawn i give_item. Jest pewność? :)


  • +
  • -
  • 1


#683159 PLUgIN po którym usuwa wszystkie bronie i daje same AWP (ONLY AWP)

Napisane przez Ossal w 16.01.2015 15:54

Powinieneś dać jakiś opis dokładniejszy :)
Ale napisałem plugin, który daje przy spawnie awp i zabiera pistolet (ewentualnie bron główną), wyjęcie broni innej niż awp i nóż, skutkuje wyrzuceniem tej broni(jeśli mozna ja wyrzucic, nie granat) i wyciąga awp, jeżeli awp nie posiadamy wyciągnie nóż, czyli rzucenie granatu jest również  nie możliwe :)

Załączone pliki


  • +
  • -
  • 1