masz wybrakowane podstawowe biblioteki amxmodx, pobierz amxx 1.10 i nadpisz wszystkie "include"
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.
|
SHiBBy.
Rejestracja: 22.11.2014Aktualnie: Nieaktywny
Poza forum Ostatnio: 11.05.2025 18:34





Statystyki
- Grupa: Użytkownik
- Całość postów: 169
- Odwiedzin: 5 769
- Tytuł: Profesjonalista
- Wiek: 27 lat
- Urodziny: Listopad 28, 1997
-
Imię
Karol
-
Płeć
Mężczyzna
-
Lokalizacja
Polska
-
Zainteresowania
CS 1.6, CS2, SIMRACING
Narzędzia użytkownika
Ostatnio byli
#779606 [ROZWIĄZANE] Pluginy z reapi - nie kompiluje ich
Napisane przez PANDA_2zl
w 22.02.2025 17:12
#779371 Plugin info w HUD na poczatku rundy
Napisane przez MaTT19948
w 09.01.2025 19:29
#209383 Dodawanie frakcji - 2 sposoby
Napisane przez Cypis'
w 25.01.2011 21:21
Jak zainstlować:
Gotowiec:

- wrzucamy do plugins



- wrzucamy do configs (tu dodajemy/edytujemy frakcje)
Edytacja Silnika:
W zmiennych globalnych dodajemy
#define MAX_WIELKOSC_FRAKCJA 64
new frakcja_klas[MAX_ILOSC_KLAS+1][MAX_WIELKOSC_FRAKCJA+1];
new nazwa_klasy[MAX_ILOSC_KLAS+1][64];
new nazwa_frakcji[MAX_ILOSC_KLAS+1][64];
new klasid;
Szukamy funkcji public plugin_init() i dodajemy na końcu jego
loadfile()
czyli tak powinno wygladać:
public plugin_init()
{
//kod
loadfile()
}
Szukamy funkcji public plugin_init() i dodajemy za nią:
public loadfile()
{
new file[256];
get_configsdir(file,charsmax(file));
formatex(file, charsmax(file), "%s/cod_frakcje.ini", file);
if(!file_exists(file))
return;
new row[128], trash, size=file_size(file,1);
for(new i=0;i<size;i++)
{
read_file(file, i, row, charsmax(row), trash);
if((contain(row,";")!=0) && strlen(row) && klasid<MAX_ILOSC_KLAS+1)
{
replace(row, charsmax(row), "[klasa]", "");
split(row, nazwa_klasy[klasid], charsmax(nazwa_klasy[]), nazwa_frakcji[klasid], charsmax(nazwa_frakcji[]), "[frakcja]");
klasid++;
}
}
}
Szukamy funkcji ZarejestrujKlase i
po
wytrzymalosc_klas[ilosc_klas] = get_param(7);
dodajemy
for(new i=0;i<klasid;i++){
if(equali(nazwy_klas[ilosc_klas],nazwa_klasy[i])){
frakcja_klas[ilosc_klas] = nazwa_frakcji[i];
}
}
czyli tak to powinno wyglądać:
public ZarejestrujKlase(plugin, params)
{
if(params != 7)
return PLUGIN_CONTINUE;
if(++ilosc_klas > MAX_ILOSC_KLAS)
return -1;
pluginy_klas[ilosc_klas] = plugin;
get_string(1, nazwy_klas[ilosc_klas], MAX_WIELKOSC_NAZWY);
get_string(2, opisy_klas[ilosc_klas], MAX_WIELKOSC_OPISU);
bronie_klasy[ilosc_klas] = get_param(3);
zdrowie_klas[ilosc_klas] = get_param(4);
kondycja_klas[ilosc_klas] = get_param(5);
inteligencja_klas[ilosc_klas] = get_param(6);
wytrzymalosc_klas[ilosc_klas] = get_param(7);
for(new i=0;i<klasid;i++){
if(equali(nazwy_klas[ilosc_klas],nazwa_klasy[i])){
frakcja_klas[ilosc_klas] = nazwa_frakcji[i];
}
}
return ilosc_klas;
}
Szukamy funkcji WybierzKlase usuwamy ją , szukamy funkcji WybierzKlase_Handle usuwamy ją zamiast nich wklejamy
public WybierzKlase(id)
{
new menu = menu_create("Wybierz klase:", "WybierzKlase_Frakcje");
for(new i=1; i <= ilosc_klas; i++)
{
if(!equal(frakcja_klas[i],"") && !is_in_previous(frakcja_klas[i],i)){
menu_additem(menu,frakcja_klas[i],frakcja_klas[i])
}
}
menu_setprop(menu, MPROP_EXITNAME, "Wyjdz");
menu_setprop(menu, MPROP_BACKNAME, "Poprzednia strona");
menu_setprop(menu, MPROP_NEXTNAME, "Nastepna strona");
menu_display(id, menu);
}
public WybierzKlase_Frakcje(id, menu, item)
{
if(item == MENU_EXIT){
menu_destroy(menu);
return PLUGIN_CONTINUE;
}
new data[65], iName[64]
new acces, callback
menu_item_getinfo(menu, item, acces, data,64, iName, 63, callback)
new menu2 = menu_create("Wybierz klase:", "WybierzKlase_Handle");
new klasa[50],szTmp[5];
for(new i=1; i <= ilosc_klas; i++)
{
if(equali(data,frakcja_klas[i])){
WczytajDane(id, i);
format(klasa, charsmax(klasa), "%s \yPoziom: %i", nazwy_klas[i], poziom_gracza[id]);
num_to_str(i,szTmp,charsmax(szTmp));
menu_additem(menu2, klasa, szTmp);
}
}
WczytajDane(id, klasa_gracza[id]);
menu_setprop(menu2, MPROP_EXITNAME, "Wyjdz");
menu_setprop(menu2, MPROP_BACKNAME, "Poprzednia strona");
menu_setprop(menu2, MPROP_NEXTNAME, "Nastepna strona");
menu_display(id, menu2);
client_cmd(id, "spk QTM_CodMod/select");
menu_destroy(menu);
return PLUGIN_CONTINUE;
}
public WybierzKlase_Handle(id, menu, item)
{
client_cmd(id, "spk QTM_CodMod/select");
if(item == MENU_EXIT)
{
menu_destroy(menu);
return PLUGIN_CONTINUE;
}
new data[65], iName[64]
new acces, callback
menu_item_getinfo(menu, item, acces, data,64, iName, 63, callback)
item = str_to_num(data);
if(item == klasa_gracza[id] && !nowa_klasa_gracza[id])
return PLUGIN_CONTINUE;
nowa_klasa_gracza[id] = item;
if(klasa_gracza[id])
client_print(id, print_chat, "[COD:MW] Klasa zostanie zmieniona w nastepnej rundzie.");
else
{
UstawNowaKlase(id);
DajBronie(id);
ZastosujAtrybuty(id);
}
return PLUGIN_CONTINUE;
}
public bool:is_in_previous(frakcja[],from){
for(new i = from - 1;i>=1;i--){
if(equali(frakcja_klas[i],frakcja)){
return true;
}
}
return false;
}
Jeszcze trzeba wrzucić na serwer plik do configs (tu dodajemy/edytujemy frakcje):

Instrukcja jak dodac frakcje:
Aby dodać nowa frakcje to należny dodać do pliku cod_frakcje.ini np.
[klasa]twoja nazwa klasy(ta z menu wyboru klas)[frakcja]twoja nazwa frakcji
czyli np.
[klasa]Szpieg[frakcja]Rosjanie
#418568 Diablo Mod by Stachu
Napisane przez Stachuu :D ??
w 07.06.2012 14:11
Na wstepie powiem ze jest to odkopany plik sma (ostatnio edytowany okolo 4 miechy temu)
wiec nie mam do niego modeli plikow .txt .
mysle ze bedzie on sluzyl jako pomoc przy robieniu wlasnych Dm
Moze troche o tym co jest w tym calym pliku sma
1.Gildie (by me)
2.Artefakty
3.Wlasny system questow
4.27 klas
5.Przynajmniej 5 calkiem nowych mocy (licze tylko te ktorych odpowiednikow nie spotkalem na innych serwerach/lub wyszlyodemnie)
Nie mam glowy aby rozpisywac all wiec zamieszczam plik i zycze powodzenia w przeszukiwaniu moda

W razie pytan piszcie w tym temacie.


#778274 [ROZWIĄZANE] Blad serwera
Napisane przez PANDA_2zl
w 04.03.2024 10:41
#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]
#778152 Widoczność niewidzialnych z teamu
Napisane przez darnoK^
w 20.02.2024 18:32
w public plugin_init() dodajesz:
register_forward(FM_AddToFullPack, "PreThinkNinja", 1)
i na koniec kodu
public PreThinkNinja(es_handle, e, ent, host, hostflags, player, pSet) { if(!is_user_connected(host) || !is_user_connected(ent)) return; if(get_user_team(host) != get_user_team(ent)) return; if(player_class[ent] == NONE) return; set_es(es_handle, ES_RenderMode, kRenderTransAdd); set_es(es_handle, ES_RenderAmt, 255.0); }
Dodam tylko, ze to jest kodzik z diablo gdzie są gildie misje i artefakty więc nie wiem czy to na 5.9 będzie śmigać.
#501835 RoundSound
Napisane przez speedkill
w 15.01.2013 20:10

Jest to plugin większości znany, odtwarza on muzykę na koniec rundy, w zależności który team wygrał.
Ktoś spyta czym ten plugin różni się od tych pozostałych?
Plugin ten posiada:
- Wczytywanie utworów z pliku RoundSound.ini
- Playlista dla każdego teamu z osobna
- Możliwość przesłuchania każdego z utworu
- Możliwość ustawienia dla którego teamu ma być dana piosenka
- Tytuły piosenek podajemy w tym samym pliku
- Plugin wczytuje wszystko na początku mapy, tylko raz!
- Dokładne logowanie o przebiegu wczytywania każdej piosenki
- Możliwość włączenia/wyłączenia roundsound'a
- Pokazywanie jaka piosenka obecnie jest odgrywana
- Możliwość ustawienia m.in. gdzie ma się pokazywać jaka piosenka jest odgrywana ( czat lub ukrycie tego )
- Komenda /last, dzięki której możemy zobaczyć tytuł ostatniej piosenki
- Wyłączanie / włączanie, odsłuchiwanie utworów odbywa się w menu
- Reklama na czacie co ustalony czas cvarem, o istnieniu takich komend jak /last itp.
- Blokowanie pluginu, jeżeli plik RoundSound.ini nie istnieje w folderze configs/
- Możliwość wyłączenia reklam dotyczących roundsound'a
- Możliwość zmiany pozycji wyświetlania obecnego utworu
- Możliwość ustawienia czy muzyka ma się odtwarzać losowo czy po kolei
- Możliwość wyświetlenia użytkownikowi tytłu piosenki, a także wyłączenie tego








amxmodx

Roundsound_ads_time /* Czas wyświetlania wiadomości w sekundach [ domyślnie 120 ] | Limit nie mniej niż 30 sekund */ Roundsound_prefix /* Prefix wiadomości dotyczących roundsounda [ domyślnie RoundSound ] */ Roundsound_show_type /* Wyświetlanie informacji o obecnym utworze [ domyślnie 1 ] | 1 - Chat | 0 - Brak */ Roundsound_random_music /* Czy muzyka ma się odtwarzać losowo [ domyślnie 0 ] | 1 - Losowo | 0 - Po kolei */ Roundsound_show_playlist /* Czy ma pokazywać nazwy utworów ( w odsłuchiwaniu, pod koniec rundy lub gdy gracz użyje komendy /last ) [ domyślnie 1 ] | 1 - Tak | 0 - Nie */

Otwiera główne menu, w którym można wyłączyć lub włączyć roundsounda, posłuchać utworów CT / TT, wyłączyć reklamy, oraz zmienić pozycję wyświetlania:
say /rs say /roundsound say_team /rs say_team /roundsoundPokazywanie ostatniego utworu, który został odegrany:
say /last say_team /last

Tworzymy plik RoundSound.ini w folderze configs, następnie uzupełniamy go tak:
"Ścieżka" "Tytuł" "Team"Przykładowo:
"misc/RoundSound/1.mp3" "All I Want For Christmas Is You" "TT"Ważne! Ścieżkę podajemy tak jakbyśmy się znajdowali w folderze sound/, wyżej został podany przykład.

Standardowa.

Autor: Michał "speedkill" Mulik

Czysta wersja:



#189817 Jak zrobić prostą klasę
Napisane przez QTM. Peyote
w 19.11.2010 14:39
*.sma Naszej klasy będzie wyglądać tak: (Niżej wytłumaczę co od czego)
#include <amxmodx>
#include <codmod>
new const nazwa[] = "Henio";
new const opis[] = "Brak";
new const bronie = 1<<CSW_M4A1 | 1<<CSW_DEAGLE;
new const zdrowie = 13;
new const kondycja = 69;
new const inteligencja = 2;
new const wytrzymalosc = 15;
public plugin_init()
cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);
#include <amxmodx>
- Jeżeli nie wiesz poczytaj inne tutoriale.
#include <codmod>
- Wymagany plik codmod.inc który musimy wrzucić do folderu include naszego kompilatora.
- Dołącza plik nagłówkowy CodModa dzięki któremu będziemy mogli używać natywów takich jak na przykład cod_register_class.
new const nazwa[] = "Henio";
- Nazwa naszej klasy - u nas będzie to Henio.
new const opis[] = "Brak";
- Opis naszej klasy - u nas jest Brak.
- Jeżeli ktoś się dziwi się dlaczego nie opisuję jakie bronie, szybkość i zdrowie ma klasa to odpowiem - To wyświetla się osobno.
new const bronie = 1<<CSW_M4A1 | 1<<CSW_DEAGLE;
- Tutaj określamy jakie bronie ma mieć Henio.
- Przed każdą bronią dodajemy 1<<
- Jeżeli chcemy dodać następną to wstawiamy | - pełni rolę czegoś w rodzaju.. przecinka.
new const zdrowie = 13;
- Punkty statystyki zdrowie jakie klasa dostanie na start.
- Czyli w naszym przypadku jeżeli damy dodatkowe 13 zdrowia to na start będziemy mieli 113 hp
new const kondycja = 69;
- Ilość punktów kondycji jaką Henio ma dostać na start. Henia gnębią koledzy dlatego musi szybko uciekać.
- To zastępuje dawne procenty szybkości naszej klasy
new const inteligencja = 2;
- Punkty inteligencji na start.
new const wytrzymalosc = 15;
- Punkty wytrzymalosci na start.
- Można używać zamiast kamizelek.
W plugin_init rejestrujemy Henia, żeby pojawił się w menu wybierania klas:
cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);
#250805 Dodawanie questów
Napisane przez DarkGL
w 19.05.2011 06:45
#137222 Jak dodać klasę by działała 2 strona? [TUTEK]
Napisane przez SoLiD
w 21.05.2010 22:11

1. Robimy 2 stronę dla 1 klasy
* Szukamy:
#define TASKID_SETUSER 13312
Pod dopisujemy:
#define KeysKlasy (1<<0)|(1<<1)|(1<<2)|(1<<9) // Keys: 1230
* Szukamy:
register_menucmd(register_menuid("Nowe Itemy"), 1023, "nowe_itemy")
Dodajemy pod:
register_menucmd(register_menuid("Klasy"), KeysKlasy, "PressedKlasy")
* Szukamy i podmieniamy całe
public select_class(id,lx[])
Na:
public select_class(id,lx[])
{
if(is_user_bot(id)) return
new flags[10]
get_cvar_string("diablo_classes",flags,9)
new text[512]
new keys = (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<5)|(1<<6)|(1<<7)|(1<<8)|(1<<9)
asked_klass[id]=0
format(text, 511,"\yWybierz Klase - ^n")
for(new i=0;i<8;i++) //Tego masz nigdy nie zmieniać!!!!!!!!!!!!!!!!!!!!!!!
{
format(text, 511,"%s%s%d. %s Level :%d ^n",text,(keys)&(1<<i)?"\w":"\d",i+1,Race[i+1], lx[i+1])
}
format(text, 511,"%s^n9. Dalej^n",text)
show_menu(id, keys, text)
}
* Dodajemy w:
select_class_menu(id, key)
Za pierwszym "{" :
new lx[9]
* Pod standardowym:
case 7:
{
player_class[id] = Hunter
g_GrenadeTrap[id] = 1
}
Dajemy:
case 8:{
ShowKlasy(id,lx)
}
* Pod całą funkcją!!!:
public select_class_menu
Dodajemy:
public ShowKlasy(id,lx[]) {
new text2[512]
asked_klass[id]=0
format(text2, 511,"\yWybierz klase - ^n\w1. klasa1 Level :%i^n^n^n0.Wstecz^n",player_class_lvl[id][9])
show_menu(id, KeysKlasy,text2, -1, "Klasy")
}
public PressedKlasy(id, key) {
new lx[9]
g_haskit[id] = 0
switch (key) {
case 0: {
//Zobacz spoiler niżej!!!
}
case 9: { // 0
select_class(id,lx)
}
}
LoadXP(id, player_class[id])
CurWeapon(id)
give_knife(id)
return PLUGIN_HANDLED
}
PRZESTRZEGAJ TO CO PISAŁEM BO INACZEJ MOŻE COŚ NIE WYPALIĆ!
2. Dodawanie klas do 2 menu
* Znajdź:
enum { NONE = 0, Mag, Mnich, Paladyn, Zabojca, Nekromanta, Barbarzynca, Ninja, Hunter }
new Race[9][18] = { "None","Mag","Mnich","Paladyn","Zabojca","Nekromanta","Barbarzynca", "Ninja", "Lowca" }
new race_heal[9] = { 100,95,150,130,100,90,110,170,120 }
Zmień na:
enum { NONE = 0, Mag, Mnich, Paladyn, Zabojca, Nekromanta, Barbarzynca, Ninja, Hunter, NazwaKlasy }
new Race[10][18] = { "None","Mag","Mnich","Paladyn","Zabojca","Nekromanta","Barbarzynca", "Ninja", "Lowca", "NazwaKlasy" }
new race_heal[10] = { 100,95,150,130,100,90,110,170,120, 200 }//HP na start
* Znajdź:
new player_class_lvl[33][9]
new player_class_lvl_save[33]
new player_ :xP:_old[33]
new database_user_created[33]
new srv_avg[9] = {1,1,1,1,1,1,1,1,1}
Zmień na:
new player_class_lvl[33][10]
new player_class_lvl_save[33]
new player_ :xP:_old[33]
new database_user_created[33]
new srv_avg[10] = {1,1,1,1,1,1,1,1,1,1}
* Znajdź:
register_cvar("diablo_classes", "abcdefgh")
Zmień na:
register_cvar("diablo_classes", "abcdefghi")
* Znajdź:
case 0: {
//Zobacz spoiler niżej!!!
}
Zmień na:
case 0: {
player_class[id] = NazwaKlasy
//Jakiś bonus jak chcesz
}
* Znajdź
case Hunter: fm_give_item(id, "weapon_hegrenade")
Zmień na:
case Hunter: fm_give_item(id, "weapon_hegrenade")
case NazwaKlasy:
{
//Bonusy pod nożem klasy
}
*Znajdź:
new flags[10]
get_cvar_string("diablo_classes",flags,9)
Zmień na:
new flags[11]
get_cvar_string("diablo_classes",flags,10)
Pamiętaj po każdym dodaniu klasy dodawaj 1 do liczb
*Znajdź KAŻDE!:
new lx[9]
Zmień na:
new lx[10]
Po każdym dodaniu innych klas dodawaj 1
*Znajdź KAŻDE!:
for(new i=1;i<9;i++)
for(new i=1;i<10;i++)
Po każdym dodaniu innych klas dodawaj 1
PAMIĘTAJ! TAM GDZIE JEST DODANA/ZMIENIONA LICZBA/LITERA MUSISZ TEŻ DODAĆ/ZMIENIĆ PODCZAS DODAWANIA NOWEJ KLASY! (jak dodajesz t w odpowiedzniej kolejności)
Jeśli popełniłem jakiś błąd napisz

#126770 [5.9l] Nowa klasa bez resetu exp (SQL)
Napisane przez mgr inż. Pavulon
w 18.04.2010 17:45
INSERT IGNORE INTO *TABELA_DIABLO* (nick, ip, sid, klasa, lvl, exp) SELECT nick, ip, sid, *NUMER_NOWEJ_KLASY*, *LEVEL_NOWEJ_KLASY*, *EXP_NOWEJ_KLASY* FROM *TABELA_DIABLO* GROUP BY *RODZAJ_ZAPISU* HAVING MAX(klasa)<*NUMER_NOWEJ_KLASY*;
W miejsce wartości pomiędzy gwiazdkami w stawiamy odpowiednie wartości
*TABELA_DIABLO* -> standardowo dbmod_tablet
*NUMER_NOWEJ_KLASY* -> np 9 (standardowo jest 8 klas)
*LEVEL_NOWEJ_KLASY* -> lvl nowych graczy (czyli 0 czy tam 1 na początek)
*EXP_NOWEJ_KLASY* -> exp nowych graczy (zależy lvl'a, 0 na początek może być)
*RODZAJ_ZAPISU* -> nick, ip lub sid
czyli np:
INSERT IGNORE INTO dbmod_tablet (nick, ip, sid, klasa, lvl, exp) SELECT nick, ip, sid, 9, 1, 1 FROM dbmod_tablet GROUP BY nick HAVING MAX(klasa)<9;
W przypadku zapisu na nick doda wszystkim(którzy jej nie mają) klasę z numerem 9, lvl 1 i exp 1 w tabeli dbmod_tablet
Zapytanie to należy wysłać do bazy danych korzystając np. z phpMyAdmin'a.
#720120 Diablo Mod 5.9l edytowany i poprawiony - nie moge pobrac paczki
Napisane przez
mayday245
w 08.02.2016 19:45
Czytaj kolego komentarze
#673743 menufront nie kompiluje sie
Napisane przez he1st
w 05.12.2014 11:47
- AMXX.pl: Support AMX Mod X i SourceMod
- → Przeglądanie profilu: Reputacja: SHiBBy.
- Regulamin