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
 

LogiCC :D - zdjęcie

LogiCC :D

Rejestracja: 11.08.2010
Aktualnie: Nieaktywny
Poza forum Ostatnio: 27.04.2012 13:10
-----

#259020 Brak Bytów

Napisane przez Muzzi w 15.06.2011 10:09

Wydaje mi się że to jest problem z plikiem .fgd . Prawdopodobnie jest zepsuty albo źle go wgrałeś . Sprawdź czy jest dobrze wgrany . Jak to nie pomoże to spróbuj wgrać inny plik fgd .
  • +
  • -
  • 1


#222507 1/x z kilku broni

Napisane przez ParadisO w 06.03.2011 20:05

Dzisiaj zastanawiałem się jak zrobić item 1/x, żeby dla 2 broni była ta sama wartość (jak w COD) i pomógł mi FreZZy.
Nie chce, żeby ktoś jeszcze miał z tym problemy więc piszę poradnik (mój 1 na tym forum).

Najpierw tworzymy item 1/x z danej broni według tego poradnika
[Tutorial] Itemy 1/1 - AMXX.pl: Support AMX Mod X

Zrobię przykład na broni gail/famas

W swoim itemie dodajemy coś takiego :
 new razem
razem = random_num(X,Y)
player_b_gail[id] = razem
player_b_famas[id] = razem


X;Y - od ilu do ilu np: (14,24)

Całość powinna wyglądać tak
case Z:
{
player_item_name[id] = "Pogromca"
player_item_id[id] = random
new razem
razem = random_num(14,24)
player_b_gail[id] = razem
player_b_famas[id] = razem
show_hudmessage (id, "Znalazles przedmiot : %s :: Masz 1/%i szans na natychmiastowe zabicie z Gail/Famas.",player_item_name[id],razem)
}

Z - numer itemu

Nie sprawdzałem czy to działa na serwerze.

Jestem otwarty na wszelkie uwagi.
  • +
  • -
  • 5


#149988 [Diablo Mod] Diablo 5.9l Nowy

Napisane przez patryk1345 w 07.07.2010 10:51

Diablo Mod 5.9l Poprawiony i edytowany !


Dołączona grafika

Archiwum Diablo.rar (Download na samym końcu postu) rozpakuj i wrzuć zawartość na serwer

Wejdź amxmodx/configs/ i w plugins.ini dopisz na samym końcu:
diablo_200.amxx
diablo_daj_wez.amxx

Dołączona grafika

addons/amxmodx/configs/amxx.cfg:
diablo_xpbonus 20 //Ilość expa za zabicie (standardowo ustawione na 7)
diablo_xpbonus2 40 //Ilość expa za wykonania celu mapy (standardowo ustawione na 75)
diablo_xpbonus3 20 //Okresla ile dosw. dostajesz za wygranie rundy przez twoj team
diablo_durability 1 //Okresla ilosc tracenia jakosci za każdym razem,kiedy uderzy cie przeciwnik
diablo_spawnchance 7 //1/x - szansa na zrespienia gracza
SaveXp 1 //1/0 zapisywanie doświadczenia
diablo_classes abcdefghijkl //które klasy maja być dostępne
diablo_avg 0 //zaczynanie od sredniej serwera (liczonego od lvl 1)
diablo_dmg_exp 0 //za ile zabranego hp wrogowi dostaje sie 1 exp (domyslnie 20, 0 - off)
addons/amxmodx/configs/sql.cfg
diablo_sql_host "Adres bazy MySQL"
diablo_sql_user "Użytkownik bazy"
diablo_sql_pass "Hasło użytkownika"
diablo_sql_database "Nazwa bazy danych"
diablo_sql_table "dbmod"
diablo_sql_save "Zapis bazy 0-2"

0 - Nick
1 - IP
2 - STEAMID

Dołączona grafika

Dodatki:
- Naświetlanie Ninja
- Wskrzeszanie Nekromanty zależne od inta
- Komenda /daj
- Doświadczenie za wygraną runde
- Komenda /exp
- Frakcje (Darmowe i Premium)
- Zablokowane rozwalanie bsow
- Naprawa oslepienie przeciwnika
- Naprawa LJ
- Poprawa spamu przy wejsciu na serwer
- Komenda na dawanie dośw. amx_givexp <nick> <exp>
- Naprawa Arabian Boots
- Naprawa mocy pistoletowych
- Naprawa dawania dośw przez zabicie 1/x HE
- Naprawa "leczacej" miny
- Błąd w logach - set_user_frags i get_user_maxspeed
- Nowe klasy:
a) Imperator - 110 HP (Po naładowaniu nożu - 1/5 HE)
B) Duch - 130 HP (Po naładowaniu nożu - Redukcja obrażen i lekka niewidzialność)
c) Ezreal - 120 HP (Po naładowaniu nożu - Większy dmg i speed)
d) Skoczek - PREMIUM, 150 HP (Po naładowaniu nożu - Funkcja wingow +6)
- Poprawione wszelkie błędy dot. zwiększenia max lv

Niedługo:
- Nowe itemki
- Nowe klasy
- Nowe moce
- Nowe modele oraz dźwięki !
- Nowy sklep

Dołączona grafika

/komendy (pokazuje wszystkie komendy diablomoda)
/pomoc (tego chyba nie muszę tłumaczyć)
/czary (pokazuje menu z statystykami)
/rune (pokazuje menu sklepu możemy w nim ulepszać rożne przedmioty lub kupić księgę doświadczenia)
/reset (resetuje wszystkie punkty rozdane w statystykach)
/klasa (dzięki tej komendzie możemy zmienić swoja klasę)
/item lub /przedmiot (pokazuje informacje na temat przedmiotu tzn co robi itp.)
/drop (wyrzuca przedmiot)
/savexp (zapisywanie doświadczenia)
/klasy (wyświetla opis postaci)
/exp (Pokazuje ile expa posiadamy oraz ile nam brakuje)


Download:
http://www.sendspace...9b3fe7073112792



Zakaz kopiowania bez zgody autora.
Stworzone na bazie Diablo Mod 5.9l przy użyciu dost. poradników.


  • +
  • -
  • 35


#158759 Błąd w kompilacji

Napisane przez Knopers w 09.08.2010 20:38

Zamiast tej jednej długiej linijki wstaw:

new len = format(text2, 511,"\yWybierz klase/r^n\w1. \yCzarodziejka Level :\r%i^n2. \yDruid Level :\r%i^n3. \yPaladyn Level :\r%i^n4.\yZabojczyni Level :\r%i^n4.\y", player_class_lvl[id][9],player_class_lvl[id][10],player_class_lvl[id][11],player_class_lvl[id][12]);
len += format(text2[len], 511 - len,"Nekromanta Level :\r%i^n4.\yBarbarzynca Level :\r%i^n4.\ySkrytobojca Level :\r%i^n4.\yAmazonka Level :\r%i^n^n0.\yWstecz do menu wyboru^n",player_class_lvl[id][13],player_class_lvl[id][14],player_class_lvl[id][15], player_class_lvl[id][16]);

  • +
  • -
  • 2


#31631 Warunki.

Napisane przez darkman w 31.12.2008 15:10

Niżej opisze jak używać w kodzie metody, która zastępuje operator 'if' jednocześnie zaoszczędzając miejsca w danym skrypcie.
Standardowo, jeżeli chcemy, żeby podczas gdy coś zachodzi wykonała się jakaś funkcja używamy operatora
if(warunek)
            wykonaj_funkcje();

Przykład kodu:

#include <amxmodx>

public plugin_init()
{
	register_plugin("Tutorial", "Tutorial", "Tutorial");
	register_clcmd("test", "cmd_test");
}

public cmd_test(id){
	if(is_user_alive(id))
		client_print(id, print_chat, "Jestes zywy");
	else client_print(id, print_chat, "Jestes martwy");
}

-----------------------------------------------------------------------------------------------------------------------------------------------------------------
Napisany kod drukuje na chacie graczowi czy jest żywy lub martwy przy wpisaniu w konsoli komendy test. Nie chodzi jednak o sam kod i co on wywołuje, tylko o to jak prosto można zastąpić operator if(). Mianowicie można użyć formułki:

warunek ? jeżeli zwraca true(1) wykonaj xx : kiedy zwraca false wykonaj zz

Przykład kodu:
#include <amxmodx>

public plugin_init()
{
	register_plugin("Tutorial", "Tutorial", "Tutorial");
	register_clcmd("test", "cmd_test");
}

public cmd_test(id){
	is_user_alive(id) ? client_print(id, print_chat, "Jestes zywy") : client_print(id, print_chat, "Jestes martwy");
}

W istocie kod działa tak samo jak pierwszy, tylko jego struktura jest troche inna. Nie ogranicza się to tylko do funkcji zwracających 0 lub 1, można tego też użyć w inny sposób np:

warunek == 2 ? client_print(id, print_chat, "Zmienna warunek ma wartość 2") : client_print(id, print_chat, "Zmienna warunek ma wartość inną niż 2")

Zachęcam do używania tej metody.
  • +
  • -
  • 2


#215248 Easy End Round Sounds

Napisane przez DarkGL w 12.02.2011 21:59

opis.png

Nowa wersja http://amxx.pl/topic...end-round-sound

Pewnie niektórzy powiedzą że jest już coś takiego a no jest biggrin.gif
czym wyróżnia się ten plugin ?

  • Optymalny
  • Opcja pokazywania playlisty
  • Łatwość dodawania nowych utworów (żadnego dodawania do pliku .ini plugin sam to robi !)
  • Cvary pozwalają naprawdę dużo zmienić wink.gif
  • Informacje dla graczy o granym utworze (4 sposoby wysyłania wiadomości można je łączyć smile.gif )
  • Obsluga wav i mp3 (moga byc pomieszane)
  • Możliwość wyboru czy plugin ma iść po kolei czy losować grany utwór

piszcie co dodać/zmienić w pluginie
@Update

  • Drobny bug

@Update2

  • Naprawa drobnego bugu
  • Dodanie możliwości wybrania kanałów wysyłania wiadomości o granym utworze
  • Poprawki estetyczne

@Update 3

  • Dodanie menu przy komendzie /roundsound
  • Dodanie możliwości tworzenia playlisty przez usera (roundsound_playlist_on)

@Update 4

  • Filtracja utwórów wcześniej wczytywało wszystko nie tylko pliki mp3/wav

@Update 5

  • Nazwy plikow moga mieć w sobie spacje wczesniej nie mogly

@Update 6

  • Naprawa bugów

@Update 7

  • Drobne Zmiany

cvary.png



//tag widoczny przy komunikatach wysyłanych przez plugin
roundsound_tag AMXX.PL
//w jaki sposob ma wysylac informacje o granym utworze a - center b - hud c - status text mozna laczyc np ab - pokaże w hudzie i center jeśli podamy nic nie wyświetli sie nigdzie
roundsound_information_play abc
//jak czesto ma sie pojawiac info o dostepnych komendach ustawienie na 0 wyłącza pokazywanie informacji
roundsound_information_show 300
//sciezka do folderu z muzyka dla CT podajemy bez sound/ wazna jest wielkosc liter
roundsound_ct_path misc/CT
//sciezka do folderu z muzyka dla TT podajemy bez sound/ wazna jest wielkosc liter
roundsound_tt_path misc/TT
// 0 - nie mozna uzyc komendy /playlista 1 - mozna plugin sam generuje playliste 2 - mozna admin musi stworzyc playliste (folder configs pliki ctplaylist.txt i ttplaylist.txt)
roundsound_playlist_on 1
//czy mozna uzyc komendy /roundsound pozwalajace na graczowi na wylaczenie/wlaczenie dla siebie roundsounda
roundsound_roundsound_on 1
//ma odgrywac utwory po kolei czy losowo 0 - po kolei 1 - losowo
roundsound_mode 0

komendy.png
w czacie
/roundsound
i
/playlista
inneinformacje.png
Dodawanie utworow do grania odbywa sie poprzez wrzucenie pliku do folderów do których podalismy sciezke w cvarach inlove.gif
Jeśli chcemy wysyłać poprzez tutor musimy wrzucić pliki która są w archiwum tutor.rar smile.gif
ss.png
thumb_amxx_1297543853__beztytulu.jpg
thumb_amxx_1297544008__cs_assault0001.jp
thumb_amxx_1297699983__de_contra0000.jpg
thumb_amxx_1297617656__cs_assault0001.jp
(włączone wszystkie flagi tutor został usunięty)
download.png
Załączony plik  sound.rar   2,27 MB  9566 Ilość pobrań

Załączony plik  roundsound.sma   10,21 KB  9467 Ilość pobrań
  roundsound.amxx


  • +
  • -
  • 92


#216597 Moc trzęsienie ekranu

Napisane przez Jagoda w 17.02.2011 08:34

Dzisiaj pokaże jak zrobić moc która trzęsie ekranem przeciwnika
no to jazda


znajdz

new player_b_illusionist[33] = 1

dodaj pod

new player_b_shake[33] = 1

znajdz

new player_dmg[33]

dodaj pod

new c_shake[33]

znajdz

add_bonus_redirect(id)

dodaj pod

add_bonus_shake(attacker_id,id)

znajdz

player_b_sniper[id] = 0

dodaj pod

player_b_shake[id] = 0

znajdz

if (player_b_explode[id] > 0)
{
num_to_str(player_b_explode[id],TempSkill,10)
add(itemEffect,199,"Gdy umierasz wybuchniesz w promieniu ")
add(itemEffect,199,TempSkill)
add(itemEffect,199," zadaje 75 obrazen wokol ciebie - im wiecej masz inteligencji tym wiekszy zasieg wybuchu<br>")
}

dodaj pod

if (player_b_shake[id] > 0)
{
num_to_str(player_b_shake[id],TempSkill,10)
add(itemEffect,199,"Masz 1/")
add(itemEffect,199,TempSkill)
add(itemEffect,199,"Ze przciwnikowi zacznie sie trzesc ekran<br>")
}

znajdz

case 68:
{
player_item_name[id] = "Ultra Armor"
player_item_id[id] = 68
player_ultra_armor[id]=random_num(7,11)
player_ultra_armor_left[id]=player_ultra_armor[id]
show_hudmessage (id, "Znalazles przedmiot : %s :: Twoj pancerz moze odbic do %i pociskow",player_item_name[id],player_ultra_armor[id])
}

dodaj pod

case 69:
{
player_item_name[id] = "Trzesienie"
player_item_id[id] = rannum
player_b_shake[id] = random_num(2,4)

show_hudmessage(id, "Znalazles przedmiot: %s :: Masz 1/%i ze przeciwnikowi zacznie sie trzesc ekran",player_item_name[id],player_b_shake[id])

}

znajdz

new rannum = random_num(1,68)

zamien na

new rannum = random_num(1,69)

znajdz

public add_bonus_darksteel(attacker,id,damage)
{
if (player_b_darksteel[attacker] > 0)
{
if (UTIL_In_FOV(attacker,id) && !UTIL_In_FOV(id,attacker))
{

new dam = floatround (15+player_strength[id]*2*player_b_darksteel[id]/10.0)

Effect_Bleed(id,248)
change_health(id,-dam,attacker,"world")
}
}
}

pod dodaj

public add_bonus_shake(attacker_id,id)
{
if((player_b_shake[attacker_id] > 0)||c_shake[attacker_id] > 0) && get_user_team(attacker_id) != get_user_team(id) && is_user_alive(id))
{
if (random_num(1,player_b_shake[attacker_id]) == 1)
{
message_begin(MSG_ONE,get_user_msgid("ScreenShake"),{0,0,0},id);
write_short(7<<14);
write_short(1<<13);
write_short(1<<14);
message_end();
}
else if (random_num(1,c_shake[attacker_id]) == 1)
{
message_begin(MSG_ONE,get_user_msgid("ScreenShake"),{0,0,0},id);
write_short(7<<14);
write_short(1<<13);
write_short(1<<14);
message_end();
}
}
return PLUGIN_HANDLED
}

w public select_class_menu(id, key) po g_haskit[id] = 0 dodaj

c_shake[id] = 0

a w klasie naprzyklad

case 5:
{
player_class[id] = Barbarzynca
LoadXP(id, player_class[id])
}

dodaj

case 5:
{
player_class[id] = Barbarzynca
c_shake[id] = 3 ///to wtedy bedzie 1/3 szans
}

Dziekuje za uwagę !!


#216601 Moc wyrzucenie broni przeciwnikowi

Napisane przez Jagoda w 17.02.2011 08:48

Witam dziś pokaże jak zrobić item + moc dla klasy która wyrzuca broń przeciwnikowi
no to zaczynamy

znajdz

new player_b_mine[33] = 1

dodaj pod
znajdz

new player_b_drop[33] = 1

znajdz

new player_dmg[33]

pod dodaj

new c_drop[33]

znajdz

player_b_mine[id] = 0

dodaj pod

player_b_drop[id] = 0

znajdz

if (player_b_explode[id] > 0)
{
num_to_str(player_b_explode[id],TempSkill,10)
add(itemEffect,199,"Gdy umierasz wybuchniesz w promieniu ")
add(itemEffect,199,TempSkill)
add(itemEffect,199," zadaje 75 obrazen wokol ciebie - im wiecej masz inteligencji tym wiekszy zasieg wybuchu<br>")
}

dodaj pod

if (player_b_drop[id] > 0)
{
num_to_str(player_b_drop[id],TempSkill,10)
add(itemEffect,199,"Masz 1/")
add(itemEffect,199,TempSkill)
add(itemEffect,199,"Na wyrzucenie broni przeciwnikowi<br>")
}

znajdz

case 68:
{
player_item_name[id] = "Ultra Armor"
player_item_id[id] = 68
player_ultra_armor[id]=random_num(7,11)
player_ultra_armor_left[id]=player_ultra_armor[id]
show_hudmessage (id, "Znalazles przedmiot : %s :: Twoj pancerz moze odbic do %i pociskow",player_item_name[id],player_ultra_armor[id])
}

pod dodaj

case 69:
{
player_item_name[id] = "Wywal bron"
player_item_id[id] = rannum
player_b_drop[id] = random_num(4,8)

show_hudmessage(id, "Znalazles przedmiot: %s :: Masz 1/%i Szans Na wrzucenie broni przeciwnikowi",player_item_name[id],player_b_drop[id])

}

znajdz

new rannum = random_num(1,68)

zamien na
znajdz

new rannum = random_num(1,69)

znajdz

public add_bonus_darksteel(attacker,id,damage)
{
if (player_b_darksteel[attacker] > 0)
{
if (UTIL_In_FOV(attacker,id) && !UTIL_In_FOV(id,attacker))
{

new dam = floatround (15+player_strength[id]*2*player_b_darksteel[id]/10.0)

Effect_Bleed(id,248)
change_health(id,-dam,attacker,"world")
}
}
}

pod dodaj

public add_bonus_drop(attacker_id,id)
{
if(player_b_drop[attacker_id] > 0||c_drop[attacker_id] > 0&& get_user_team(attacker_id) != get_user_team(id) && is_user_alive(id))
{
if (random_num(1,player_b_drop[attacker_id]) == 1)
engclient_cmd(id, "drop")
else if (random_num(1,c_drop[attacker_id]) == 1)
engclient_cmd(id, "drop")
}
return PLUGIN_HANDLED
}

znajdz

if(player_b_sniper[id]>0)
{
if(player_b_sniper[id]>5) player_b_sniper[id]-=random_num(0,2)
else if(player_b_sniper[id]>2) player_b_sniper[id]-=random_num(0,1)
else if(player_b_sniper[id]>1) player_b_sniper[id]-=random_num(-1,1)
}

pod dodaj

if(player_b_drop[id]>0)
{
if(player_b_drop[id]>5) player_b_drop[id]-=random_num(0,2)
else if(player_b_drop[id]>2) player_b_drop[id]-=random_num(0,1)
else if(player_b_drop[id]>1) player_b_drop[id]-=random_num(-1,1)
}

Teraz w public select_class_menu(id, key){
po

g_haskit[id] = 0

dodaj

c_drop[id] = 0

Teraz w klasie np

case 2:
{
player_class[id] = Paladyn
}

dodaj c_drop[id] = 3 ///moc bedzie 1/3 szans

[sma]
case 2:
{
player_class[id] = Paladyn
c_drop[id] = 3
}

Dziekuje za uwagę jeśli coś nie działa proszę pisać w poście :D


#210975 Jak zwiększyć szybkość lotu

Napisane przez sebul w 30.01.2011 13:04

Kusza - cvar "diablo_arrow_speed" (domyślnie jest na 1500)
Fireball
W "public item_fireball(id)" znajdź
VelocityByAim(id, 500, fl_iNewVelocity)

i "500" zamień na swoje, im większa wartość tym szybszy będzie fireball.
  • +
  • -
  • 3


#195217 [Tutorial dla początkujących] Ruletka

Napisane przez dasiek w 10.12.2010 15:44

Siemanko :)

Chciałbym wam pokazać jak w łatwy sposób każdy może napisać własną Rultekę na serwer.;)
Więc na początku :
Definiujemy biblioteki z których mają być pobierane komenty. W amxx studio z automatu jest to
#include <amxmodx>
#include <amxmisc>

jednak nie wystarczą nam one więc dodamy jeszcze :D
Polecam:

#include <fun> <-Sprawy związane z graczem (jego życiem,kamizelką,grawitacją,szybkością itp)
#include <cstrike> <-Podobne co wyżej tylko "Trudniejsze" xd




początek Pluginu (dla tych co korzystają z notatnika w amxx studio jest z automatu to) :


#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <cstrike>
#include <fakemeta>
#include <engine>

#define PLUGIN "Ruletka_Tutek" //<-Nazwa Pluginu
#define VERSION "1.28" //<-Wersja (tak dla szpanu dodany że niby zpachowana itp)
#define AUTHOR "CheQ" //<- Autro pluginu


public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR); // <- To jest po to by 2 raz nie wprwoadzac Danych o Pluginie
}


Bez public_init plugin nam nie będzie działał więc nie usuwamy go xD

Zaczynamy główne pisanie :D

w public_init() dodajemy linijke która będzie nam przywoływać ruletke gdy gracz wpisze w
say'u np /rulecia
Dodajemy:

register_clcmd("say /rulecia","rulecia");


W pierwszych cudzysłowiach określamy co dany gracz musi wpisać W KONSOLI żeby uruchomić rulecie
(dlatego piszemy say /rulecia gdyż mamy ten sam efekt jakbyśmy pisali w czacie)
dla lepszego działania określimy to żeby odpalało naszą rulecie jak gracz będzie pisał do teamu

register_clcmd("say_team /rulecia","rulecia");


i oto jakieś 10 % roboty xD

czas na pisanie głównego programu
zamykającej klamerze ("}") dajemy ENTER żeby nasz plugin ładniej wyglądał
i piszemy funkcje rulecia

public rulecia(id)
{
//Tu będzie kod naszej funkcji rulecia
}

Gdybyśmy Tego nie zrobili nie zapisalibyśmy bo ponieważ nie znalazłoby funkcji "rulecia" którą zadeklarowaliśmy
gdy gracz wpisze w czacie /rulecia.

dopisaliśmy (id) po to, by ruletka była losowana dla pojedyńczego gracza a nie dla całego serwera.
Teraz element Losowania. Służy do tego komenda:

switch(random_num(1, 4)) // swich()-wybierz, Random_num()-spomiędzy
{
//kod
}

w ten oto sposób nasza ruletka będzie miała 4 elementy
aby dodać więcej elementów piszemy np dla 500 elementów:

switch(random_num(1, 500))
{
//kod
}

czas opisać co ma losować.

po klamerkach otwierających piszemy numer i dalej co ma robić jeśli go wylosuje.

switch(random_num(1, 4))
{
case 1 :
{
//Kod
}
}

Opiszemy Teraz że jedną z naszych atrakcji na ruletce jest ustawienie HP do 1 :)

switch(random_num(1, 4))
{
case 1 :
{
client_print(id,print_chat,"Masz 1 HP"); // Client print i print chat ustawia nam że
graczowi zostaje (w tym przypadku) wypisanie
Masz 1 HP
set_user_health(id,1); // ustawia graczowi HP na 1 (pierwsza wartość-konkretny gracz a nie
cały serwer a druga to ilość HP

}


Jak nie ma błędów przy zapisywaniu jest dobrze :D

teraz coś o Dodawaniu czegoś. Robimy to za pomocą komendy

give_item(id,"przedmiot");


np przy wyborze numeru 2 gracz dostanie m4 :)

Kod:

c
ase 2:
{
client_print(id,print_chat,"Dostajesz M4");
give_item(id,"weapon_m4a1");
//dodajmy tez magazynek xd
give_item(id, "ammo_556nato");
}


i gracz po wylosowaniu dostanie M4.
Gdy napiszemy
case 3:
{
client_print(id,print_chat,"Masz Pecha");

}

gracz nie dostanie nic. Wyskoczy mu na chacie że ma pecha. :)

na 4 rzecz wpadniecie sami :)
Teraz zakończymy losowanie klamrą


switch(random_num(1, 4))
{
case 1 :
{
client_print(id,print_chat,"Masz 1 HP"); // Client print i print chat ustawia nam że
graczowi zostaje (w tym przypadku) wypisanie
Masz 1 HP
set_user_health(id,1); // ustawia graczowi HP na 1 (pierwsza wartość-konkretny gracz a nie
cały serwer a druga to ilość HP

}
case 2:
{
client_print(id,print_chat,"Dostajesz M4");
give_item(id,"weapon_m4a1");
//dodajmy tez magazynek xd
give_item(id, "ammo_556nato");
}
case 3:
{
client_print(id,print_chat,"Masz Pecha");

}
} // <-o Ta!


i cały public rulecia też. Nasz plugin wygląda tak :)

#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <cstrike>
#include <fakemeta>
#include <engine>

#define PLUGIN "Ruletka_Tutek"
#define VERSION "1.28"
#define AUTHOR "CheQ"


public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR);
register_clcmd("say /rulecia","rulecia");
register_clcmd("say_team /rulecia","rulecia");
}
public rulecia(id)
{
switch(random_num(1, 4))
{
case 1 :
{
client_print(id,print_chat,"Masz 1 HP");
set_user_health(id,1);


}
case 2:
{
client_print(id,print_chat,"Dostajesz M4");
give_item(id,"weapon_m4a1");

give_item(id, "ammo_556nato");
}
case 3:
{
client_print(id,print_chat,"Masz Pecha");

}
case 4:
{
client_print(id,print_chat,"Masz 100 HP");
set_user_health(id,100);

}
}
}


Nie wiem jak wam ale mi się Skompilowało bez błędów.
aby ruletke rozbudować polecam poczytać o operacjach na graczu naprawde jest z Tym fajna zabawa. :)

Tutorial Wykonany przez CheQ. (Hakuna Matata xD)
Kopiowanie i rozpewszechnianie dozwolane jedynie z podpisem autora.

Jest to mój pierwszy tutorial więc proszę nie pisać rzeczy w stylu "po co to i dlaczego" czy coś. Komuś to się może przydać ;)
  • +
  • -
  • 25


#209439 System Many, Punktów, Złota

Napisane przez dRaq w 25.01.2011 23:48

Krótko, zwięźle, 1 Kill = 1 Pkt
Żeby to miało jakiś sens proponuję dorobić do tego sklep
Kod w "znajdź" oparty jest na czystej wersji bez dodatków
Zapis MySQL

Dodanie zmiennej:
Spoiler

Tworzenie komórek w tabeli:
Spoiler

Zapis:
Spoiler

Odczyt z tabeli:
Spoiler

Dodanie 1 pkt po zabiciu:
Spoiler

Hud z ilością PKT:
Spoiler

Możliwe że o czymś zapomniałem, bo jest późno i chce mi się spać -.-
Jako że Wy na początku pomagaliście mi, to ja postanowiłem zrobić coś dla Was :D

Sklep by KariiO:
Kliknij Dołączona grafika, aby podziękować KariiO
Spoiler

  • +
  • -
  • 21


#209450 System Many, Punktów, Złota

Napisane przez KariiO w 26.01.2011 01:27

Jak by ktoś chciał ułatwienie do sklepu możesz dodać do tuta:
Standardowy sklep używa funkcji od pobierania takiej:
public bool:UTIL_Buyformoney(id,amount)
{
	if (cs_get_user_money(id) >= amount)
	{
		cs_set_user_money(id,cs_get_user_money(id)-amount)
		return true
	}
	else
	{
		hudmsg(id,2.0,"Nie masz tyle zlota !")
		return false
	}
	
	return false
}
Nowy sklep za np. mane:
public UTIL_Buyformana(id,amount)
{
	if (mana[id] >= amount)
	{
		mana[id]-=amount
		return true
	}
	else
	{
		hudmsg(id,2.0,"Nie masz tyle many !")
		return false
	}
	
	return false
}

mana[id] - zmieniamy na swoje...

I zamiast tego w norm. sklepie:
if (!UTIL_Buyformoney(id,9000))
Dajemy to:
if (!UTIL_Buyformana(id,ilosc))

Malusieńki tut jak by ktoś sam nie umiał sobie poradzić ;]
  • +
  • -
  • 8


#208934 2 Pytania

Napisane przez Dimni w 24.01.2011 15:33

W item_mine(id) masz

if (count > 2)
- zamień 2 na liczbę którą chcesz.
Natomiast jeżeli chcesz żeby liczba była zależna od player_b_mine, to zmień na:

if (count => player_b_mine[id])  	
{
hudmsg(id,2.0,"Mozesz polozyc maksymalnie %i min na runde", player_b_mine[id])
return PLUGIN_CONTINUE
}


Pisane z pamięci, sprawdź czy wszystko sie zgadza.

EDIT: Drobna poprawka.
  • +
  • -
  • 1


#208720 2 Pytania

Napisane przez dRaq w 23.01.2011 19:53

Napisałbym Ci jak to zrobić, ale gdy znajdzie się tu pełna instrukcja przestanie to być jako tako unikalne, chociaż i tak już coraz więcej tego jest. Masz w skrócie na przykładzie diablomoda

Dodajesz nową zmienną
Tworzysz tabelę w bazie i dodajesz tą zmienną do funkcji zapisu
W publicu deathmsg dodajesz aby po zabiciu dawało x pkt
Później tworzysz hud z wyświetlaniem
  • +
  • -
  • 1


#204214 Czasy Ładowania na nozu

Napisane przez Drewno. w 08.01.2011 20:29


else if(casting[id]==0)
{
new Float: time_delay = 5.0-(player_intelligence[id]/80.0)

if(player_class[id] == Ninja) time_delay*=2.0
else if(player_class[id] == Mag)
{
time_delay=time_delay = 4.0-(player_intelligence[id]/40.0)
if(player_b_fireball[id]>0) time_delay=random_float(0.5,4.0-(player_intelligence[id]/80.0))
}
else if(player_class[id] == Zabojca) time_delay*=0.0
else if(player_class[id] == Paladyn) time_delay*=1.2

cast_end[id]=halflife_time()+time_delay

new bar_delay = floatround(time_delay,floatround_ceil)

casting[id]=1

message_begin( MSG_ONE, gmsgBartimer, {0,0,0}, id )
write_byte( bar_delay )
write_byte( 0 )
message_end()
}


time_delay*=X - x to czas trwania ladowania* 5 = czyli time_delay*=1.0 = 1*5=5

jesli chcesz dac osobny czas ladowania klasie to pod
else if(player_class[id] == Paladyn) time_delay*=1.2

dodaj
else if(player_class[id] == Twoja_Klasa) time_delay*=X