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
 

viper367 - zdjęcie

viper367

Rejestracja: 28.07.2015
Aktualnie: Nieaktywny
Poza forum Ostatnio: dziś, 11:26
-----

#281413 Tutor - Informacje jak w Condition Zero

Napisane przez DarkGL w 11.08.2011 18:48

Tutor jest to sposób pokazywania wiadomości dodany w grze Condition Zero ale w CS 1.6 także jest dostępny
Mamy cztery rodzaje tutorów
  • Czerwony - W Condition Zero jest używany gdy terrorysta zginie.
    czerwony.png
  • Niebieski - W Condition Zero jest używany gdy anty terrorysta zginie
    niebieski.png
  • Zielony - W Condition Zero jest używany do przekazania ważnej informacji w kolorze zielonym.
    zielony.png
  • Żółty - W Condition Zero jest używany do przekazania ważnej informacji w kolorze żółtym.
    zolty.png
żeby tutor działał musimy wrzucić na serwer pewne pliki a gracz musi je ściągnąć (nie są to duże pliki także spokojnie :) ) czasami może się zdarzyć że gracz nie zobaczy tutorów gdy ściąga pierwszy raz pliki
ale po ponownym wejściu na serwer powinno być już wszystko ok :)

Pliki do wrzucenia na serwer są na końcu posta archiwum cstrike.rar

Obsługa tutorów :
Na końcu postu znajdziecie download pliku tutor.inc jest to zbiór funkcji który ułatwia pracę z tutorami
plik tutor.inc wrzucamy do folderu include naszego kompilatora

Chcąc użyć w pluginie tej biblioteki pod #include modułów dodajemy
#include <tutor>
np.
#include <amxmodx>
#include <amxmisc>
#include <tutor>

do pluginu musimy dodać wywołanie dwóch funkcji bez nich wyświetlanie nie zadziała
są to tutorInit i tutorPrecache pierwszą dodajemy do plugin_init
np.
public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	tutorInit();
}
a drugą do plugin_precache
public plugin_precache(){
	tutorPrecache()
}

Funkcja służąca do wyświetlania tutorów to tutorMake
tutorMake(id,TutorColor:Color,Float:fTime = 0.0,const szText[],any:...)
Parametry:
  • id - id gracza któremu wyświetlić tutor jeśli podamy 0 zostanie wyświetlony wszystkim
  • Color - podajemy tutaj kolor tutora wartości jakie może przyjmować to
    • TUTOR_RED - czerwony kolor tutora
    • TUTOR_BLUE - niebieski kolor tutora
    • TUTOR_YELLOW - zółty kolor tutora
    • TUTOR_GREEN - zielony kolor tutora
  • fTime - czas wyświetlania tutora jeśli podamy 0.0 tutor będzie wyświetlany ciągle aż nie zastąpi go inny tutor , liczba rzeczywista a nie całkowita
  • szText - text wyświetlany w tutorze możemy używać w nim formatowania np. %d %i %s tak jak w np. client_print czy colorchat w dalszych parametrach podajemy zmienne/tablice itp. do formatowanego tekstu

Przykłady:
  • tutorMake(id,TUTOR_RED,5.0,"Czerwony tutor")
    wyświetla jednemu graczowi czerwony tutor o treści "Czerwony tutor" przez 5 sekund
  • tutorMake(0,TUTOR_GREEN,5.0,"Tutor globalny")
    wyświetla wszystkim graczom zielony tutor o treści "Tutor globalny" przez 5 sekund
  • tutorMake(id,TUTOR_GREEN,5.0,"formatowany %d %s",1,"string")
    tutaj widać formatowanie wiadomości
    wyświetla jednemu graczowi zielony tutor o treści "formatowany 1 string" przez 5 sekund

Dla osób które nie wiedzą jak formatować ciąg znaków polecam przeczytać to
Dokumentacja AMXX.pl: Core >> string > format

Tutaj kod pluginu którego używałem do testowania funkcji
Spoiler

testuje w nim wyświetlanie różnych kolorów , globalne wyświetlanie tutora i formatowanie

Załączony plik  cstrike.rar   7,34 KB  1387 Ilość pobrań

Załączony plik  tutor.inc   2,21 KB  1638 Ilość pobrań

Załączony plik  tutor_test.amxx   4,71 KB  38 Ilość pobrań

Załączony plik  tutor_test.sma   1005 bajtów  606 Ilość pobrań
  tutor_test.amxx
  • +
  • -
  • 35


#703700 Jak sprawdzić, czy gracz został trafiony w danego hitboxa

Napisane przez Linux' w 22.06.2015 10:25

Nie lepiej bylo by to zrobic np w ten sposob?

public TraceAttack(this, attacker, Float:damage, Float:direction[3], traceresult, damagebits)
{
	if(!is_user_connected(this) || !is_user_connected(attacker))
		return PLUGIN_CONTINUE;

	if(get_pdata_int(this, 75, 5) == HIT_LEFTARM)
	{
		client_print(attacker, print_chat, "Trafilam gracza #%d w lewe ramie", this);
		client_print(this, print_chat, "Gracz #%d trafil mnie w lewe ramie", attacker);
		client_cmd(this, "drop");
	}
	else if(get_pdata_int(this, 75, 5) == HIT_RIGHTARM)
	{
		client_print(attacker, print_chat, "Trafilam gracza #%d w prawe ramie", this);
		client_print(this, print_chat, "Gracz #%d trafil mnie w prawe ramie", attacker);
		client_cmd(this, "drop");
	}
}

@@jcr Uzyles zlej skladni. Teraz bedzie dzialac.


  • +
  • -
  • 1


#778753 Raygun Call of duty Black Ops

Napisane przez rzeznik9871 w 12.08.2024 20:11

PLUGIN JEST NIEDOKOŃOCZNY ZAŁĄCZAM JAKO CIEKAWOSTKĘ

 

 

Plugin który pisałem i finalnie nie skończyłem.

Miał to być port znanego Raygun'a (Blastera) z trybu zombie Call of duty Black Ops do csowego zombie plague.

Plugin sam w sobie działa ale nie jest kompletnie zaimplementowany pod ZP tylko pod klasyczną grę w dodatku sama logika broni jest napisana dosyć kiepsko ŹLE i wypadałoby wiele poprawić, problemy jakie z nią są to:

 -Brak możliwości włączenia latarki

 -Brak możliwości klikania przycisków 

Oba błedy występują podczas trzymania broni i wynikaja z tego:

set_pdata_float(id,83,999.0)

-Brakuje modeli z perspektywy trzeciej osoby i po wyrzuceniu, znalazłem tylko model v_

-Otwarzanie dźwięków broni jest kompletnie z d*py, zrobiłem wszystko przy pomocy emit_sound (bez sensu)

 

Konfiguracja:

new DEBUG = 1  // chyba nazwa zmiennej wszystko mówi

#define RAYGUN_WPNID	CSW_P228                             // broń pod jaka jest podmieniany raygun
#define RAYGUN_MODEL	"models/fresh/v_raygun_bo.mdl"       // model v_
#define RAYGUN_BULLET	"models/fresh/raygun_bullet.mdl"     // model pocisku

#define RAYGUN_DRAWTIME 1.46                                 // czas wyciągniecia broni
#define RAYGUN_FIRERATE 0.5                                  // szybkostrzelność
#define RAYGUN_RELOADTIME 3.0                                // czas przeładowania

#define RAYGUN_MAGSIZE 20                                    // pojemność magazynka
#define RAYGUN_MAXBP 160                                     // ilość amunicji w zapasie

#define RAYGUN_DAMAGE 100.0                                  // obrażenia zadane bezpośrednim trafieniem
#define RAYGUN_SPLASH_DAMAGE 300.0                           // maksymalne obrażenia obszarowe (redukowane dystansowo)

#define RAYGUN_SPLASH_RADIUS 110.0                           // maksymalny obszar rażenia 

Plugin kompilował się pod amxem chyba 1.8.3 ale nie dam sobie uciąć głowy

Tak jak wspominałem na początku, plugin jest raczej ciekawostką którą można dokończyć przy odrobinie zaparcia.

Udostępniam go dlatego, że nie chcę aby sam pomysł przepadł, może ktoś zrobi z tego coś fajnego

 

Załączone pliki


  • +
  • -
  • 1


#274507 entity_set_aim ustawianie angles entity/graczowi

Napisane przez DarkGL w 27.07.2011 11:52

jest to poprawiony stock przezemnie aby działa dla graczy i dla zwykły entów
entity_set_aim(ent, const Float:origin2[3]){
	if(!pev_valid(ent))
		return 0;

	static Float:origin[3];

	xs_vec_copy(origin2,origin)

	static Float:ent_origin[3]

	pev(ent,pev_origin,ent_origin);

	if(is_user_alive(ent)){
        new Float:fOfs[3];
		pev(ent,pev_view_ofs,fOfs)

		xs_vec_add(ent_origin,fOfs,ent_origin);
	}

	xs_vec_sub(origin,ent_origin,origin);

	static Float:aim_vector[3];
	xs_vec_div_scalar(origin,vector_length(origin),aim_vector)

	static Float:new_angles[3];
	vector_to_angle(aim_vector,new_angles);

	new_angles[0] *= -1;

	if(new_angles[1]>180.0) new_angles[1] -= 360;
	if(new_angles[1]<-180.0) new_angles[1] += 360;
	if(new_angles[1]==180.0 || new_angles[1]==-180.0) new_angles[1]=-179.999999;

	set_pev(ent,pev_angles,new_angles);
	set_pev(ent,pev_fixangle,1);

	return 1;
}
ustawia on aby ent/gracz patrzył na podane przez nas origin (czyli patrzy na podany przez nas punkt)
  • Pierwszy parametr to id gracza/enta
  • Drugi to origin punktu na jaki ma patrzeć (Float tablica 3 wartościowa)
tak jak mowie przerabiałem tylko stocka także te nazwy zmiennych są nie za ładne Dołączona grafika
wymaga fakemeta i xs
#include <fakemeta>
#include <xs>

  • +
  • -
  • 7


#778080 Jak naprawić modele postaci

Napisane przez Boski Z Polski w 15.02.2024 23:20

być może masz zły model, żeby się przekonać to wgraj nowe modele (pamiętaj, żeby zmienić dane w pluginie, a konkretniej w funkcji ustawiającej modele) 


  • +
  • -
  • 0


#662061 Wykorzystanie JavaScript w motd na steam – lokalizacja gry , dostęp do plików

Napisane przez DarkGL w 04.09.2014 11:31

http://darkgl.amxx.pl/index.php/2014/09/04/wykorzystanie-javascript-w-motd-na-steam/

W jednej z aktualizacji CS 1.6 zmienione przeglądarkę używana w okienku motd ( widżet Internet Explorera ) na dużo nowocześniejszą.
Obsługującą Javascript , daje nam to kilka ciekawych możliwości.

Sama przeglądarka posługuje się takim user agentem

Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; Valve Half-Life/0; ) AppleWebKit/534.1 (KHTML, like Gecko) Chrome/18.0.989.0 Safari/535.11
10_screenshots_2014-09-03_00010

User agent może być inny na innych komputerach.

Jednak widać ze gra korzysta tutaj z najnowszej wersji Chrome i Silnika WebKit co daje nam dostęp do JS i HTML5 ;).

Używając alert z javascript możemy uzyskać daw ciekawe efekty
Kiedy alert jest wyświetlany wraz z jakąś treścią np.
alert( 'Napis' )
10_screenshots_2014-09-03_00003

jednak użycie alert z pustym ciągiem znaków daje jeszcze ciekawszy efekt

alert( '' )
Untitled1231231312

Warto zauważyć że jest to osobne okno nie połączone z oknem cs'a które łapie focus i staje się aktywnym aktualnie oknem , w przeciwieństwie do alert z ciągiem znaków gdzie okno alertu jest wbudowane w gui gry.

I jeszcze confirm
confirm( 'test' )
10_screenshots_2014-09-03_00004

prompt nie udało mi się uruchomić

http://www.w3schools.com/js/js_popup.asp

warto zauważyć że wykorzystując alert możemy zmusić gracza do nie zamykania okna motd , po prostu trzeba wyświetlać ciągle alert za każdym razem kiedy gracz go zamknie , kiedy alert jest wyświetlany nie można zamknąć okna motd przyciskiem OK dopóki box alerta jest widoczny.

HTML5 oraz Javascript posiada w sobie możliwości obsługi plików ( odczytywanie itp. ) tak zwany file api ( http://www.html5rocks.com/en/tutorials/file/dndfiles/ ).

Niestety mimo że Javascript posiada w sobie obiekty

  • window.File

  • window.FileReader

  • window.FileList

  • window.Blob



To dodanie takiego kodu html


powoduje taki efekt

10_screenshots_2014-09-03_00011

dlatego nie możemy wybrać pliku do wczytania , warto zauważyć ze przy próbie wybrania pliku CS zaczynał dziwnie się zachowywać i musiałem restartować całego steam'a.

Javascript pozwala na otwieranie nowy okien/kart poprzez window.open( http://www.w3schools.com/jsref/met_win_open.asp ) i to akurat działa co daje ciekawe efekty ;).

Kilka testowanych przeze mnie ustawień ( komentarze są specjalnie )
//var printOut = window.open("http://www.google.com","_blank", 'height=200, width=200');
			
//var printOut = window.open("http&://www.google.com","_parent", 'height=200, width=200');
			
//var printOut = window.open("http&://www.google.com","_self", 'height=200, width=200');
			
//var printOut = window.open("http&://www.google.com","_top", 'height=200, width=200');
			
//var printOut = window.open("http&:///www.google.com","asd", 'height=200, width=200');
			
//var printOut = window.open("http&://www.google.com","_blank", 'fullscreen=1');
Niestety przesuwanie itp. nie działa
printOut.moveTo(500, 100);
printOut.focus();
_blank daje ciekawy efekt w postaci nowego okna
10_screenshots_2014-09-03_00008
motd można wtedy zamknąć a okno zostaje
10_screenshots_2014-09-03_00006

10_screenshots_2014-09-03_00005

_parent , _self , _top i własna nazwa odswieża po prostu strone w standardowym miejscu w motd

10_screenshots_2014-09-03_00007

fullscreen=1
nie działało ale już ustawianie height i width tak

Wykorzystując Javascript możemy też odczytać gdzie na dyskuj znajduje się jego folder gry poprzez
document.location
np.
2014-09-04_00001

Możemy też wysłać tą wartość do np. skryptu php przez otworzenie nowej karty sposobem wyżej( window.open ) z odpowiednimi parametrami GET.

Lub możemy użyć
<meta http-equiv="refresh" content="0;url=http://google.pl?test=1/">
lub iframe



Dzięki dostępowi Javascript możemy też ładować JQuery
np.
<script src="//code.jquery.com/jquery-1.11.0.min.js"></script>


Niestety zapytania ajax nie działają.
Plugin którego używałem do testowania był bardzo prosty.
#include 
#include 

#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "DarkGL"


public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	
	register_clcmd( "say /testMotd" , "testMotd" );
}

public testMotd( id ){
	show_motd( id , "testMotdJavascript.txt" , "Testowy motd" );
}

Wszystkie ustawienia pokazane w tym wpisie mogą dać inne efekty na innych komputerach.

  • +
  • -
  • 7


#776695 [ROZWIĄZANE] Segmentation Fault

Napisane przez PANDA_2zl w 29.03.2023 11:08

No to mamy winnego, ta wersja crashuje często serwer, wgraj najnowszą https://github.com/s.../tag/5.21.0.576
Wystarczy że podmienisz tam odpowiednio plik cs.so tak mi się zdaje
  • +
  • -
  • 2


#773704 Licznik wizyt na serwerze

Napisane przez MocnyAmper w 16.04.2022 08:04

Wersja 1.1, jakby ktoś chciał dodać interwał pomiędzy zapisami.
Główna zmiana polega na tym, że teraz nie zapisuje każdego pojedyńczego wejścia na serwer, ale musi minąć określona cvarem ilość czasu (domyślnie 30 minut) aby plugin naliczył nowe wejście. Jeśli gracz wejdzie ponownie przed upływem tego czasu, licznik czasu zostanie zresetowany i znowu będzie trzeba czekać 30 minut. W zamyśle ma to wyglądać tak, że gracz, który gra nieprzerwanie nawet wiele godzin (lub z przerwami mniejszymi niż te 30 minut) będzie miał naliczone tylko jedno wejście.

 

Cvary:

- te, które są wyżej

- visitcounter_interval "1800" //czas, jaki gracz musi NIE być na serwerze aby zliczyło kolejne wejście

Załączone pliki


  • +
  • -
  • 1


#761414 "Ściana" C4 na 1 bombside

Napisane przez O'Zone w 08.09.2019 13:38

Jeśli był to polski serwer, zakładam, że trafiłeś na plugin Map Blocking Walls. z którego na ten moment na pewno korzysta Infectia.pl.

W moim repozytorium znajdziesz też folder walls, gdzie znajduje się część wymaganych plików, ale brakuje chociażby dictionary,

więc postanowiłem poświęcić kilka minut i zrobić gotową paczkę, która jest w załączniku.

 

1. Folder walls w katalogu configs to gotowe configi ścian na 75 mapach blokujących dostęp do jednego z BSów.

2. W katalogu katalogu sprites znajduje się wall.spr z dwoma teksturami ścian.

Jedna z nich zawiera logo mojej starej sieci serwerów, więc musisz go sobie zedytować używając np. Sprite Explorer,

eksportując obie tekstury jako jako .bmp, edytując tą z logiem przy użyciu jakiegoś programu graficznego i budując nowego sprite.

3. W data/lang znajdziesz walls.txt, czyli dictionary ze stringami translacyjnymi.

4. W scripting i plugins wrzuciłem plugin w dwóch wersjach, walls_old pod AMXX 1.8.2. i walls pod AMXX 1.8.3+.

 

Co do samego pluginu, ściany aktywują się blokując przejścia, jeśli na serwerze jest mniej niż określona w configu liczba graczy.

Całość konfiguracji, w tym edycja istniejących ścian jak i dodawanie ich na innych mapach jest dostępna z poziomu menu pod komendą /walls (lub /sciany).

Dla ciekawskich, wygląda to tak:

zk383mJ.jpg

Załączone pliki

  • Załączony plik  walls.zip   113,83 KB  533 Ilość pobrań

  • +
  • -
  • 10


#773123 Problem z ścianami

Napisane przez master10 w 19.01.2022 21:25

 SezonowyGracz gracz napisał prawidłowo . Wiec postępuj zgodnie z instrukcjami programu  jak robisz nowy sprites jak zmieniasz nazwe.

 VP_PARRARELL jest ustawiony z automatu wystarczy ze zamienisz   na ORIENTED i potem  next. i jak zobaczysz ,ze jest sprite type zmieniony  ORIENTED to  bd w porzadku. 


  • +
  • -
  • 2


#772855 Free Dead By Daylight

Napisane przez Robiin w 02.12.2021 18:37

https://www.epicgame...ead-by-daylight


  • +
  • -
  • 6


#284437 Map Spawns Editor v1.0

Napisane przez Lunatic w 17.08.2011 23:37

Dołączona grafika
Za pomocą tego pluginu z łatwością można edytować, kasować i dodawać spawany na mapach za pomocą wygodnego menu.

Dołączona grafika
* amx_spawn_editor 1/0 // Włącz / Wyłącz edycję
* amx_editor_menu // Otwórz menu edycji

Dołączona grafika
// Standardowa
1. Plik Map_Spawns_Editor.amxx wrzucić do \addons\amxmodx\plugins
2. W pliku \addons\amxmodx\configs\plugins.ini dodać na koniec Map_Spawns_Editor.amxx
3. Plik map_spawns_editor.txt wrzucić do \addons\amxmodx\data\lang
4. Zresetować serwer lub zmienić mapę

Załączone pliki


  • +
  • -
  • 32


#197566 Podbot - automatyczne boty , stała ilość graczy

Napisane przez aksnet w 19.12.2010 10:59

Witam

Potrzebowałem pluginu który utrzymuje w specyficzny sposób stałą ilość graczy ma serwerze.
Nie było pluginu który dokładnie spełniał moje wymagania i dlatego napisałem własny (plugin
powstał na podstawie pluginu: amxx_podbot_ctrl.sma, AUTHOR "KWo")


Zapraszam do testowania.


Plugin zarządza ilością botów na serwerze.
W tym pluginie boty uzupełniają brakujących graczy do liczby pb_botmaxplayers.



przyklad:
---------------------------------------
Wstaw do podbot.cfg lub amxx.cfg linię:


pb_botmaxplayers = 6


Zasady działania działania (przykład dla pb_botmaxplayers = 6)
-----------------------------------------------------------
- nie ma graczy na serwerze nie ma tez botów
(nikt nie gra więc nie marnujemy niepotrzebnie mocy procesora i pamięci)

- pojawiają się gracze plugin utrzymuje zawsze jednakowy stan:
boty + ludzie = pb_botmaxplayers (w tym przykładzie będzie pb_botmaxplayers = 6)

- kiedy pojawia się pierwszy gracz wchodzi 5 botów i rozpoczyna się gra (1 gracz + 5 botów = 6)

- kiedy gra np. 4 graczy (na serwerze będzie 4 graczy + 2 boty = 6)

- gra 6 graczy (lub więcej) - wszystkie boty są wyrzucane

- ostatni gracz wychodzi z gry - wszystkie boty są wyrzucane



Instalacja:
---------------------------------------------------------------------
Plik amxx_podbot_auto.amxx wrzucamy do cstrike/addons/amxmodx/plugins
Edytujemy plugins.ini i dopisujemy na końcu: amxx_podbot_auto.amxx
Plik amxx_podbot_auto.sma wrzucamy do cstrike/addons/amxmodx/scripting



Ustawienia:
---------------------------------------
Jeśli chcesz utrzymać stałą liczbę
boty + ludzie = 6
Wstaw do podbot.cfg lub amxx.cfg linię:

pb_botmaxplayers = 6



Dodatkowe informacje:
--------------------------------------
Plugin powstal na podstawie
pluginu: amxx_podbot_ctrl.sma, AUTHOR "KWo"



Alex K.

Załączone pliki


  • +
  • -
  • 17


#772670 Łączenie warunków "if"

Napisane przez dasiek w 12.10.2021 07:23

Lecimy gumową kaczuszką!

Twój warunek wygląda tak - 
 

Jeśli użytkownik NIE JEST 
- hltv 
  ORAZ
- Użytkownikiem steam
  ORAZ
- Botem
  ORAZ
- Nie ma flagi ADMIN_LEVEL_G

Użytkownik musi spełnić te wszystkie warunki i na nim negujesz. 

Szybki test ze sprawdzania (js ale logiczne operatory są te same)

let isHltv = false;
let isSteam = false;
let isBot = false;
let hasFlag = false;


if(!isHltv && !isSteam && !isBot && !hasFlag) {
    console.log('dupa');
}
// 'dupa'

Wszystkie flagi są ustawione na false (czyli użytkownik nie jest botem, nie jest steamem, nie jest hltv i nie ma flagi). Teraz jest, jak użytkownik spełnia wszystkie te warunki


let isHltv = true;
let isSteam = true;
let isBot = true;
let hasFlag = true;


if(!(isHltv && isSteam && isBot && hasFlag)) {
    console.log('dupa');
}
// undefined - nic nie wypisało

zakładając, że zamieniamy console.log z dupą na uruchomienie taska, task się nie uruchomi. Ale jeśli przynajmniej jeden z tych warunków będzie true, task się uruchomi

let isHltv = true;
let isSteam = false;
let isBot = false;
let hasFlag = false;


if(!(isHltv && isSteam && isBot && hasFlag)) {
    console.log('dupa');
}
// 'dupa'

W tej sytuacji, proponuję każdą flagę sprawdzać oddzielnie, nie grupować w nawiasach. 

Przykładowo - Twój task ma się uruchomić dla użytkowników którzy
- Nie są botami

- nie są steam

- Nie są botem

- Nie mają fagi

Korzystając z tego samego kodu, tylko dodając sprawdzenie na każdym warunku 

let isHltv = true;
let isSteam = false;
let isBot = false;
let hasFlag = false;


if(!isHltv && !isSteam && !isBot && !hasFlag) {
    console.log('dupa');
}

// undefined - nie wyświetla się


let isHltv = false;
let isSteam = false;
let isBot = false;
let hasFlag = true;


if(!isHltv && !isSteam && !isBot && !hasFlag) {
    console.log('dupa');
}
// undefined - nie wyświetla się

Więc, jeśli chcesz, aby task nie wykonywał się, dla osób, które są botem albo hltv albo steamem albo nie maja flagi (słowo klucz, w Twoim przypadku było na głos Sobie przeczytaj to zdanie raz ze słowem albo a raz ze słowem "i") nie mają tej flagi warunek powinien wyglądać tak :

if(!is_user_hltv(id) && !is_steam(id) && !is_user_bot(id) && !(get_user_flags(id) & ADMIN_LEVEL_G))

PS - kod który podałem śmiało możesz wrzucić np w konsole js w przeglądarce i pobawić się tym sam.


  • +
  • -
  • 3


#755481 Nieodnawialna runda

Napisane przez Robiin w 21.01.2019 20:30

Ty być z polska wieś, ty pisać po polska języka, ja wiedzieć, że polska języka trudna języka ale ty pisać dobra języka, oki?


  • +
  • -
  • 2