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
 

Linux' - zdjęcie

Linux'

Rejestracja: 20.12.2012
Aktualnie: Nieaktywny
Poza forum Ostatnio: 18.07.2022 18:51
*****

#740043 Hlds zboty pod metamod linux

Napisane przez Linux' w 03.06.2017 08:54

opis

Chciałem podzielić się dziś z wami zbotami. Niektórzy mogą nie zdawać sobie sprawy, jednak zboty są dostępne w grze single player counter strike, lecz nie znajdują się tam w formie dodatku metamod. Podstawowe różnice miedzy podbotami a zbotami to:

 

+ Mniejsze zużycie zasobów serwera przy większej ilości botów.

+ Boty te samodzielnie tworzą waypointy na każdej mapie! Wystarczy odpalić je na nowej mapce i poczekać aż samodzielnie zostaną dodane.

+ Gra tych botów jest zdecydowanie bardziej dynamiczna, rzekłbym nawet bardziej ludzka od podbotów.

+ Dzięki tym botom oszukiwać można gametracker, cssetti, wiaderki czy inne tego typu listy serwerów. Wystarczy zainstalowanie tego dodatku a ustawienie nawet 32 botów spowoduje wywindowanie naszego serwera w górę.

- By niektóre eventy modulu hamsandwich działały prawidłowo na botach, zmuszeni jesteśmy korzystać z funkcji RegisterHamFromEntity.

 

cvary

bot_add                                                   : bot_add <t|ct> <type> <difficulty> <name> - Adds a bot matching the given criteria.
bot_add_ct                                                : bot_add_ct <type> <difficulty> <name> - Adds a Counter-Terrorist bot matching the given criteria.
bot_add_t                                                 : bot_add_t <type> <difficulty> <name> - Adds a terrorist bot matching the given criteria.
bot_all_weapons                                           : Allows the bots to use all weapons
bot_allow_grenades                                   : If nonzero, bots may use grenades.
bot_allow_machine_guns                               : If nonzero, bots may use the machine gun.
bot_allow_pistols                                    : If nonzero, bots may use pistols.
bot_allow_rifles                                     : If nonzero, bots may use rifles.
bot_allow_rogues                                     : If nonzero, bots may occasionally go 'rogue'. Rogue bots do not obey radio commands, nor pursue scenario goals.
bot_allow_shotguns                                   : If nonzero, bots may use shotguns.
bot_allow_snipers                                    : If nonzero, bots may use sniper rifles.
bot_allow_sub_machine_guns                           : If nonzero, bots may use sub-machine guns.
bot_auto_follow                                      : If nonzero, bots with high co-op may automatically follow a nearby human player.
bot_auto_vacate                                      : If nonzero, bots will automatically leave to make room for human players.
bot_chatter                                          : Control how bots talk. Allowed values: 'off', 'radio', 'minimal', or 'normal'.
bot_debug                                        : For internal testing purposes.
bot_debug_target                                 : For internal testing purposes.
bot_defer_to_human                                   : If nonzero and there is a human on the team, the bots will not do the scenario tasks.
bot_difficulty                                       : Defines the skill of bots joining the game.  Values are=easy, 1=normal, 2=hard, 3=expert.
bot_dont_shoot                                   : If nonzero, bots will not fire weapons (for debugging).
bot_eco_limit                                    : If nonzero, bots will not buy if their money falls below this amount.
bot_flipout                                      : If nonzero, bots use no CPU for AI. Instead, they run around randomly.
bot_goto_mark                                             : Sends a bot to the selected nav area (useful for testing navigation meshes)
bot_join_after_player                                : If nonzero, bots wait until a player joins before entering the game.
bot_join_delay                                            : Prevents bots from joining the server for this many seconds after a map change.
bot_join_team                                        : Determines the team bots will join into. Allowed values: 'any', 'T', or 'CT'.
bot_kick                                                  : bot_kick <all> <t|ct> <type> <difficulty> <name> - Kicks a specific bot, or all bots, matching the given criteria.
bot_kill                                                  : bot_kill <all> <t|ct> <type> <difficulty> <name> - Kills a specific bot, or all bots, matching the given criteria.
bot_knives_only                                           : Restricts the bots to only using knives
bot_pistols_only                                          : Restricts the bots to only using pistols
bot_prefix                                           : This string is prefixed to the name of all bots that join the game. <difficulty> will be replaced with the bot's difficulty. <w
bot_profile_db                                       : The filename from which bot profiles will be read.
bot_quota                                         : Determines the total number of bots in the game.
bot_quota_mode                                       : Determines the type of quota. Allowed values: 'normal', 'fill', and 'match'. If 'fill', the server will adjust bots to keep N p
bot_randombuy                                      : should bots ignore their prefered weapons and just buy weapons at random?
bot_show_battlefront                               : Show areas where rushing players will initially meet.
bot_show_nav                                     : For internal testing purposes.
bot_show_occupy_time                               : Show when each nav area can first be reached by each team.
bot_snipers_only                                          : Restricts the bots to only using sniper rifles
bot_stop                                         : If nonzero, immediately stops all bot processing.
bot_traceview                                    : For internal testing purposes.
bot_walk                                             : If nonzero, bots can only walk, not run.
bot_zombie                                       : If nonzero, bots will stay in idle mode and not attack.

wymagane moduly

metamod

 

instalacja

Wrzuć wszystkie pliki do folderu cstrike. Następnie przejdź do ./addons/metamod/plugins.ini i na samym końcu dopisz linux addons/zbot/zbot.so.

Załączone pliki

  • Załączony plik  czbot.rar   14,87 KB  255 Ilość pobrań

  • +
  • -
  • 3


#739280 [ROZWIĄZANE] "Ogień z broni" PaintBall

Napisane przez Linux' w 05.05.2017 00:06

Za ten efekt wyświetlany z pierwszej osoby zawsze odpowiada model. Wystarczy usuwać z niego funkcje attachement.

Załączone pliki


  • +
  • -
  • 2


#739142 Cos ala cureweapon

Napisane przez Linux' w 03.05.2017 10:50

Zastosuj SDKHook(client, SDKHook_WeaponSwitch


  • +
  • -
  • 1


#738986 Problem Z Klasa Premium [Kapitan]

Napisane przez Linux' w 30.04.2017 14:46

Cofam, nie tu to mialem napisac :)

 

//

Komenda amx_plugins_list i sprawdz czy klasa zostala poprawnie uruchomiona. Jezeli tak problem jest w silniku, poszukaj czy masz moze frakcje czy cos..


  • +
  • -
  • 1


#738889 Efekt lecącego naboju.

Napisane przez Linux' w 26.04.2017 08:04

TE_SetupBeamPoints(const Float:start[3], const Float:end[3], ModelIndex, HaloIndex, StartFrame, FrameRate, Float:Life, 
                Float:Width, Float:EndWidth, FadeLength, Float:Amplitude, const Color[4], Speed)

  • +
  • -
  • 1


#738772 Klasy z awansem posiadaja inny maksymalny poziom

Napisane przez Linux' w 22.04.2017 17:00

Pod zmienna

new limit_poziomu
if(equali(nazwy_klas[klasa_gracza[id]], "Nazwa Klasy"))
	limit_poziomu = nowa_wartosc;

  • +
  • -
  • 1


#738754 Klasy z awansem posiadaja inny maksymalny poziom

Napisane przez Linux' w 22.04.2017 09:42

Tam gdzie pobierasz wartosc cvaru z limitem poziomu, sprawdzaj czy gracz gra okreslona klasa i w taki wypadku ustalaj inna wartosc.


  • +
  • -
  • 1


#738698 Jakie polecacie Pluginy na serwer DD2?

Napisane przez Linux' w 20.04.2017 22:37

Moze ten?

 

https://www.youtube....h?v=N6DK_62HySw


  • +
  • -
  • 4


#738467 Ciągłe kicki "fake client" i "timed out"

Napisane przez Linux' w 14.04.2017 22:05

Przejscie na rehlds na pewno nie zaszkodzi, zmniejszy zuzycie zasobow przez aplikacje hlds tak wiec teoretycznie sam serwer powinien przyspieszyc.


  • +
  • -
  • 1


#738438 Poszukuję CS z single player na AMXX

Napisane przez Linux' w 13.04.2017 19:19

Moge ci postawic serwer do testow na mojej maszynie na miesiac za darmo.


  • +
  • -
  • 1


#738288 [Cod Nowy] Wylaczenie uwzgledniania grawitacji wzgledem bytów

Napisane przez Linux' w 08.04.2017 23:45

W nowej modyfikacji cod mod zastosowany został trik by każdy wywoływany przez nas byt który porusza się w jakimś kierunku, uwzględniał grawitację ustawioną na serwerze. Dzięki temu byty bardzo ładnie nam opadają, natomiast możemy to w dość prosty sposób wyłączyć i tutaj przedstawie jak to zrobić.

 

Tak więc na początku musimy znaleźć kod klasy, przedmiotu czy też jakiś inny który nas interesuję, ja postaram się zademonstrować to na przykładzie rakietek. Tak więc otwieram kod klasy wsparcieogniowe i szukam funkcji odpowiadającej za tworzenie rakiet czyli:

new ent = CreateEntityByName("hegrenade_projectile");
if(ent != -1)
{

w środku powinno się znajdować wymuszanie grawitacji dla bytu:

SetEntityGravity(ent, 0.1);

tak więc usuwamy tę linijkę. Pozostało nam jeszcze zmienić sposób w jakim poruszać ma się nasz byt, w tym wypadku zamieniamy:

MOVETYPE_STEP

na

MOVETYPE_FLY

i gotowe. Od teraz wypuszczone przez nas rakietki będą leciały w linii prostej. Wystarczy już zapisać i ponownie skompilować nasz plik by cieszyć się dodatkiem.

 

 

 

Silnik wraz z paczką modyfikacji, można nabyć wyłącznie poprzez kontakt ze mną. Więcej o tym w sygnaturze.


  • +
  • -
  • 1


#738285 [Cod Nowy] Procent doswiadczenia za wszystko dla wybranej osoby

Napisane przez Linux' w 08.04.2017 23:31

W tym prostym tutorialu zaprezentuje w jaki sposób możemy zrobić by wybrana przez nas osoba - załóżmy że posiadacz określonej flagi, otrzymywał zwiększony procent doświadczenia absolutnie za wszystko.

 

Zasada jest dość prosta, musimy przejść do public Action:UstawNoweDoswiadczenie(client, doswiadczenie) w silniku naszego coda a następnie pod:

new nowe_doswiadczenie = doswiadczenie-doswiadczenie_gracza[client];

dodać

if(doswiadczenie_gracza[client] < doswiadczenie) // warunek blokujacy mnozenie wartosci ujemnych
{
	if(GetUserFlagBits(client) & ADMFLAG_CUSTOM1) // sprawdzanie czy gracz spelnia warunek, w tym wypadku posiada flage
		nowe_doswiadczenie = RoundFloat((doswiadczenie-doswiadczenie_gracza[client])*1.10); // 1.10 = 110% czyli o 10% wiecej od przecietnego gracza
}

teraz wystarczy już zapisać i ponownie skompilować silnik by cieszyć się dodatkiem.

 

 

 

Silnik wraz z paczką modyfikacji, można nabyć wyłącznie poprzez kontakt ze mną. Więcej o tym w sygnaturze.


  • +
  • -
  • 2


#738284 [Cod Nowy] Automatyczny wybór klasy po X sekundach

Napisane przez Linux' w 08.04.2017 23:18

W tym tutorialu postaram się przedstawić w jaki sposób możemy dodać automatyczny wybór klasy dla gracza po określonym przez nas czasie.

 

Na początku dodajemy nowe zmienne globalne:

new auto_klasa_gracza[65],
    Float:time_klasa_gracza[65];

teraz do public Action:UsunUmiejetnosci(client) dodajemy ich resetowanie a więc:

auto_klasa_gracza[client] = 0;
time_klasa_gracza[client] = 0.0;

następnie przechodzimy do public Action:PokazInformacje(Handle:timer, any:client) i zamieniamy go na:

public Action:PokazInformacje(Handle:timer, any:client)
{
	if(!IsValidClient(client))
		return;

	if(IsPlayerAlive(client))
	{
		WybierzAutoKlase(client);
		if(auto_klasa_gracza[client])
			PrintHintText(client, "<font color='#008000'>[Klasa: <b>%s</b> (<b>%is</b>)]\n[Xp: <b>%i</b> | Lv: <b>%i</b>]\n[Item: <b>%s</b> [<b>%i%%</b>]]</font>", nazwy_klas[klasa_gracza[client]], auto_klasa_gracza[client], doswiadczenie_gracza[client], poziom_gracza[client], nazwy_itemow[item_gracza[client]], wytrzymalosc_itemu_gracza[client]);
		else
			PrintHintText(client, "<font color='#008000'>[Klasa: <b>%s</b>]\n[Xp: <b>%i</b> | Lv: <b>%i</b>]\n[Item: <b>%s</b> [<b>%i%%</b>]]</font>", nazwy_klas[klasa_gracza[client]], doswiadczenie_gracza[client], poziom_gracza[client], nazwy_itemow[item_gracza[client]], wytrzymalosc_itemu_gracza[client]);
	}
	else
	{
		new spect = GetEntProp(client, Prop_Send, "m_iObserverMode");
		if(spect == 4 || spect == 5) 
		{
			new target = GetEntPropEnt(client, Prop_Send, "m_hObserverTarget");
			if(target != -1 && IsValidClient(target))
				PrintHintText(client, "<font color='#FFFFFF'>[Klasa: <b>%s</b>]\n[Xp: <b>%i</b> | Lv: <b>%i</b>]\n[Item: <b>%s</b> [<b>%i%%</b>]]</font>", nazwy_klas[klasa_gracza[target]], doswiadczenie_gracza[target], poziom_gracza[target], nazwy_itemow[item_gracza[target]], wytrzymalosc_itemu_gracza[target]);
		}
	}

	hud_task[client] = CreateTimer(0.5, PokazInformacje, client, TIMER_FLAG_NO_MAPCHANGE);
}

oraz gdzieś na dole pluginu dodajemy:

public Action:WybierzAutoKlase(client)
{
    new Float:gametime = GetGameTime();
    if(gametime > time_klasa_gracza[client]+1.0)
    {
        if(!klasa_gracza[client])
        {
            if(!auto_klasa_gracza[client])
                auto_klasa_gracza[client] = IsFakeClient(client)? 3: 30;    // czas wyboru klasy przez bota 3 sekundy, przez gracza 30;

            if(wczytane_dane[client] && !freezetime)
            {
                if(auto_klasa_gracza[client] > 1)
                    auto_klasa_gracza[client] --;
                else
                {
                    nowa_klasa_gracza[client] = GetRandomInt(1, ilosc_klas);
                    UstawNowaKlase(client);
                    ZastosujAtrybuty(client);
                    DajBronie(client);

                    PrintToChat(client, "[COD:MW] Twoja klasa zostala wybrana automatycznie.");
                }
            }
        }
        else if(auto_klasa_gracza[client])    
            auto_klasa_gracza[client] = 0;

        time_klasa_gracza[client] = gametime;
    }

    return Plugin_Continue;
}

teraz wystarczy już zapisać i ponownie skompilować silnik by cieszyć się dodatkiem.

 

 

 

Silnik wraz z paczką modyfikacji, można nabyć wyłącznie poprzez kontakt ze mną. Więcej o tym w sygnaturze.


  • +
  • -
  • 1


#738150 Nazwa broni w hud

Napisane przez Linux' w 03.04.2017 19:12

Dodaj to pod pobraniem nazwy broni

replace(weapon, charsmax(weapon), "weapon_", "");

 


  • +
  • -
  • 1


#738079 Nazwa broni w hud

Napisane przez Linux' w 02.04.2017 11:48

new weapon[32];

get_weaponname(get_user_weapon(index), weapon, charsmax(weapon));

%s, weapon


  • +
  • -
  • 1