Jeśli to co zrobiłem CI się podoba i masz zamiar to pobrać poświeć chwile na przeczytanie licencji i opisu.
Przydatne linki - Useful links
* Zgłoś błąd - Report a bug
* Propozycje, opinie - Suggestions, opinions
* Problemy - Problems
* Pytania i odpowiedzi - Questions and answers
* Lista obsługiwanych gier - List of supported games
* Prywatne wiadomości będą o tej pory ignorowane !!!.
* Jeśli zastosujesz się do powyższych punktów pomoc otrzymasz bardzo szybko.
Korzystałem z kodu CSBoard i MCBoard dziękuje autorom
Pobierz - Download
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.
|
swipe
Rejestracja: 14.10.2012Aktualnie: Nieaktywny
Poza forum Ostatnio: 04.03.2015 01:34





Statystyki
- Grupa: Użytkownik
- Całość postów: 28
- Odwiedzin: 2 813
- Tytuł: Życzliwy
- Wiek: 31 lat
- Urodziny: Marzec 13, 1994
-
Imię
Łukasz
-
Płeć
Mężczyzna
-
Lokalizacja
Warszawa
Kontakt
Narzędzia użytkownika
Ostatnio byli
#637372 Servers board 2.9.1 BETA - Tabela serwerów online CS, TS3, MINECRAFT I INNE
Napisane przez Supryk
w 09.05.2014 17:26
#655087 Przerobienie systemu monet z coda na zombie
Napisane przez bamber
w 06.08.2014 10:43
Czy ktoś przerobiłby mi ten plugin http://amxx.pl/topic...3-system-monet/ na zombie plague 4.3
Tak aby dawało tylko monety za zabójstwo i za hs.
#656100 team semi clip
Napisane przez 12345a
w 11.08.2014 15:34
Witam
Mam do was ważna sprawę zrobi mi ktoś plugin albo przerobi teamsemiclip.amxx plugin ten ma działać przez 10s od rozpoczęcia się rundy i gdy gracz przechodzi przez gracza ma być przeźroczysty i CT może przechodzić przez CT a TT przez TT i po 10s. się wszystko wylańcza i działa normalnie.Proszę o pomoc ponieważ szukam tego pluginu i nie mogę znaleść nigdzie więc tak jak napisałem ludzie mogą przechodzić tylko przez 10s od początku rundy i potem wszystko się wyłaczą proszę o pomoc .
Dziękuję
#254052 Nick Reservation System by ^Grzyboo^
Napisane przez ^Grzyboo
w 29.05.2011 12:14

Podirytowany wpisywaniem setinfo _pw "haslo" pomyslalem o pluginie innym, zastępczym, tak by hasło wpisywać podczas gry.
No i nie tylko pomyślałem, a także zrobiłem.
Plugin ma opcje:

Pozwala to na łatwe zarządzanie wszystkim.
* Usuwanie wszystkich haseł - Standardowo dla admina z immunitetem
* Banowanie Kont - Nowość, pozwala nam na założenie bezsensownego hasła dla danego konta. Dlatego poziomy i rank nie będą dłużej wbijane na tym nicku
* Usuń - Banalne usuwanie - Tak/Nie i gotowe

* Zapis Nvault = Brak zbędnego spamu w users.ini i nie potrzeba bazy danych.
Menu Admina widoczne dla adminów tylko.


Plugin pyta nas przy wejściu na serwer o hasło ( o ile je mamy oczywiście ).

Jedynie:
- Nvault
- ColorChat
Przez ColorChat musimy niestety kompilować lokalnie.

ban_account <nick> <haslo>
Dostepne pod flagą ADMIN_BAN i pozwala na zbanowanie konta
/konto - menu główne

Standardowa, zawartość cstrike wrzucamy do cstrike i dopisujemy nrs.amxx do plugins.ini
Proponuje zmienić nazwę forum w
#define FORUM


Prawidłowa wersja to v2, nazwana tak, gdyż nie mogę usunąć starych załączników.
Załączone pliki
-
nrs_v2.rar 34,47 KB 2397 Ilość pobrań
-
nrs_v2.amxx 18,77 KB 61 Ilość pobrań
-
nrs_v2.sma 10,53 KB 1344 Ilość pobrań
nrs_v2.amxx
#444224 Jak zrobić klasę zombie (premium)
Napisane przez ELOS
w 10.08.2012 22:31
Modyfikacja: Zombie Plaque 4.3
Nazwa Modyfikacji: Premium Klasa Zombi
Stan: Testowany
Autor: [AvP] ELOS
Pliki do edycji
- zombieplague.inc - edycja natywu
- zombie_plague40.sma - edycja kodu
- zp_zclasses40.sma && Własne Klasy Zombie - edycja natywu rejestrującego klasę zombi oraz dopisanie kodu.
Temat został napisany do działu ZombieMod.
W tym temacie dowiecie się jak dodać klasę zombie na daną flagę. Dołączam do tego poradnik na 2 sposoby wyglądu klasy premium.
zombie_plague40.sma
Zaczynając od początku, powinniśmy stworzyć zmienne na których będziemy pracować.
Za
new Array:g_zclass_kb // knockbackdodajemy zmienną która będzie przetwarzać naszą flagę w natywie
new Array:g_zclass_flags // flaga
Następną częścią naszej modyfikacji jest edycja natywu w naszym silniku
a więc zamieniamy
public native_register_zombie_class(const name[], const info[], const model[], const clawmodel[], hp, speed, Float:gravity, Float:knockback)na nasz nowy natyw
public native_register_zombie_class(const name[], const info[], const model[], const clawmodel[], hp, speed, Float:gravity, Float:knockback, flags)następnie przechodzimy do plugin_precache
gdzie za
g_zclass_kb = ArrayCreate(1, 1)dodajemy
g_zclass_flags = ArrayCreate(1, 1)Następnym krokiem będzie edycja
public native_register_zombie_classza
Float:knockbackmusimy dodać
, flagsa więc nasz kod wygląda tak
public native_register_zombie_class(const name[], const info[], const model[], const clawmodel[], hp, speed, Float:gravity, Float:knockback, flags)Gdy edytowaliśmy już funkcje naszego publica należy edytować go w zawartości a więc w publicu
native_register_zombie_classza
ArrayPushCell(g_zclass_kb, knockback)należy dodać
ArrayPushCell(g_zclass_flags, flags)
Edycje silnika mam już prawie skończoną pozostaje nam edycja kodu odpowiadającego za wyświetlanie naszej klasy
a więc przechodzimy do
show_menu_zclass(id)oraz do
static menuid, menu[128], class, buffer[32], buffer2[32]dodajemy
, flagaa więc ma wyglądać to tak
static menuid, menu[128], class, buffer[32], buffer2[32], flagaZa
ArrayGetString(g_zclass_info, class, buffer2, charsmax(buffer2))dodajemy
flaga = ArrayGetCell(g_zclass_flags, class)edytujemy
menu_additem(menuid, menu, buffer)na
menu_additem(menuid, menu, buffer, flaga)Jeżeli chcesz aby był widoczny napis (Premium) naciśnij Spoiler
if (class == g_zombieclassnext[id]) formatex(menu, charsmax(menu), "\d%s %s", buffer, buffer2) else formatex(menu, charsmax(menu), "%s \y%s", buffer, buffer2)na
if(flaga == 0) { if (class == g_zombieclassnext[id]) { formatex(menu, charsmax(menu), "\d%s %s", buffer, buffer2) } else { formatex(menu, charsmax(menu), "%s \y%s", buffer, buffer2) } } else if(get_user_flags(id) & flaga) { if (class == g_zombieclassnext[id]) { formatex(menu, charsmax(menu), "\d%s %s", buffer, buffer2) } else { formatex(menu, charsmax(menu), "%s \y%s \r(Premium)", buffer, buffer2) } } else { formatex(menu, charsmax(menu), "%s %s \r(Premium)", buffer, buffer2) }
zombieplague.inc
.
A więc przejdźmy do edycji pliku inc.Szukamy oraz
native zp_register_zombie_class(const name[], const info[], const model[], const clawmodel[], hp, speed, Float:gravity, Float:knockback)za
Float:knockbackdodajemy
, flagsKod ma wyglądać tak
native zp_register_zombie_class(const name[], const info[], const model[], const clawmodel[], hp, speed, Float:gravity, Float:knockback, flags)
Funkcje mamy już gotową pozostaje nam edytować nasze klasy Zombie.
zp_zclasses40.sma && Własne Klasy Zombie
Pozostaje nam edycją zp_zclasses40 oraz naszym własnych klas zombie powinniśmy edytować również klasy które nie posiadają premium w innym wypadku klasy nie będą działać a w przypadku zp_zclasses40 nie będzie działał nasz zombie mod.
W każdej klasie za
const Float:zclass_knockback = 1.0 // knockbacknależy dodać (gdy chcemy premium)
const zclass_flags = NASZA_FLAGAw przypadku zwykłych klas
const zclass_flags = 0następnie trzeba edytować naszą rejestracje natywu a więc do każdego
zp_register_zombie_class(zclass_name, zclass_info, zclass_model, zclass_clawmodel, zclass_health, zclass_speed, zclass_gravity, zclass_knockback)trzeba dodać
, flagsWygląda to tak
zp_register_zombie_class(zclass_name, zclass_info, zclass_model, zclass_clawmodel, zclass_health, zclass_speed, zclass_gravity, zclass_knockback, zclass_flags)
Mam nadzieje że modyfikacja wam się spodobała włożyłem w nią trochę mojego czasu a w poradniku starałem się opisać wszystko dokładnie.
Gdy powstanie dział ZombieMod moderatora proszę o przeniesienie.
#435372 Tworzenie wlasnego EXP MOD'A nvault
Napisane przez ::Gogiel::
w 23.07.2012 13:17
Wstawiam go na to forum aby pomóc poszukującym takich poradników w j. polskim.
Kolejnym powodem umieszczenia jest to iż opierałem sie na innych modach, lecz nie zawsze wszystko działało.
Zostało tutaj dodane kilka ciekawych funkcji które urozmaica troche ten podstawowy MOD.
"Postanowiłem wam pokazać jak stworzyć prosty exp MOD
Przed rozpoczęciem musisz się orjętować w średnim stopniu w scriptingu
Rejestrowanie Modułów
#include <amxmodx>
#include <amxmisc>
#include <nvault>
Definiujemy Maksymalną Liczbę Postaci
W obecnej postaci kodu mamy 5 postaci, natomiast może się tu znajdować dowolna liczba np: 2 lub 7
#define MAXCLASSES 5
Tworzymy Zmienne które będą odpowiadąły za zapisanie twojego poziomu klasy i doświadczenia
new PlayerXP[33],PlayerLevel[33],PlayerClass[33]
//to jest odpowiedzialne za przyznanie dodatkowego expa za zabicia
new XP_Kill,XP_Knife,XP_Hs,SaveXP
//To jest na potrzeby nVault, aby mógł zapisac twoje osiągnięcia
new g_vault
Tutaj mamy odwołanie do wcześniej zdefiniowanej maksymalnej ilości klas, Ibecne nazwy możemy zmienić na dowolne
new const CLASSES[MAXCLASSES][] = {
"None",
"Dog",
"Cat",
"Horse",
"Cow"
}
Tutaj jest 5 Postaci, ponieważ wcześniej zdefiniowaliśmy maksymalną liczbę = 5.
Teraz tworzymy Poziomy i to ile doświadczenia potrzeba, aby osiągnąc kolejny poziom.
new const LEVELS[7] = {
0,
100,//To określa ile doświadczenia potrzebujesz do danego poziomu
200,
400,
800,
1600,
3200
}
Teraz Tworzymy plugin_init()
public plugin_init()
{
register_plugin("XpMod", "1.0", "Fxfighter")
//Potrzebujemy tego do sprawdzenia twojego poziomu po tym jak kogoś zabijesz
register_event("DeathMsg", "eDeath", "a")
//Czy się zapisuje ??
SaveXP = register_cvar("SaveXP","1")
//Ile doświadczenia dostajesz za każde zabicie ?
XP_Kill=register_cvar("XP_per_kill", "20")
//Jeżeli komuś walniesz HS ile dostaniesz doświadczenia za ten wyczyn
XP_Hs=register_cvar("XP_hs_bonus","20")
//Tutaj jest ustawione doświadczenie za zabicie
XP_Knife=register_cvar("XP_knife_bonus","20")
//Właśnie wywołaliśmy nowe połączenie nvault
// Wywołaliśmy je jako animod
g_vault = nvault_open("animod")
// Rejestruje komendę odpowiedzialną za wywołanie i zmianę klasy
register_clcmd("say /class", "ChangeClass")
register_clcmd("say_team /class", "ChangeClass")
//Pokazuje ile masz doświadczenia
register_clcmd("say /xp", "ShowHud")
register_clcmd("say_team /xp", "ShowHud")
}
Teraz zabieramy sie do stworzenia funkcji Death . Pamiętacie jak zakomentowaliśmy "eDeath" w plugin_init()?Będzie Ona śledzić doświadczenie jeżeli zdobędziesz wyższy poziom.
public eDeath( ) //Nazwa Funkcji
{
// If the player's Class is nothing, then dont bother to do any of the below
if(PlayerClass[attacker] == 0)
return PLUGIN_CONTINUE
// Tworzy zmienną do przechowywania informacji o ID atakującego
new attacker = read_data( 1 )
// Stworzyliśmy zmiennądo przechowywania informacji o zaatakowanym
// Jeżeli gracz został zabity
new iVictim = read_data( 2 )
// Jeżeli Gracz został zabity Hs'em, ta funkcja mu przyzna doświadczenie korzystając z cvaru Xp_Hs
new headshot = read_data( 3 )
// Jaka broń została użyta
new clip, ammo, weapon = get_user_weapon(attacker,clip,ammo);
PlayerXP[attacker] += get_pcvar_num(XP_Kill)
// Używamy xp_hs cvaru
// Sprawdza czy ofiara została zabita poprzez HS
if(headshot)
// Daj jemu / jej dodatkowe doświadczenie
PlayerXP[attacker] += get_pcvar_num(XP_Hs)
// Sprawdza czy ofiarazostała zabita nożem
if(weapon == CSW_KNIFE)
// Daj jemu / jej dodatkowe doświadczenie
PlayerXP[attacker] += get_pcvar_num(XP_Knife)
// Sprawdza czy gracz ma dostateczna liczbę doświadczenia do awanswania na anstępny poziom
while(PlayerXP[attacker] >= LEVELS[PlayerLevel[attacker]])
{ // this will create the Congratulations message.
client_print(attacker, print_chat, "[Animal Mod] Gratulacje! Jestes masz teraz poziom %i %s!", PlayerLevel[attacker],CLASSES[PlayerClass[attacker]])
// Add his/her level
PlayerLevel[attacker] += 1
}
// Pokazuje graczowi jego poziom w HUD
ShowHud(attacker)
}
To jest funkcja odpowiadająca za wyświetlanie poziomu, doświadczenia i klasy gracza w HUD
public ShowHud(id)
{
set_hudmessage(255, 0, 0, 0.75, 0.01, 0, 6.0, 15.0)
show_hudmessage(id, "Poziom: %i^nDoswiadczenie: %i^nPostac: %s",PlayerLevel[id],PlayerXP[id],CLASSES[PlayerClass[id]])
}
Informacja: ^n Określa nową linię
Tutaj jest Menu.W nim jest możliwośc wyboru Zwierzątka jakim będziesz grać. Używa nowego systemu menu.Nie mam ochoty na dodawanie nowcyh funkcji do tego menu, here is the original tutorial on that
public ChangeClass(id)
{
new menu = menu_create("Class Menu" , "Class_Handle");
menu_additem(menu ,"Dog", "1" , 0);
menu_additem(menu ,"Cat", "2" , 0);
menu_additem(menu ,"Horse", "3" , 0);
menu_additem(menu ,"Cow", "4" , 0);
menu_setprop(menu , MPROP_EXIT , MEXIT_ALL);
menu_display(id , menu , 0);
return PLUGIN_CONTINUE;
}
public Class_Handle(id , menu , item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu);
}
new szCommand[6] , szName[64]; new access , callback;
menu_item_getinfo(menu , item , access , szCommand , 5 , szName , 63 , callback);
new i = str_to_num(szCommand)
if(PlayerClass[id] != i)
{
PlayerClass[id] = i client_print(id,print_chat,"You are now a %s",CLASSES[i])
}
else
{
client_print(id,print_chat,"You are alredy a %s",CLASSES[i])
}
menu_destroy(menu);
return PLUGIN_CONTINUE
}
To jest funkcja odpowiadająca za wywołanie odpowiednich działań gdy z serwerem łączy sie gracz
public client_connect(id)
{
// OTylko wtedy gdy zapis jest włączony
if(get_pcvar_num(SaveXP) == 1)
{
// Ładuje twoje dane GRACZA
LoadData(id)
}
}
To jest funkcja odpowiadająca za wywołanie odpowiednich działań gdy Gracz wychodzi z serwera
public client_disconnect(id)
{
// To się dzieje tylko gdy zapis jest włączony
if(get_pcvar_num(SaveXP) == 1)
{
// Zapiszmy danę
SaveData(id)
}
}
Teraz tworzymy funkcje odpowiedzialną za zapis danych
public SaveData(id)
{
// Wybierz Steam id gracza, potrzebujemy tego ponieważ w tym modzie zapis jest na SID
new AuthID[35] get_user_authid(id,AuthID,34)
new vaultkey[64],vaultdata[256]
// Co ma byc w animod pliku
format(vaultkey,63,"%s-Mod",AuthID)
format(vaultdata,255,"%i#%i#",PlayerXP[id],PlayerLevel[id])
// zapisuje dane
nvault_set(g_vault,vaultkey,vaultdata)
return PLUGIN_CONTINUE
}
Teraz tworzymy funkcje odpowiedzialną za ładowanie danych postaci
public LoadData(id)
{
new AuthID[35] get_user_authid(id,AuthID,34)
new vaultkey[64],vaultdata[256]
// szuka
format(vaultkey,63,"%s-Mod",AuthID)
format(vaultdata,255,"%i#%i#",PlayerXP[id],PlayerLevel[id])
// ładuje dane
nvault_get(g_vault,vaultkey,vaultdata,255)
replace_all(vaultdata, 255, "#", " ")
new playerxp[32], playerlevel[32]
parse(vaultdata, playerxp, 31, playerlevel, 31)
PlayerXP[id] = str_to_num(playerxp)
PlayerLevel[id] = str_to_num(playerlevel)
return PLUGIN_CONTINUE
}
I teraz możemy dodać to co chcemy bo mamy szkielet

Wszystkie komentarze zostały przetłumaczone na "Mój Język"
I są one tym co chciał nam przekazać właściciel TUTORIALA.
Jeżeli są jakieś błędy w nazewnictwie ect. najmocniej przepraszam.
Jeżeli złamałem tym tematem jakiś regulamin Proszę o Wyrozumiałą Karę

TUTEK NIE MÓJ !!
Oparte na New XP Mod tutorial - AlliedModders
Mam nadzieje że komuś się przyda

Jeżeli cos pominąłem w tłumaczeniu I'm so sory but I am Only Person.
Błędów nie popełnia tylko ten kto nic nie robi

Testowałem wszystko poza zapisem.... ::Ggiel::
#595515 Amxbans - admin na nick/hasło
Napisane przez Visco
w 22.12.2013 23:14
#584777 dproto stable
Napisane przez
palarie
w 12.11.2013 13:09
Plik dproto.cfg znajduje się w gł katalogu FTP serwera, przed cstrike.
#576685 [ROZWIĄZANE] Pluginy speedometer&uq_jumpstats
Napisane przez M4RV1N
w 11.10.2013 11:27
Spróbuj:
#include <amxmodx> #include <fakemeta> #define PLUGIN "Speedometer" #define VERSION "1.2" #define AUTHOR "AciD" #define FREQ 0.1 new bool:plrSpeed[33] new TaskEnt,SyncHud,showspeed,color, maxplayers, r, g, b public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_cvar("AcidoX", "Speedometer 1.1", FCVAR_SERVER) register_forward(FM_Think, "Think") TaskEnt = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target")) set_pev(TaskEnt, pev_classname, "speedometer_think") set_pev(TaskEnt, pev_nextthink, get_gametime() + 1.01) register_clcmd("say /speed", "toogleSpeed") showspeed = register_cvar("showspeed", "1") color = register_cvar("speed_colors", "255 255 255") SyncHud = CreateHudSyncObj() maxplayers = get_maxplayers() new colors[16], red[4], green[4], blue[4] get_pcvar_string(color, colors, sizeof colors - 1) parse(colors, red, 3, green, 3, blue, 3) r = str_to_num(red) g = str_to_num(green) b = str_to_num(blue) } public Think(ent) { if(ent == TaskEnt) { SpeedTask() set_pev(ent, pev_nextthink, get_gametime() + FREQ) } } public client_putinserver(id) { plrSpeed[id] = showspeed > 0 ? true : false } public toogleSpeed(id) { plrSpeed[id] = plrSpeed[id] ? false : true return PLUGIN_HANDLED } SpeedTask() { static i, target static Float:velocity[3] static Float:speed, Float:speedh for(i=1; i<=maxplayers; i++) { if(!is_user_connected(i)) continue if(!plrSpeed[i]) continue target = pev(i, pev_iuser1) == 4 ? pev(i, pev_iuser2) : i pev(target, pev_velocity, velocity) speed = vector_length(velocity) speedh = floatsqroot(floatpower(velocity[0], 2.0) + floatpower(velocity[1], 2.0)) set_hudmessage(r, g, b, -1.0, 0.6, 0, 0.0, FREQ, 0.01, 0.0) ShowSyncHudMsg(i, SyncHud, "%3.2f units/second^n%3.2f velocity", speed, speedh) } }
- AMXX.pl: Support AMX Mod X i SourceMod
- → Przeglądanie profilu: Reputacja: swipe
- Regulamin