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.
|
Firxenowsky
Rejestracja: 28.03.2010Aktualnie: Nieaktywny
Poza forum Ostatnio: 19.03.2013 16:52
Statystyki
- Grupa: Użytkownik
- Całość postów: 166
- Odwiedzin: 6,482
- Tytuł: Profesjonalista
- Wiek: 28 lat
- Urodziny: December 2, 1995
-
Imię
Krzysiek
-
Płeć
Mężczyzna
-
Lokalizacja
W-wa
#306001 Ktoś crashuje serwer
Posted by Kawon on 10.10.2011 18:35
#304900 Skarga na administrację
Posted by Ortega on 09.10.2011 08:47
PS. Osobiście nie byłbym zadowolony z przerobienia mojej twarzy na Adolfa ale wy tu ewidentnie robicie sobie nawzajem krzywdę, więc nie płaczcie tyle.
#304800 Skarga na administrację
Posted by mgr inż. Pavulon on 08.10.2011 23:14
Mogę zrozumieć blokowanie kolejno wszystkiego co się da na tym forum, ale jeżeli admin Hiroshima postanawia przenieść sprawę poza to forum i umieszcza w internecie moje zdjęcia przerobione na jakiegoś hitlerowca a "admin/właściciel" Marcin_ jeszcze się cieszy i daje "Lubie to" to według mnie to już podchodzi pod paragraf i tak sprawy nie zostawię.
Jak ci się tak moje zdjęcie podoba to zwal sobie i zatrzymaj takie rzeczy dla siebie.
Sorry, ale to forum jest już po uszy w gównie!
#276752 BF2 Web Staty
Posted by speedkill on 02.08.2011 17:12
oto ss :
widok z wyszukiwania :
Statystyki wszystkich :
Statystyki jednego gracza :
Teraz żeby w naszych statach wyświetlały się prawidłowo obrazki musimy
dopisać nazwę swojej strony gdzie wrzuciliśmy nasze staty
Więc otwieramy index.php (teraz część żeby obrazki działały ;] )
i dopisujemy nasz adres strony w liniach :
12 , 13 , 14 , 24 (Adres strony podajemy bez index.php )
Teraz żeby góra działała prawidłowo edytujemy linie
17 , 18 , 19 i Podajemy co tam chcemy np. link do forum
Teraz część dla ludzi którzy mają więcej odznak niż 24 i mają większy poziom niż Expert
Otwieramy index.php znajdujemy linie :
echo "<td>".$odznaki.'/24</td></tr>';i za 24 dajemy np. 32 , 48
Teraz żeby dopisać poziom większy niż Expert
Idziemy na dół naszego indexu
i znajdujemy takie coś :
<td width="100"><font size="4" style="text-shadow: 1px 1px 10px #60F; font-weight: bold; color: #FFFFFF;"><b><center>0</td> <td width="150"><font size="4" style="text-shadow: 1px 1px 10px #F90; font-weight: bold; color: #F90;"><b>Brak Odznaki</td> <tr> <td width="100px"><font size="4" style="text-shadow: 1px 1px 10px #60F; font-weight: bold; color: #FFFFFF;"><b><center>1</td> <td width="150px"><font size="4" style="text-shadow: 1px 1px 10px #F90; font-weight: bold; color: #F90;"><b>Początkujący</td> <td> <td width="100px"><font size="4" style="text-shadow: 1px 1px 10px #60F; font-weight: bold; color: #FFFFFF;"><b><center>2</td> <td width="150px"><font size="4" style="text-shadow: 1px 1px 10px #F90; font-weight: bold; color: #F90;"><b>Weteran</td> <td <td width="100px"><font size="4" style="text-shadow: 1px 1px 10px #60F; font-weight: bold; color: #FFFFFF;"><b><center>3</td> <td width="150px"><font size="4" style="text-shadow: 1px 1px 10px #F90; font-weight: bold; color: #F90;"><b>Expert</td>Jeśli chcemy do profesjonalisty to zamieniamy na :
<td width="100"><font size="4" style="text-shadow: 1px 1px 10px #60F; font-weight: bold; color: #FFFFFF;"><b><center>0</td> <td width="150"><font size="4" style="text-shadow: 1px 1px 10px #F90; font-weight: bold; color: #F90;"><b>Brak Odznaki</td> <tr> <td width="100px"><font size="4" style="text-shadow: 1px 1px 10px #60F; font-weight: bold; color: #FFFFFF;"><b><center>1</td> <td width="150px"><font size="4" style="text-shadow: 1px 1px 10px #F90; font-weight: bold; color: #F90;"><b>Początkujący</td> <td> <td width="100px"><font size="4" style="text-shadow: 1px 1px 10px #60F; font-weight: bold; color: #FFFFFF;"><b><center>2</td> <td width="150px"><font size="4" style="text-shadow: 1px 1px 10px #F90; font-weight: bold; color: #F90;"><b>Weteran</td> <td <td width="100px"><font size="4" style="text-shadow: 1px 1px 10px #60F; font-weight: bold; color: #FFFFFF;"><b><center>3</td> <td width="150px"><font size="4" style="text-shadow: 1px 1px 10px #F90; font-weight: bold; color: #F90;"><b>Expert</td> <td width="100px"><font size="4" style="text-shadow: 1px 1px 10px #60F; font-weight: bold; color: #FFFFFF;"><b><center>4</td> <td width="150px"><font size="4" style="text-shadow: 1px 1px 10px #F90; font-weight: bold; color: #F90;"><b>Profesjonalista</td>Jeśli mamy wyżej niż profesjonalista to wystarczy skopiować i zmienić nazwę i cyfrę ;]
Teraz żeby nasze Statystyki działały prawidłowo musimy podać dane do bazy mysql w pliku config
tu macie opis jak to zrobić :
/*------------------------------------------------ Info: $dbuser wpisz tam login do logowania do bazy mysql $dbpassword hasło do bazy mysql $dbname - Nazwa bazy danych $dbhost - host serwera mysql $dbtable - Tabela gdzie znajdują się odznaki itp ( domyślnie to bf2ranks ) $dbtable2 - Druga tabela żeby odczytać wszystkie odznaki zabójstwa itp (domyślnie to bf2ranks2 ) $ile - ile ma się wyświetlić graczy w ranku ------------------------------------------------------*/ <? $dbuser = "uzytkownik"; $dbpassword = "haslo"; $dbname = "nazwa bazy"; $dbhost = "host bazy danych"; $dbtable2 = "bf2ranks2"; // nazwa tabeli pierwszej $dbtable = "bf2ranks"; // nazwa tabeli drugiej $ile = "150"; ?>Teraz jeśli nie pasują wam kolory tych belek wystarczy zrobić pasek i nazwać go trow.png i wrzucić do folderu img
są to przerobione diablo web stats
To chyba wszystko ;]
Pozdrawiam speedkill
ps. Nie bijcie za kod
Attached Files
-
Web Staty BF2.rar 8.09KB 587 downloads
#284622 Klasa inżynier - Stawianie działka
Posted by A może sma? on 18.08.2011 14:32
Klasa może stawiać więcej niż jedno działko.
Klasa nie ma żadnego ograniczenia czasowego co ile można stawiać działko z prostej przyczyny - ograniczenie nie działało
#define ILOSC_DZIALEK_GRACZA 5 - tu zmieniamy ile można postawić działek
Żeby było śmieszniej klasa jest zintegrowana z HUDem - jeżeli mamy mój plugin, który wyświetla ilość pozostałych rzeczy w HUD to będą się wyświetlały pozostałe działka.
Jeżeli pluginu nie posiadamy to nic złego dziać się nie będzie.
Opcja w menu Zniszcz wszystkie działka niszczy wszystkie działa oraz przywraca ich ilość możliwą do postawienia
Attached Files
-
codclass_inzynier_multi.sma 18.33KB 162 downloads
codclass_inzynier_multi.amxx
#288418 AutoAddAdmins ! ( Wersja 1.5 )
Posted by Gh0st on 28.08.2011 15:43
Wersja 1.5
demo : http://ghost.xaa.pl
Grafika : www.knightdesign.pl (polecam)
Opis:
Jest to sklep zintegorowany z dotpay , zawierający - panel użytkowników
Instalacja:
Ze stony www
Do instalacji będziemy potrzebować :
Bazę danych z dostępem do Zewnętrznego IP polecam http://proserwer.pl ( 3.66 zł to nie dużo )
Następnie : Wrzucamy wszystkie Pliki z paczki rar do najlepiej Gł&oacute;wnego katalogu naszej stronyPublic_Html w przypadku Proserwer.pl
Po Wejściu na stronę powinno nas przekierować do pliku install.php jeżeli nie to musimy wejść ręcznie:&nbsp;&nbsp;http://Adres.pl/install.php
Następnie po wypełnieniu wszystkich p&oacute;l formularza i naciśnięciu przycisku instaluj nasza strona powinna już poprawnie funkcjonować ,
Następnym Krokiem Będzie poprawna Konfiguracja Naszych wiadomości, Przechodzimy na stronę gł&oacute;wną : http://adres.pl Logujemy się do panelu administracyjnego podając dane kt&oacute;re podaliśmy podczas instalacji . Po poprawnym zalogowaniu panel logowania powinien zamienić się na panel administracyjny.
Konfiguracja :
Kontakt : Tu wpisujemy nasz Kontakt . GG / E-mail / skejp itp
Config Strony : Tutaj musimy uzupełnić tylko Flagę na Vipa i Flagę na Premium , i jeszcze wybrać czy można kupywać premium / vipa / slota
Ustawienia ogólne: Tutaj wpisujemy treści wiadomości dla poszczegególnych zamówien
To byłby koniec konfiguracji naszego skryptu
&nbsp;
Ze strony Serwera:
&nbsp;
Pozostaje nam tylko konfiguracja Sql.cfg addons/amxmodx/configs/
i podmiana pliku Admin.amxx Kt&oacute;ry już jest w załączniku.Uzupełniamy dane tak samo jak robiliśmy to ze strony serwera.
ważne !
:
amx_sql_table "admins"amx_sql_table musi mieć taką samą wartość jak Tabela Admin&oacute;w w bazie
czyli np tam podaliśmy admini to tutaj też muszą być admini
ChangeLog:
Wersja 1.0 :
- Opublikowanie Skryptu
- Podczas instalacji w config.php była utworzona zmienna $haslo ( 2 razy ) już jest tylko raz
- Usunięty Bug z pustym zam&oacute;wieniem w poczekalni pod czasz dawania admina
- Zmiana menu na proste menu. Do czaszu zrobienia następnego
- Nowe Menu.
- Poprawki gł&oacute;wnie estetyczne.
- Usunięto Poczekalnie !
- Dodano System Logowania
- Dodano System Rejestracji
- Obsługa Dot Pay!
- Saldo - za to gracz kupuje premium.
- Dodano dwa nowe Pola w "Config Strony" ( ID&nbsp;&nbsp;Urzytkownika dotpay / Usługa do pay Przykład treść smsa to AP.LIGP to naszą usługą jest LIGP )
- Nowe SS Na kt&oacute;rym widać wszystko od wersji +1.3
- Aby Coś Kupić ( Premium / Vipa / Slota&nbsp;&nbsp;) Musisz być zalogowany.
- Dodano filtrowanie wiadomości. ( Dane wychodzące z panelu admina nie są filtrowane ponieważ jak ktoś ma dane do Pa to ma i dostęp do SQL )
- Zmieniono menu "Kontakt" na forumlarz , kt&oacute;ry potem trafia do panelu admina.
- Wiadomości w PA jak na ss poniżej
- Dodano Podgląd innych użytkownik&oacute;w.
- Dodano Grafikę podczas odczytywania wiadomości&nbsp;
- Nowe include dla ułatwienia edytowania penelu usera / wyglądu newsa
Download :
Attached Files
-
admin.amxx 24.57KB 259 downloads
-
Sklep ( 1.1 ).rar 37.25KB 584 downloads
-
Sklep ( 1.2 ).rar 38.72KB 436 downloads
-
Sklep ( 1.3 ).rar 50.88KB 465 downloads
-
Sklep ( 1.4 ).rar 58.46KB 475 downloads
-
Sklep ( 1.5 ).rar 84.74KB 3031 downloads
#290315 GmAMXBans 1.5.1 - FINAL
Posted by Szyfrant on 31.08.2011 07:31
#286613 [5.9l] Fireball - wybuchanie na respie, itp.
Posted by sebul on 28.08.2011 11:47
Znajdź całą funckję
public pfn_touch ( ptr, ptd )
{
if (ptd == 0)
return PLUGIN_CONTINUE
new szClassName[32]
if(pev_valid(ptd)){
entity_get_string(ptd, EV_SZ_classname, szClassName, 31)
}
else return PLUGIN_HANDLED
if(equal(szClassName, "fireball"))
{
new owner = pev(ptd,pev_owner)
//Touch
if (get_user_team(owner) != get_user_team(ptr))
{
new Float:origin[3]
pev(ptd,pev_origin,origin)
Explode_Origin(owner,origin,55+player_intelligence[owner],150)
remove_entity(ptd)
}
}
if (ptr != 0 && pev_valid(ptr))
{
new szClassNameOther[32]
entity_get_string(ptr, EV_SZ_classname, szClassNameOther, 31)
if(equal(szClassName, "PowerUp") && equal(szClassNameOther, "player"))
{
entity_set_int(ptd,EV_INT_iuser2,1)
}
if(equal(szClassName, "Mine") && equal(szClassNameOther, "player"))
{
new owner = pev(ptd,pev_owner)
//Touch
if (get_user_team(owner) != get_user_team(ptr))
{
new Float:origin[3]
pev(ptd,pev_origin,origin)
Explode_Origin(owner,origin,55+player_intelligence[owner],150)
remove_entity(ptd)
}
}
if(equal(szClassName, "grenade") && equal(szClassNameOther, "player"))
{
new greModel[64]
entity_get_string(ptd, EV_SZ_model, greModel, 63)
if(equali(greModel, "models/w_smokegrenade.mdl" ))
{
new id = entity_get_edict(ptd,EV_ENT_owner)
if (is_user_connected(id)
&& is_user_connected(ptr)
&& is_user_alive(ptr)
&& player_b_smokehit[id] > 0
&& get_user_team(id) != get_user_team(ptr))
UTIL_Kill(id,ptr,"grenade")
}
}
}
/*if(equal(szClassName, "fireball"))
{
new Float:origin[3]
pev(ptd,pev_origin,origin)
new id = pev(ptd,pev_owner)
Explode_Origin(id,origin,100,player_b_fireball[id] + player_intelligence[id])
remove_entity(ptd)
}*/
return PLUGIN_CONTINUE
}
zamień na
public pfn_touch(ptr, ptd) {
if(!ptd)
return PLUGIN_CONTINUE;
if(!pev_valid(ptd))
return PLUGIN_HANDLED;
new szClassName[32], szClassNameOther[32];
entity_get_string(ptd, EV_SZ_classname, szClassName, 31);
if(ptr && pev_valid(ptr)) {
if(pev(ptr, pev_solid) == SOLID_TRIGGER)
return PLUGIN_CONTINUE;
entity_get_string(ptr, EV_SZ_classname, szClassNameOther, 31);
}
if(equal(szClassName, "fireball"))
{
new owner = pev(ptd,pev_owner)
//Touch
if(get_user_team(owner) != get_user_team(ptr)) {
new Float:origin[3]
pev(ptd,pev_origin,origin)
Explode_Origin(owner,origin,55+player_intelligence[owner],150);
remove_entity(ptd)
}
}
if(equal(szClassNameOther, "player")) {
if(equal(szClassName, "Mine")) {
new owner = pev(ptd, pev_owner);
//Touch
if(get_user_team(owner) != get_user_team(ptr)) {
new Float:origin[3];
pev(ptd, pev_origin, origin);
Explode_Origin(owner,origin,55+player_intelligence[owner],150);
remove_entity(ptd);
}
}
else if(equal(szClassName, "grenade")) {
new greModel[64];
entity_get_string(ptd, EV_SZ_model, greModel, 63);
if(equali(greModel, "models/w_smokegrenade.mdl")) {
new id = entity_get_edict(ptd, EV_ENT_owner);
if(is_user_connected(id) && is_user_alive(ptr)
&& player_b_smokehit[id] > 0 && get_user_team(id) != get_user_team(ptr))
UTIL_Kill(id, ptr, "grenade");
}
}
}
return PLUGIN_CONTINUE;
}
Przy okazji możecie też usunąć linijkę z
register_think("PowerUp","Think_PowerUp")
bo nie zauważyłem, żeby ona do czegoś służyła...
Kod poprawiony, teraz fb nie wybucha przy zwłokach.
#124665 [5.8d/5.9l] Błąd get_user_maxspeed w error_ logach.
Posted by Vertricus on 10.04.2010 11:04
#249244 Dodanie opcji reset dla questow
Posted by DarkGL on 14.05.2011 16:07
(tak w ogóle to staja się one coraz bardziej popularne : > )
1.Dodajemy
register_clcmd("say /resetquesty","resetquesty")do plugin_init
2.Podmieniamy funkcje
public zapisz_questana
public zapisz_questa(id,quest,value[]) { new name[64]; get_user_name(id,name,63) strtolower(name) new key[64]; format(key,63,"questy-%i-%s-%i",player_class[id],name,quest); nvault_set(vault_questy,key,value); }
3.Podmieniamy
zapisz_questa(kid,quest_gracza[kid])na
zapisz_questa(kid,quest_gracza[kid],"1")
4.Dodajemy gdziekolwiek w kodzie
public resetquesty(id){ for(new i=0;i<sizeof questy;i++) { zapisz_questa(id,i,"0") } quest_gracza[id] = -1; zapisz_aktualny_quest(id) }
i to wszystko resetowanie jest pod komenda /resetquesty w say
#281008 Perk Palec Zeusa
Posted by DarkGL on 10.08.2011 22:25
http://www.youtube.com/watch?v=D4pX0wcVzi8
Konfiguracja:
w sma znajdziemy
#define TIME_SHOT 2.5 #define RANGE 60.0 #define DAMAGE 60.0tutaj ustawiamy właściwości perku i tak
TIME_SHOT określa ile trzeba czekać żeby móc znowu strzelić błyskawica standardowo jest to 2.5 sekundy
RANGE określa w jakiej maksymalnej odległości musi znajdować się gracz od gracza który dostał z pioruna tak aby on też dostał standardowo jest to 60.0 unitów
DAMAGE damage zadawane przez piorun standardowo jest to 60.0
standardowo błyskawica jest na broni p228 można to zmienić tutaj
new const iWeapon = CSW_P228; new const szWeapon[] = "weapon_p228";
pliki z archiwum potrzebne_pliki.rar wrzucamy do models i sound
palec_zeusa_perk.amxx 11.69KB 181 downloads
palec_zeusa_perk.sma 6.79KB 829 downloads
palec_zeusa_perk.amxx
potrzebne_pliki.rar 206.35KB 894 downloads
#251394 Dodawanie questów
Posted by Aard on 21.05.2011 09:19
#250783 Dodawanie questów
Posted by DarkGL on 18.05.2011 22:10
zresztą i tak questy były dostępne na necie : P nawet stały się dość popularne
1.Powyżej plugin_init dodajemy
//questy //Autor DarkGL : ) new quest_gracza[33]; new ile_juz[33]; //przedzial , ile ,kogo , nagroda expa, vip 1 tak 0 nie new questy[][]={ {1,2,Ninja,500,0}, {1,3,Mag,1200,1}, {1,6,Zabojca,2000,0}, {2,6,Hunter,5000,0}, {2,15,Barbarzynca,15000,1}, {2,20,Paladyn,20000,1}, {3,65,Barbarzynca,150000,1}, {3,120,Paladyn,200000,1} } new vault_questy; new vault_questy2; //od , do , hp new prze[][]={ {1,50,20}, {51,80,40}, {81,140,60} } new prze_wybrany[33] new questy_info[][]={ "Zabij 2 Ninje (Nagroda 500 doswiadczenia)", "Zabij 3 Magow (Nagroda 1200 doswiadczenia)", "Zabij 6 Zabojcow (Nagroda 2000 doswiadczenia)", "Zabij 6 Lowcow (Nagroda 5000 doswiadczenia)", "Zabij 15 Barbarzyncow (Nagroda 15000 doswiadczenia)", "Zabij 20 Paladynow (Nagroda 20000 doswiadczenia)", "Zabij 65 Barbarzyncow (Nagroda 150000 doswiadczenia)", "Zabij 120 Paladynow (Nagroda 200000 doswiadczenia)" } new questy_zabil[][]={ "Ninjow", "Magow", "Zabojcow", "Lowcow", "Barbarzyncow", "Paladynow", "Barbarzyncow", "Paladynow" }2. w plugin_init dodajemy
vault_questy = nvault_open("Questy"); vault_questy2 = nvault_open("Questy2"); register_clcmd("say /questy","menu_questow") register_clcmd("say /quest","menu_questow")
3.w dowolnym miejscu w kodzie dodajemy
public menu_questow(id){ if(quest_gracza[id] == -1 || quest_gracza[id] == -2){ new menu = menu_create("Menu Questow","menu_questow_handle") new formats[128] for(new i = 0;i<sizeof prze;i++){ formatex(formats,127,"Questy od %d do %d poziomu",prze[i][0],prze[i][1]); menu_additem(menu,formats) } menu_display(id,menu,0) } else { client_print(id,print_chat,"Wykonaj najpierw poprzednie zadanie") } } public menu_questow_handle(id,menu,item){ if(item == MENU_EXIT){ menu_destroy(menu); return PLUGIN_CONTINUE; } if(player_lvl[id] < prze[item][0]){ client_print(id,print_chat,"Masz za maly level!"); menu_questow(id) menu_destroy(menu); return PLUGIN_CONTINUE; } new formats[128] formatex(formats,127,"Questy od %d do %d poziomu",prze[item][0],prze[item][1]); new menu2 = menu_create(formats,"menu_questow_handle2") for(new i = 0;i<sizeof(questy);i++){ if(questy[i][0] == item+1){ menu_additem(menu2,questy_info[i]); } } menu_setprop(menu2, MPROP_EXITNAME, "Wyjdz"); menu_setprop(menu2, MPROP_BACKNAME, "Poprzednia strona"); menu_setprop(menu2, MPROP_NEXTNAME, "Nastepna strona"); prze_wybrany[id] = item+1; menu_display(id,menu2) return PLUGIN_CONTINUE; } public zapisz_questa(id,quest){ new name[64]; get_user_name(id,name,63) strtolower(name) new key[64]; format(key,63,"questy-%i-%s-%i",player_class[id],name,quest); nvault_set(vault_questy,key,"1"); } public zapisz_aktualny_quest(id){ new name[64]; get_user_name(id,name,63) strtolower(name) new key[256]; format(key,255,"questy-%d-%s",player_class[id],name); new data[32] formatex(data,charsmax(data),"#%d#%d",quest_gracza[id]+1,ile_juz[id]); nvault_set(vault_questy2,key,data); } public wczytaj_aktualny_quest(id){ new name[64]; get_user_name(id,name,63) strtolower(name) new key[256]; format(key,255,"questy-%d-%s",player_class[id],name); new data[32]; nvault_get(vault_questy2,key,data,31); replace_all(data,31,"#"," "); new questt[32],ile[32] parse(data,questt,31,ile,31) ile_juz[id] = str_to_num(ile) return str_to_num(questt)-1 } public wczytaj_questa(id,quest){ new name[64]; get_user_name(id,name,63) strtolower(name) new key[64]; format(key,63,"questy-%i-%s-%i",player_class[id],name,quest); new data[64]; nvault_get(vault_questy,key,data,63); return str_to_num(data); } public menu_questow_handle2(id,menu,item){ if(item == MENU_EXIT){ menu_destroy(menu); return PLUGIN_CONTINUE; } new ile2 = 0; for(new i = 0;i<sizeof(questy);i++){ if(questy[i][0] != prze_wybrany[id]){ continue; } if(ile2 == item){ item = i; break; } ile2++; } if(questy[item][4] && !(get_user_flags(id) & ADMIN_LEVEL_H)){ client_print(id,print_chat,"Ten quest jest tylko dla vipow! Aby kupic vipa wejdz na forum amxx.pl"); menu_questow(id) menu_destroy(menu); return PLUGIN_CONTINUE; } if(wczytaj_questa(id,item)){ client_print(id,print_chat,"Wykonales juz to zadanie!"); menu_questow(id) menu_destroy(menu); return PLUGIN_CONTINUE; } quest_gracza[id] = item; ile_juz[id] = 0 zapisz_aktualny_quest(id) client_print(id,print_chat,"Wybrales zadanie: %s powodzenia !",questy_info[item]); quest_gracza[id] = wczytaj_aktualny_quest(id); menu_destroy(menu); return PLUGIN_CONTINUE; }
4.w funkcji DeathMsg
w warunku
if (is_user_connected(kid) && is_user_connected(vid) && get_user_team(kid) != get_user_team(vid)) {dodajemy
if(quest_gracza[kid] != -1){ if(player_class[vid] == questy[quest_gracza[kid]][2]){ ile_juz[kid]++; zapisz_aktualny_quest(kid) } if(ile_juz[kid] == questy[quest_gracza[kid]][1]){ client_print(kid,print_chat,"Wykonales zadanie %s gratulacje otrzymujesz %i expa!",questy_info[quest_gracza[kid]],questy[quest_gracza[kid]][3]) zapisz_questa(kid,quest_gracza[kid]) Give_Xp(kid,questy[quest_gracza[kid]][3]); quest_gracza[kid] = -1; zapisz_aktualny_quest(kid) } else { client_print(kid,print_chat,"Zabiles %i/%i %s",ile_juz[kid],questy[quest_gracza[kid]][1],questy_zabil[quest_gracza[kid]]) } }tak to ma wyglądać
if (is_user_connected(kid) && is_user_connected(vid) && get_user_team(kid) != get_user_team(vid)) { show_deadmessage(kid,vid,headshot,weaponname) create_itm(vid,0,"losowy item") award_kill(kid,vid) add_respawn_bonus(vid) add_bonus_explode(vid) add_barbarian_bonus(kid) //mana_gracza[kid]+=1 //mana_gracza[headshot]+=2 if (player_class[kid] == Barbarzynca) refill_ammo(kid) if (player_class[kid] == Griswold) refill_ammo(kid) if (player_class[kid] == Kowal) refill_ammo(kid) if (player_class[kid] == Demonolog) refill_ammo(kid) set_renderchange(kid) savexpcom(vid) if(quest_gracza[kid] != -1){ if(player_class[vid] == questy[quest_gracza[kid]][2]){ ile_juz[kid]++; zapisz_aktualny_quest(kid) } if(ile_juz[kid] == questy[quest_gracza[kid]][1]){ client_print(kid,print_chat,"Wykonales zadanie %s gratulacje otrzymujesz %i expa!",questy_info[quest_gracza[kid]],questy[quest_gracza[kid]][3]) zapisz_questa(kid,quest_gracza[kid]) Give_Xp(kid,questy[quest_gracza[kid]][3]); quest_gracza[kid] = -1; zapisz_aktualny_quest(kid) } else { client_print(kid,print_chat,"Zabiles %i/%i %s",ile_juz[kid],questy[quest_gracza[kid]][1],questy_zabil[quest_gracza[kid]]) } } }
5.
quest_gracza[id] = wczytaj_aktualny_quest(id);musimy to dodać po całym switch w funkcji handle menu wyboru klas
dużo diablo modów dużo menów dlatego tylko przyklad
public PokazMeni(id, key) { /* Menu: * Wybierz klase: * 1:Czarodziejka * 2:Druid * 3:Paladyn * 4:Zabojczyni * 5:Nekromanta * 6:Barbarzynca * 7:Ninja * 8:Amazonka * 0:Wstecz */ new lx[28] // <-- tutaj wpisz liczbę swoich klas + 1(none) g_haskit[id] = 0 c_shake[id]=0 c_damage[id]=0 c_jump[id]=0 c_mine[id]=0 c_respawn[id]=0 c_vampire[id]=0 zmiana_skinu[id]=0 switch(key) { case 0: { player_class[id] = Mag c_shake[id]=20 LoadXP(id, player_class[id]) } case 1: { player_class[id] = Mnich c_damage[id]=3 zmiana_skinu[id]=1 changeskin(id,0) LoadXP(id, player_class[id]) } case 2: { player_class[id] = Paladyn LoadXP(id, player_class[id]) } case 3: { player_class[id] = Zabojca c_jump[id]=1 c_mine[id]=2 LoadXP(id, player_class[id]) } case 4: { player_class[id] = Nekromanta g_haskit[id] = 1 c_respawn[id]=4 c_vampire[id]=random_num(1,3) LoadXP(id, player_class[id]) } case 5: { player_class[id] = Barbarzynca LoadXP(id, player_class[id]) } case 6: { player_class[id] = Ninja LoadXP(id, player_class[id]) } case 7: { player_class[id] = Hunter g_GrenadeTrap[id] = 1 LoadXP(id, player_class[id]) } case 9: { select_class(id,lx) } } CurWeapon(id) quest_gracza[id] = wczytaj_aktualny_quest(id); give_knife(id) return PLUGIN_HANDLED }
Wiem jestem cienki w pisaniu poradników : D
macie tutaj
Diablomod by 0nYk3 - AMXX.pl: Support AMX Mod X
już dodane questy możecie się wzorować na tym
#249770 Projekt wspólny
Posted by LegionD on 15.05.2011 19:27
#249703 Projekt wspólny
Posted by FreZZy on 15.05.2011 18:19
@OT jakaś wstępna data ;D ?
silnik jest juz zrobiony w 30 % potem dopisze jakies 12 klas i okolo 120 itemow i bedzie mozna sobie pograc u mnie na serverze
dobra kozaku, wbija na ten "serwer" na pewno będzie źle skonfigurowany i w ogóle 0 osób ale dobra niech ci będzie
@heh spodziewałem się warna, dzięki
- AMXX.pl: Support AMX Mod X i SourceMod
- → Przeglądanie profilu: Reputation: Firxenowsky
- Regulamin