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
 

TibacK - zdjęcie

TibacK

Rejestracja: 03.07.2013
Aktualnie: Korzysta z komunikatora
Poza forum Ostatnio: dziś, 19:53
*****

#761623 Serwer nie wczytuje paczki

Napisane przez TibacK on 19.09.2019 18:10

'amxx plugins' w konsole i pokaz co wyskoczy

 

'meta list' w konsole i pokaz co wyskoczy

 

'version' w konsole i pokaz co wyskoczy


  • +
  • -
  • 1


#761610 SVIP

Napisane przez TibacK on 19.09.2019 09:33

proszę wrzucać kod w załączniku, bo wstawienie bezpośrednio do postu rozwala formatowanie


  • +
  • -
  • 1


#761607 SVIP

Napisane przez TibacK on 19.09.2019 08:48


Użyj generatora i po prostu zmień nazwy z "VIP" na "SVIP" i flagę ustaw jaką chcesz.

https://amxx.pl/vipgenerator/

 

Dokładnie tak.

 

I dopiero wtedy wrzuć nam .sma i coś moze podziałamy ze zmianą flagi, a prefix i napisy sam zmienisz bez problemu


  • +
  • -
  • 1


#761600 Naprawa: Plugin uses an unknown function (name "xxx")

Napisane przez TibacK on 18.09.2019 19:46

A napisze sobie tutka, bo mam wolne 15 minut :D Może sie przyda komuś.

 

Przykładowy błąd:

[AMXX] Plugin "csgo_ranks_us.amxx" failed to load: Plugin uses an unknown function (name "add_user_elo") - check your modules.ini.

1. Skąd się bierze ten błąd?

 

Błąd generalnie nie jest jakiś skomplikowany. Chodzi o to, że mamy plugin csgo_ranks_us, który chce skorzystać z natywu add_user_elo, ale żaden plugin nie udostępnia takiego natywu. No i stąd ten błąd. Kompilator nie jest w stanie wychwycić tego typu błędu, ponieważ on tak naprawdę nie ma pojecia czy natyw, którego chcemy użyć istnieje. My mu dostarczamy tylko linijkę, która informuje, że zamierzamy skorzystać z jakiegoś natywu np:

native add_user_elo(id, ile);

I kompilator w tym momencie mówi - ok, ja to skompiluje, ale twoim zadaniem jest zadbanie o to, żeby inny plugin udostępniał ten natyw. Powyższą linijkę można traktować jako taką 'zapowiedź', że będzie istniał taki natyw jak add_user_elo. Jeśli jednak nie dostarczymy pluginu, który będzie obsługiwał ten natyw to dostaniemy błąd, o którym mowa.

Więcej o natywach można poczytać w tutorialu mojego serdecznego kolegi tu: https://amxx.pl/topi...e-api-w-amxxie/ lub tu: https://amxx.pl/topic/20034-natywy/

 

Warto dodać także, że może się tak zdarzyć, że wgramy plugin całkiem od innego moda i brakuje jakiegoś natywu i wtedy raczej trzeba będzie przerobić plugin, tak aby współpracował z naszym modem.

 

 

2. Jak naprawić?

 

Proste - dostarczyć plugin, który obsługuje dany natyw. No własnie, ale skąd wiadomo co wgrać? Ano tu trzeba mieć troszkę obycia i ogarnięcia, bo można się domyśleć - jeśli wywala nam coś o natywie na przykład z cod moda, to można sie domyslać, że z czymś do CoD'a jest nie tak. Najprostszy sposób to wrzucić nazwe natywu w google i po tych śladach dojść co za plugin go udostępnia. No dobra, ale nie zawsze się tak uda i co wtedy? Mogło się zdarzyć tak, że wywalił nam się silnik jakiegoś moda i wszystkie pluginy, które korzystają z natywów tegoż silnika się wywali też. Przykład? Masz:

 

Spoiler

 

Widzimy tutaj, w 3 linijce, że wywalił sie silnik cod mod i co? I poleciały wszystkie perki i klasy po kolei, więc warto czasem przeglądnąć w logu co tam sie zrobiło i wydedukować czy czasem nie jest tak, że jeden plugin sie wysypał, a reszta zaleznych od niego też. W tym przypadku należy poprawić silnik (a tak naprawdę wgrac moduł hamsandwich, ale na potrzeby tego tutoriala to uprościłem), a zależne od niego pluginy się uruchomią.

Pamiętaj, że możesz sprawdzić stan pluginów wpisując 'amxx plugins' w konsole serwera i w ostatniej kolumnie mamy status pluginu. Jeśli się nie załaduje jakiś plugin to będzie miał status 'bad load', wtedy należy się zacząć martwić, a potem naprawić go ;)

Przykładowy wydruk po wpisaniu 'amxx plugins'

Spoiler

 

 

3. Uwagi

 

Jeśli jesteś spostrzegawczy to zauważyłeś, że w błędzie jest napisane: "check your modules.ini", ale tak naprawdę nawet nie trzeba tam zaglądać. Moduły ładują się automatycznie jeśli są wymagane (bodajże od wersji 1.8.1)

 

 

 

Jeśli masz pomysł co by tu można dodać jeszcze to napisz :P


  • +
  • -
  • 6


#761590 Rzut entem, efekt franatu

Napisane przez TibacK on 18.09.2019 10:22

public spawn_crowbar(const id)
{
	new iEntity;
	new Float:where[3];

	iEntity = create_entity("info_target");
	set_pev(iEntity, pev_classname, g_szClassNameCrowbar);
	set_pev(iEntity, pev_solid, SOLID_TRIGGER);
	set_pev(iEntity, pev_movetype, MOVETYPE_BOUNCE);
	entity_set_model(iEntity, CrowbarModels[2]);
	pev(id, pev_origin, where);
	where[2] += 50.0;
	where[0] += random_float(-20.0, 20.0);
	where[1] += random_float(-20.0, 20.0);
	entity_set_origin(iEntity, where);
	where[0] = 0.0;
	where[2] = 0.0;
	where[1] = random_float(0.0, 180.0);
	entity_set_vector(iEntity, EV_VEC_angles, where);
	velocity_by_aim(id, 200, where);
	entity_set_vector(iEntity, EV_VEC_velocity, where);
}
 
register_touch(g_szClassNameCrowbar, "worldspawn", "CrowbarTouch");

public CrowbarTouch(const id, const world)
{
	new Float:velocity[3];
	new Float:volume;
	entity_get_vector(id, EV_VEC_velocity, velocity);

	velocity[0] = (velocity[0] * 0.45);
	velocity[1] = (velocity[1] * 0.45);
	velocity[2] = (velocity[2] * 0.45);
	entity_set_vector(id, EV_VEC_velocity, velocity);
	volume = get_speed(id) * 0.005;
	if (volume > 1.0) volume = 1.0;
	if (volume > 0.1) emit_sound(id, CHAN_AUTO, "debris/metal2.wav", volume, ATTN_NORM, 0, PITCH_NORM);
}
 

Może Ci sie przyda


  • +
  • -
  • 1


#761549 [ROZWIĄZANE] Zmiana wartosci zmiennej false/true pod 1 komenda

Napisane przez TibacK on 16.09.2019 19:43

register_clcmd("say /enable", "e")


public e(){
	zmienna = !zmienna
}

  • +
  • -
  • 3


#761501 Dołączę do Sieci Serwerów lub na Technika Serwera

Napisane przez TibacK on 14.09.2019 20:38


odpowiadaj na forum

 

Nie ma komu xD


  • +
  • -
  • 2


#761477 Plugin /ks nie działa prawidłowo brak reakcji

Napisane przez TibacK on 12.09.2019 18:08

nie masz modułu cstrike

 

wejdz tu https://www.amxmodx.org/downloads.php

pobierz Counter-Strike Addon

i wgreaj na serwer, potem zmien mape i zobacz


  • +
  • -
  • 1


#761476 nVault Top 15 czasem dubluje wpisy

Napisane przez TibacK on 12.09.2019 17:35

public client_authorized( id )
{
    if ( !( g_BotOrHLTV[ id ] = bool:( is_user_bot( id ) || is_user_hltv( id ) ) ) )
    {
        //Get players' steam-id so it can be used to retrieve their data from the vault.
        //get_user_authid( id , g_AuthID[ id ] , charsmax( g_AuthID[] ) );
        get_user_name(id, g_Name[id], 32)
        
        //Retrieve player data from vault. 
        //nvault_get_array( g_Vault , g_AuthID[ id ] , pdData[ id ][ PlayerData:0 ] , sizeof( pdData[] ) );
        nvault_get_array( g_Vault , g_Name[ id ] , pdData[ id ][ PlayerData:0 ] , sizeof( pdData[] ) );
    }
}

public client_disconnect( id )
{
    if ( !g_BotOrHLTV[ id ] )
    {
        //To avoid having to monitor for name changes in-game, the players name is retrieved and saved when disconnecting.
        get_user_name( id , pdData[ id ][ PlayerName ] , charsmax( pdData[][ PlayerName ] ) );
        
        //Save player data to vault.
        //nvault_set_array( g_Vault , g_AuthID[ id ] , pdData[ id ][ PlayerData:0 ] , sizeof( pdData[] ) );
        nvault_set_array( g_Vault , g_Name[ id ] , pdData[ id ][ PlayerData:0 ] , sizeof( pdData[] ) );
    }
}

w authorized pobierasz do g_name i tego uzywasz potem do zapisu, tylko że gracz moze zmienic nick podczas gry. i tego nie wychwycisz. 

 

w authorized pobieraj nick do pdData tak jak jest to w client_disconnected, g_name wywal calkiem bo nie jest potrzebna. topka uzywa nicku wczytanego z nvault


  • +
  • -
  • 1


#761474 Plugin /ks nie działa prawidłowo brak reakcji

Napisane przez TibacK on 12.09.2019 17:29

'amxx plugins' podaj wynik komendy, a nie wersje amxx

 

Wyglada jakby cod mod nie wystarował i sie wszystkie zalezne od niego pluginy wysypały.


  • +
  • -
  • 1


#761460 Drugi perk tylko dla vipa

Napisane przez TibacK on 12.09.2019 10:43

nie kompilowalem bo nie mam jak, ale przetestuj - zrobiłem taki brzydki dosyc hak więc moze nie dzialac, najwyzej bedziemy grzebac dalej

Załączone pliki


  • +
  • -
  • 1


#761452 [ROZWIĄZANE] Free vip dla steam

Napisane przez TibacK on 11.09.2019 08:59

#include <amxmodx>
#include <colorchat>
 
#define PLUGIN "FREE VIP"
#define VERSION "1.0"
#define AUTHOR "Devil"
 
#define flaga ADMIN_USER
 
new Forward_amxbans,iRet
 
public plugin_init() {
        register_plugin(PLUGIN, VERSION, AUTHOR)
        Forward_amxbans= CreateMultiForward("amxbans_admin_connect",ET_IGNORE,FP_CELL)
}
public client_connect(id)
{
        if(is_steam(id))
        {
                
                set_task(10.0,"Free_VIP",id)
        }
}
public Free_VIP(id)
{
        if(get_user_flags(id) & ADMIN_LEVEL_B){
                return;
        }
        ColorChat(id,GREEN,"[~PB~] ^x03Otrzymales darmowego VIP'a za posiadanie konta Steam.")
//      remove_user_flags(id, ADMIN_USER)
        set_user_flags(id, ADMIN_LEVEL_H)
        ExecuteForward(Forward_amxbans, iRet, id);
}
stock bool:is_steam(id) 
{
        new auth[65]
        get_user_authid(id,auth,64)
        if(contain(auth, "STEAM_0:0:") != -1 || contain(auth, "STEAM_0:1:") != -1)
                return true;
        return false;
}

Sprawdz.


  • +
  • -
  • 1


#761447 Plugin /ks nie działa prawidłowo brak reakcji

Napisane przez TibacK on 10.09.2019 19:12

amxx plugins w konsole serwera i pokaż to co się pokaże


  • +
  • -
  • 1


#761437 Respawn Alert - kara dla kampiacych - możliwość ustawienia własnej strefy

Napisane przez TibacK on 09.09.2019 20:44

Witam, miałem zrobić to zrobiłem i sie podziele.

 

opis

Jest to modyfikacja tego pluginu: https://amxx.pl/topi...buyzone-respie/

Z tym, że plugin ma możliwośc ustawienia stref, czyli nie jesteśmy ograniczeni przez buyzone, ale możemy sobie rozciągnąć strefy jak nam się podoba.

 

inne informacje

Z góry dziękuję autorowi za jego kod, który dostosowałem troszke na potrzeby moich zmian.

 

konfiguracja

No więc tak - polecam poczytać opis pluginu zalinkowanego wyżej, bo funkcjonalności się nie zmieniły.

 

Jedyna różnica to mozliwość ustawiania strefy.

Menu kreatora stref mamy pod komendą: /strefy , a także pod klawiszami Z,X,C (radio1,2,3).

Menu jest na flage: ADMIN_RCON czyli flaga "l" (l jak lama)

Menu jest dość proste do ogarnięcia. Po zapisaniu stref stworzy nam sie plik w folderze configs/respawn_zone/nazwaMapy.ini
Możemy poustawiać sobie pare stref, w których gracz ma być karany za przebywanie

 

instalacja

https://amxx.pl/topi...-pluginów-amxx/

oraz

Plik Respawn_Alert.cfg wrzucamy do foldery configs i w nim ustawiamy cvary.

plik .ini wrzucamy do folderu configs/respawn_zone/  (jeśli nie istnieje to trzeba stworzyć)

tu jest pokazowa strefa, którą zrobiłem (jesli ktoś chce zrobić lepsze lub dla innych map to proszę wrzucić do tematu a ja dodam tu): 

 

Strefa sięga tak:

Załączony plik  1.png   1,32 MB  0 Ilość pobrań

Załączony plik  2.png   1,36 MB  0 Ilość pobrań

Załączone pliki


  • +
  • -
  • 11


#761421 Plugin Smuga za Granatem

Napisane przez TibacK on 08.09.2019 18:36

Nie
  • +
  • -
  • 1