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.
|
Begrezen
Rejestracja: 02.06.2011Aktualnie: Nieaktywny
Poza forum Ostatnio: 05.11.2011 20:59





Statystyki
- Grupa: Użytkownik
- Całość postów: 7
- Odwiedzin: 3 401
- Tytuł: Nowy
- Wiek: 113 lat
- Urodziny: Styczeń 2, 1912
-
Imię
Piotr
-
Płeć
Mężczyzna
-
Lokalizacja
Białystok
-
Zainteresowania
Muzyka, Motoryzacja
Kontakt
#293567 problem z baza unixstorm
Napisane przez
M@nkovsky
w 07.09.2011 15:47
Na unixstorm klasa jest od 7-8
Co się wogóle z tym dzieje
Mam 15klas do wyboru
i 6statystyk
Czy to jest az tak duzo?
#249996 Diablomod by Onyke
Napisane przez Onyke
w 16.05.2011 16:45
Diablomod 5.9l by Onyke

Plik diablo_onyke.amxx do addons/amxmodx/plugins
Plik diablo_onyke.sma do addons/amxmodx/scripting
Archiwum "diablo_onyke.rar" wypakować do cstrike.
Wejdz do addons/amxmodx/configs/plugins.ini i na samym końcu dopisz: diablo_onyke.amxx

#include <amxmodx> #include <amxmisc> #include <engine> #include <fakemeta> #include <cstrike> #include <fun> #include <fakemeta_util> #include <sqlx> #include <csx> #include <hamsandwich> #include <colorchat> #include <xs> #include <nvault>

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 "diablomod" diablo_sql_save "Zapis bazy 0-2" //0 - Nick //1 - IP //2 - STEAMID 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 10 //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) //Cvarow podanych niżej nie zmieniaj sv_hook "1" sv_hookthrowspeed "2000" sv_hookspeed "600" sv_hookwidth "32" sv_hooksound "1" sv_hookcolor "0" sv_hookplayers "1" sv_hookinterrupt "0" sv_hookadminonly "0" sv_hooksky "1" sv_hookopendoors "1" sv_hookbuttons "1" sv_hookpickweapons "1" sv_hookhostfollow "1" sv_hookinstant "0" sv_hooknoise "0" sv_hookmax "0" sv_hookdelay "0.0" //Koniec cvarów których masz nie zmieniać

Max lvl: 100
Max pkt na statystyke: 50
Tabela Expa: Podstawowa
Frakcje: Bohaterowie, Potwory, Zwierzęta, Premium
Ilość klas: 28

Ilość itemów: 120+
Usunięte: większość (jak nie wszystkie) bugi podstawowego diablo.
Doświadczenie za wygraną runde.
Questy ( Dzięki DarkGL

System many: z bardzo rozbudowanym sklepem za nią.
Nowe moce typu: lina pająka, rakiety, lustrzane pancerze itp
Exp leci od: 4 graczy online
Poradnik dostępny: Tutaj [KLIK]
Chyba tyle, a jak o czymś zapomniałem to będzie to niespodzianka


/drop, /d - wyrzuca aktualnie posiadany item. /item, /i, /przedmiot, /p - pokazuje informacje na temat aktualnie posiadanego itemu. /klasa, /k, klasa - wyświetla menu z wyborem klas / Pamiętaj wchodząc pierwszy raz na serwa klasa będzie dostępna po zmianie mapy !! /speed, /s - pokazuje aktualną prędkość /gracze, /g - pokazuje listę graczy online z ich klasą,itemem itp /czary, /cz - pokazuje obecne statystyki (siła,inteligencja,zwinność,zręczność) /rune, /r - wyświetla sklep za kasę /mana, /m - wyświetla sklep za mane /exp - wyświetla obecną ilość expa i ile brakuje do następnego poziomu /reset - resetuje statystyki (siła,inteligencja,zwinność,zręczność) /questy, /quest - wyświetla menu z misjami(questami)

Sorry za taką jakość ale innego ssa nie miałem, a na tym ssie był adres mojego forum.
Diablo ciut się różni od tego na SS

Zauważone błędy:
Kilka itemów nie ma opisu i jak dobrze pamiętam kilka nie działa.
WAŻNE
Żeby usunąć "reklamy" wpisz w .sma słowo "amxx.pl" i zamień na swój adres forum po czym ponownie przekompiluj.
Wyskakuje Ci błąd - "undefined symbol "YELLOW"" ? Zobacz ten temat.
Żeby zmienić ilość graczy od ilu leci exp znajdź "if(zablokuj < 4 && amount < 200)" i "4" zamień na tyle od ilu ma lecieć (masło maślane)
Diablomod może nie jest jakoś super optymalnie przerobiony ale to dlatego że jest to stara wersja mojego diablo i wtedy jeszcze byłem newbie.(Zresztą mój serwer nie miał problemów z utrzymaniem go)
Stworzone na bazie Diablo Mod 5.9l przy użyciu dost. poradników i własnych doświadczeniach.
Zakaz kopiowania bez zgody autora lub administracji forum.

Modele:

.SMA:


Poradnik WWW by Suis

Statystyki WWW [KLIK]
#250783 Dodawanie questów
Napisane przez DarkGL
w 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
- AMXX.pl: Support AMX Mod X i SourceMod
- → Przeglądanie profilu: Reputacja: Begrezen
- Regulamin