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
 

Halucyn - zdjęcie

Halucyn

Rejestracja: 27.06.2013
Aktualnie: Nieaktywny
Poza forum Ostatnio: 12.05.2016 09:29
-----

#636146 [ROZWIĄZANE] Funkcja sprawdzająca mapę

Napisane przez Rivit w 02.05.2014 19:20

jesli o to chodzi:
amxx.pl/dokumentacja/f111/get_mapname
  • +
  • -
  • 1


#629679 [ROZWIĄZANE] Zmiana broni na główną

Napisane przez ^Grzyboo w 01.04.2014 20:49

Event CurWeapon + client_cmd(id, "slot1")


  • +
  • -
  • 1


#436926 Tworzenie wlasnego EXP MOD'A nvault

Napisane przez sebul w 27.07.2012 12:31

#include <amxmodx>
#include <amxmisc>
#include <nvault>


new const CLASSES[][] = {
"None",
"Dog",
"Cat",
"Horse",
"Cow"
}

new const LEVELS[] = {
0,
100,
200,
400,
800,
1600,
3200
}

new PlayerXP[33], PlayerLevel[33], PlayerClass[33];
new XP_Kill, XP_Knife, XP_Hs, SaveXP, g_vault;

public plugin_init() {
register_plugin("XpMod", "1.0", "Fxfighter");

register_event("DeathMsg", "eDeath", "a");

SaveXP = register_cvar("SaveXP", "1");
XP_Kill = register_cvar("XP_per_kill", "20");
XP_Hs = register_cvar("XP_hs_bonus", "20");
XP_Knife = register_cvar("XP_knife_bonus", "20");
g_vault = nvault_open("animod");

register_clcmd("say /class", "ChangeClass");
register_clcmd("say_team /class", "ChangeClass");
register_clcmd("say /xp", "ShowHud");
register_clcmd("say_team /xp", "ShowHud");
}

public eDeath() {
new attacker = read_data(1);
new iVictim = read_data(2);

if(!is_user_connected(attacker) || !is_user_connected(iVictim))
return;

if(attacker == iVictim) // mozna tez dodac sprawdzanie druzyn
return;

new headshot = read_data(3);
new weaponname[32];
read_data(4, weaponname, 31);

if(equal(weaponname, "grenade")) {
format(weaponname, 31, "weapon_he%s", weaponname);
}
else if(!equal(weaponname, "weapon_", 7))
format(weaponname, 31, "weapon_%s", weaponname);

new weapon = get_weaponid(weaponname);

PlayerXP[attacker] += get_pcvar_num(XP_Kill);

if(headshot)
PlayerXP[attacker] += get_pcvar_num(XP_Hs);

if(weapon == CSW_KNIFE)
PlayerXP[attacker] += get_pcvar_num(XP_Knife);

new bool:zdobyl, bool:stracil;
while(PlayerXP[attacker] >= LEVELS[PlayerLevel[attacker]])
{
++PlayerLevel[attacker];
zdobyl = true;
}
while(PlayerXP[attacker] < LEVELS[PlayerLevel[attacker]])
{
--PlayerLevel[attacker];
stracil = true;
}
if(stracil) {
client_print(attacker, print_chat, "Spadles do %i poziomu!", PlayerLevel[attacker]);
}
else if(zdobyl) {
client_print(attacker, print_chat, "Awansowales do %i poziomu!", PlayerLevel[attacker]);
}
ShowHud(attacker);
SaveData(attacker);
}

public ShowHud(id) {
set_hudmessage(255, 0, 0, 0.75, 0.01, 0, 6.0, 15.0);
show_hudmessage(id, "Level: %i^nXP: %i^nClass: %s", PlayerLevel[id], PlayerXP[id], CLASSES[PlayerClass[id]]);

return PLUGIN_HANDLED;
}

public ChangeClass(id) {
new menu = menu_create("Class Menu", "Class_Handle");

new ile = sizeof(CLASSES);
for(new i=1; i<ile; ++i)
menu_additem(menu, CLASSES[i]);

menu_display(id, menu);

return PLUGIN_HANDLED;
}

public Class_Handle(id, menu, item) {
if(item++ == MENU_EXIT) {
menu_destroy(menu);
return PLUGIN_HANDLED;
}

if(PlayerClass[id] != item) {
PlayerClass[id] = item;
client_print(id, print_chat, "You are now a %s", CLASSES[item]);
}
else {
client_print(id, print_chat, "You are alredy a %s", CLASSES[item]);
}

menu_destroy(menu);
return PLUGIN_HANDLED;
}

public client_authorized(id) {
PlayerXP[id] = 0;
PlayerLevel[id] = 1;
PlayerClass[id] = 0;

if(get_pcvar_num(SaveXP) == 1)
LoadData(id);
}

public client_disconnect(id) {
if(get_pcvar_num(SaveXP) == 1)
SaveData(id);

PlayerXP[id] = 0;
PlayerLevel[id] = 1;
PlayerClass[id] = 0;
}

public SaveData(id) {
if(g_vault == INVALID_HANDLE)
return;

new AuthID[32]; get_user_authid(id, AuthID, 31);

new vaultkey[64], vaultdata[128];
format(vaultkey, 63, "%s-Mod", AuthID);
format(vaultdata, 127, "%i %i", PlayerXP[id], PlayerLevel[id]);
nvault_set(g_vault, vaultkey, vaultdata);
}

public LoadData(id) {
if(g_vault == INVALID_HANDLE)
return;

new AuthID[32]; get_user_authid(id, AuthID, 31);

new vaultkey[64], vaultdata[128];
format(vaultkey, 63, "%s-Mod", AuthID);
if(nvault_get(g_vault, vaultkey, vaultdata, 127)) {
new playerxp[11], playerlevel[11];
parse(vaultdata, playerxp, 10, playerlevel, 10);

PlayerXP[id] = str_to_num(playerxp);
PlayerLevel[id] = str_to_num(playerlevel);
}
}

Według mnie, tak powinna wyglądać całość (mniej niż 200 linijek :D).
  • +
  • -
  • 12


#616065 [ROZWIĄZANE] Poświata broni

Napisane przez DarkGL w 14.02.2014 15:07

Niestety bez modyfikowania modelu nie i to modyfikowania z ogromnymi ograniczeniami


  • +
  • -
  • 1


#612935 [ROZWIĄZANE] Funkcja wczytująca nick i porównanie

Napisane przez sebul w 07.02.2014 14:42

get_user_name i contain.


  • +
  • -
  • 1


#612026 [ROZWIĄZANE] Podkładanie/rozbrajanie event

Napisane przez rydy171 w 02.02.2014 02:16

#include <csx>
public bomb_planted(planter)
public bomb_defusing(defuser)

  • +
  • -
  • 2


#611579 Amnestia

Napisane przez DarkGL w 01.02.2014 09:59

Związku ze zmianą własciciela forum o raz administracji postanowiliśmy ( w sumie już zgodnie z tradycją ) dać możliwość osobom zbanowanym poprawy się i powrotu na forum.

 

Osoby które zgłoszą się do mnie zostaną odbanowane lub dostaną możliwość stworzenia nowego konta.

 

Użytkownicy którzy posiadają kilka kont proszeni są o korzystanie tylko z jednego konta i zgłoszenie tego administracji. Konta z które należą do różnych osób a korzysta się z nich na tym samym komputerze np. rodzeństwo też należy zgłaszać.


  • +
  • -
  • 16


#610600 [ROZWIĄZANE] Menu z wartościami z tablicy

Napisane przez Rivit w 29.01.2014 11:28

new cos[60]
formatex(cos, 59, "Wartosc wynosi %i", Tablica[id])
menu_additem(menu, cos)

Na szybko


  • +
  • -
  • 1


#609728 [ROZWIĄZANE] Pobranie danych z tablicy

Napisane przez DarkGL w 27.01.2014 10:52

Zmiennej typu const nie możesz ponownie ustawiać wartości
  • +
  • -
  • 1


#609726 [ROZWIĄZANE] Pobranie danych z tablicy

Napisane przez dasiek w 27.01.2014 10:50

Po pierwsze = to przypisanie wartości. == to sprawdzenie czy jest równe. Poza Tym jak chcesz się odwołać do "abc" z Tablicy Zmienna[] która jest drugim elementem wpiszesz Zmienna[1] gdyż indexowanie tablicy zaczyna się od zera (chcę drugi element więc 2 - 1 = 1 , chcę 1 element więc 1-1 = 0 , chce 100 element tablicy więc 100-1 = 99)


  • +
  • -
  • 1


#609196 [ROZWIĄZANE] Z SID'a na Nick

Napisane przez Niide w 25.01.2014 17:55

Tak, zmieniasz wtedy to:

new AuthID[35] get_user_authid(id,AuthID,34)

Na to:

new nick[32];
get_user_name(id, nick, 31);

I zmieniasz to:

format(vaultkey,63,"%s-Mod",AuthID) 

Na to:

format(vaultkey,63,"%s-Mod",nick) 

Zmieniasz to w zapisie i odczycie.


  • +
  • -
  • 1


#608781 [ROZWIĄZANE] Zmiana modelu broni i jej dodanie

Napisane przez Droso w 24.01.2014 15:15

1. http://amxx.pl/topic...e-modeli-broni/

2. http://amxx.pl/topic...ive-item-speed/ ( Funkcja: give_item )

 

 

P.S Temat lekko podpada pod regulamin, bo nie nazywasz go zgodnie z jego treścią słowo "Broń" dużo nie mówi, zobaczymy jak spojrzy na to moderator. :D


  • +
  • -
  • 2


#608772 [ROZWIĄZANE] Wyświetlanie nicku

Napisane przez DarkGL w 24.01.2014 14:46

client_print(id, print_chat , "%s Spojrz za siebie!" , tablica );

  • +
  • -
  • 1


#608062 [ROZWIĄZANE] Czas jakiejś funkcji

Napisane przez DarkGL w 22.01.2014 12:40

http://amxx.pl/topic...unkcje-czasowe/

 

http://amxx.pl/topic...asek-ladowania/


  • +
  • -
  • 2


#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  1393 Ilość pobrań

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

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

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