Skocz do zawartości

Nowy szablon forum

mygo.pl

Stworzyliśmy dla Was nowy wygląd forum. Z pewnością znajdziesz rzeczy, które wg Ciebie mogą zostać zmienione - wspomnij o tym w specjalnym wątku.

Czytaj więcej

Jak założyć własną sieć

serwerów CS

Zastanawiasz się nad prowadzeniem własnej sieci serwerów? Przeczytaj podstawowe informacje, na które należy zwrócić uwagę, przy takim projekcie.

Czytaj więcej

Tworzymy spis sieci

dodaj swoją

Dodaj sieć do której należysz, pozwoli to na promocję i budowę ogólnopolskiej bazy sieci CS.

Czytaj więcej

owner_2019

Usunięty
  • Postów

    4374
  • Dołączył

  • Ostatnia wizyta

  • Wygrane w rankingu

    86

Treść opublikowana przez owner_2019

  1. Każda grupa podobna, Titan i NiP grają gówno od 128 dni, polaksy powinni awansować. :)
  2. Musisz mieć plik autoexec.cfg - szukaj dobrze.
  3. Wejdź do: csgo/cfg/autoexec.cfg I dodaj linijkę: secure "0"
  4. Temat został zamknięty przez moderatora forum. Jeśli się z tym nie zgadzasz, raportuj ten post, a moderator rozpatrzy go ponownie.
  5. Dodaj więcej informacji na temat paczki, m.in: listę pluginów itd.
  6. Jakieś konkretne wymagania od opiekuna? Napisz więcej informacji.
  7. Zasady działu "Opinie o firmach" Informacja o dziale: Dział powstał z myślą o tych, którzy chcieliby wypowiedzieć się pozytywnie lub negatywnie na temat świadczonych usług, jakości, cen, a także sposób prowadzenia polityki przez dany hosting. Działu nie należy definiować jako tzw. "support". Znaleźć w nim ma się tylko opinia danego gracza. Zabrania się komentowania czyichś wypowiedzi za wyjątkiem firmy hostingowej. Zabrania się tworzenia spamu, dyskusji w temacie. Zarówno komentarze pozytywne jak i negatywne muszą prezentować określony poziom. Pisanie pozytywnych lub negatywnych komentarzy typu: "Super hosting - polecam!" & "Hosting jest to bani" będzie karane i nie brane pod uwagę. Negatywne opinie muszą być poparte jednoznacznymi dowodami. Tworzenie tzw. "supportu" z tematu jest zakazane. Jeśli chcesz rozwiązać problem, skontaktuj się prywatnie z hostingiem. Regulamin aktualny od dnia 23.10.2015r. Administracja zastrzega sobie prawo do zmiany w/w postanowień i informacji - informowani będą o tym użytkownicy.
  8. Szczegółowo, przejrzyście - https://mygo.pl/topic/64-faq-csgocsstf2/. Już prościej się nie da. Jeśli będziesz miał problem z jakimś punktem, napisz.
  9. Ostatnimi czasy pojawiła się fala oszustw związana z okradaniem ekwipunku. Może niektórzy z Was wiedzą i znają sztuczki tych złodziei ale jeszcze raz przedstawię Wam wraz z Vincenzo za zgodą modyfikowania poradnika i edytowania go - jak w prosty sposób można stracić wszystko w jedną chwilę jak i "zabezpieczyć się" przed tą falą oszustw. Ogóle informacje dot. głównie wymian i błędnych linków. Najważniejsze cechy na które powinniśmy zwrócić uwagę przy wymianie. Osoby, które chcą się z nami wymienić, posiadają tzw. żyjące konta: więcej gier niż 5, publiczny profil, jakiekolwiek komentarze, awatar. Pamiętajcie, że osoba, która posiada konto z wieloma grami nie będzie ryzykować dla 1 itemu blokady konta! Osoby podejrzane, które często chcą nas okraść, posiadają wymarłe lub nowe konta: 1 grę, prywatny profil, 0 komentarzy, brak awatara, Takie konta, nawet po zablokowaniu przez steam, można szybko wymienić na nowe: Może i wszystko pięknie wygląda ale przyglądając się bardziej na link możemy zauważyć pewną niezgodność związaną z LINKIEM: Aktualnie oszuści używają specjalnych linków które są skracane więc nie widać końcówki linku "niyty". Jeszcze jedną rzeczą jest fakt iż teraz jeśli dana osoba wejdzie w taki link zostanie on automatycznie rozsyłany po znajomych-działa to jak BOT który śle spamy po Waszych znajomych. Co zrobić jeśli wszedłem w link i straciłem ekwipunek ? Należy niezwłocznie napisać do supportu przedstawiając im: Kiedy nastąpiła kradzież. W jaki sposób zostałeś oszukany Napisz im z jakim użytkownikiem pisałeś i jaki link Ci podał Zrób "SS'y" podając im dowód (Dowody możecie sprawdzić wchodzą w swój ekwipunek > More>Trade Offers>View Inventory History. Powyższe punkty są tylko lekkim wzorem jak powinniście wysyłać zgłoszenia aby zostały one szybciej rozpatrzone. Fakt iż Support Steam nie ma obowiązku oddawania tych rzeczy ale to robi i w taki sposób ZGŁASZAJĄC IM TO pomagacie im i sobie nawet jeśli nie jesteście ofiarami oszustw a taka osoba pisze do Was. Dlatego support wyciąga pomocną dłoń ofiarom wspomnianego oszustwa jakim jest kradzież ekwipunku. Kolejna ważna sprawa 1. Gdy masz bardzo dużo rzeczy w inventory to wiele osób robi tak że wybiera do trade białe itemy a w środku np: Kose ale dużo osób tak się nabiera żeby temu zapobiec zawsze sprawdzaj czy nie ma takich wartościowych rzeczy 2.Nie klikaj w linki żadne jak znajdziesz coś dziwnego w linku np: Końcówkę .scr TO nie otwierać ! 3.I Nie nabieraj się na np że dam ci 50 euro za broń która kosztuje 5 euro lub cały ekwipunek bo to też jest Oszustwo NP: Przez trade zobacz VVVVV Steam Guard:Your account will be credited the amount of ?15 it will be available after the exchange. If you refuse the exchange amount will be refunded to the buyer.Sincerely administration SteamCommunity Pay: 1,00? Registration number:B10980M VAT ID: LU22517916 IBLT Number:25519716 CODE:GH2389U098 _____________________________ Date:30.12.2015 Time:18:58 Na to się nie nabieraj to tylko jest przykrywka że da ci 1 Euro. Nie próbuj !! Informacje będą aktualizowane co jakiś czas. Zapraszam do komentowania i wnoszenia nowych info do tematu.
  10. Temat służy tylko i wyłącznie do zamieszczenia ogłoszenia o naborze do klanu/chęci dołączenia do klanu. Przed dodaniem posta upewnij się, że zastosowałeś wzór. Gracz poszukujący klanu: Nick: Krótka informacja o sobie: Link do profilu Steam: Preferowane bronie: Kontakt: Dodatkowe informacje: Klan poszukujący graczy: Nazwa: Krótka informacja: Wymagania: Co oferujemy: Kontakt: Czas istnienia: Dodatkowe informacje: Każdy post nie na temat/bez wzoru będzie karany warnem, a następnie usuwany. Nagminne łamanie tych zasad będzie wiązało się z banem. Zakazane jest przesadne formatowanie tekstu (ogromny size, świecące literki, zbędne obrazki). Posty takie będą usuwane. Publikowanie linków zewnętrznych będzie skutkowało usunięciem posta, w najgorszym przypadku banem na 3 dni.
  11. Ten temat służy tylko i wyłącznie do szukania ludzi do gry. Przed dodaniem posta upewnij się, że zastosowałeś wzór. Wzór: Link do profilu: Ranga w grze: Liczba godzin w CS:GO: Wymagana ranga: Kontakt: Dodatkowe informacje: Każdy post nie na temat/bez wzoru będzie karany warnem, a następnie usuwany. Nagminne łamanie tych zasad będzie wiązało się z banem.Zakazane jest przesadne formatowanie tekstu (ogromny size, świecące literki, zbędne obrazki). Posty takie będą usuwane.
  12. @muffin - proszę o założenie nowego tematu z prośbą o rozwiązanie problemu w dziale: (kliknij tutaj). Ten temat służy jedynie do aktualizacji, zmianach związku z rozwjaniem VIP-a.
  13. Taki sklepik nie potrzebuje dobrego, dużego serwera. W zupełności oferta firmy mintshost.pl Cię zadowoli.
  14. Producent gry - firma Valve - wprowadza dla serwerów CS:GO obowiązkowy system tokenów "Steam Game Server Login Tokens (GSLTs)". Docelowo każdy właściciel serwera CS:GO będzie musiał powiązać go ze swoim kontem Steam. Warunki jakie musi spełniać konto: Twoje konto nie możem być aktualnie zbanowane lub zablokowane. Twoje konto nie może być obłożone limitami. Twoje konto musi mieć zarejestrowany numer telefonu. Twoje konto musi mieć wykupioną grę CS:GO. W ramach jednego konta można utrzymywać do 1000 serwerów. Należy jednak pamiętać, że jeżeli jeden serwer (czyli jeden token) zostanie zbanowany przez Valve np. za niedozwolone modyfikacje, wtedy wszystkie pozostałe serwery (tokeny) również zostają zablokowane. Dzięki tokenom Valve nie będzie musiało już blokować adresów IP, dlatego nie będzie już problemu banowania całych adresacji. Natomiast podstawową rolą tokenów jest aktualizowanie adresów serwerów w ulubionych w przypadku migracji. Połączenia do serwerów nadal odbywają się po IP i porcie, ale jeśli adres zmieni się - wtedy na podstawie tokenu jest aktualizowany w ulubionych graczy. Valve wprowadza system tokenów stopniowo. W pierwszym etapie, który już nastąpił jest możliwa rejestracja w systemie pod adresem (kliknij tutaj). W drugim etapie Valve wyda aktualizację dla serwerów CS:GO, która będzie zawierała nowy cvar sv_setsteamaccount. To ustawienie będzie umożliwiało powiązane serwera z kontem w systemi tokenów GSLT. W tym czasie korzystanie z tokenów nie będzie jeszcze wymagane. Docelowo w ostatnim, trzecim etapie, korzystanie z tokenów będzie już wymagane i nie będzie można uruchomić serwera CS:GO bez powiązania go z kontem. Dokładne terminy wprowadzenia tokenów nie są znane, ale zalecamy już przygotować się do tego. Warto już teraz zarejestrować na swoim koncie Steam numer telefonu, a także utworzyć tokeny dla swoich serwerów na stronie (kliknij tutaj). Więcej informacji: https://www.mail-archive.com/[email protected]/msg11747.html https://www.mail-archive.com/[email protected]/msg11783.html https://www.mail-archive.com/[email protected]/msg11890.html Co Wy o tym sądzicie?
  15. Wydaje mi się, że tylko i wyłącznie pod sourcemod.
  16. U mnie nie ma takich problemów. Podaj proszę IP serwera, sprawdzę.
  17. Dzisiejszej nocy pojawiła się nowa aktualizacja Counter Strike, wnosząca drobne zmiany przed zbliżającym się majorem. Rozgrywka: poprawiono czas trwania animacji flashbanga Mapy: poprawiono tekstury w różnych miejscach na de_cobblestone Różne: poprawiono poruszanie się botów od teraz w przypadku błędu serwerów Valve graczom nie będą zmieniane sloty broni.
  18. W tym poradniku pokaze w jaki sposob dodac cod misje do silnika. Pierw na gorze dodajemy: new misja_klasy_gracza[MAX_PLAYERS+1][MAX_CLASS+1], zabicia_klasy_gracza[MAX_PLAYERS+1][MAX_CLASS+1], misja_gracza[MAX_PLAYERS+1], zabicia_gracza[MAX_PLAYERS+1] new nazwy_misji[][] = { // Lvl // Zabicia // Kogo // Nagroda {0, 0, 0, 0}, // 0 {300, 15, Snajper, 5000}, // 1 {400, 30, Komandos, 10000}, // 2 {500, 45, Obronca, 15000}, // 3 {600, 60, Medyk, 20000}, // 4 {700, 75, Saper, 25000}, // 5 {800, 90, Rusher, 30000}, // 6 {900, 105, Kangur, 35000}, // 7 {1000, 120, Admiral, 40000}, // 8 {1200, 135, Rebeliant, 45000}, // 9 {1400, 150, Szturmowiec, 50000}, // 10 {1600, 165, Kamikadze, 55000}, // 11 {1800, 180, Strzelec, 60000}, // 12 {2000, 195, Szpieg, 65000}, // 13 {2300, 210, Mauser, 70000}, // 14 {2600, 5, 4, 15000}, // 15 {2900, 10, 5, 30000}, // 16 {3200, 15, 6, 45000}, // 17 {3600, 20, 7, 60000}, // 18 {4000, 25, 8, 75000}, // 19 {4400, 30, 9, 90000}, // 20 {4800, 35, 10, 105000}, // 21 {5200, 40, 13, 120000}, // 22 {5600, 45, 14, 135000}, // 23 {6000, 50, 15, 150000}, // 24 {6400, 55, 16, 165000}, // 25 {6800, 60, 18, 180000}, // 26 {7200, 65, 20, 195000}, // 27 {7600, 70, 24, 210000}, // 28 {8000, 75, 26, 225000}, // 29 {8400, 80, 31, 240000} // 30 }; new String:opisy_misji[][] = { "Brak. Wpisz /misja aby rozpoczac", // 0 "Zabij 15 Snajperow - 5000 Dosw.", // 1 "Zabij 30 Komandosow - 10000 Dosw.", // 2 "Zabij 45 Obroncow - 15000 Dosw.", // 3 "Zabij 60 Medykow - 20000 Dosw.", // 4 "Zabij 75 Saperow - 25000 Dosw.", // 5 "Zabij 90 Rusherow - 30000 Dosw.", // 6 "Zabij 105 Kangurow - 35000 Dosw.", // 7 "Zabij 120 Admiralow - 40000 Dosw.", // 8 "Zabij 135 Rebeliantow - 45000 Dosw.", // 9 "Zabij 150 Szturmowcow - 50000 Dosw.", // 10 "Zabij 165 Kamikadze - 55000 Dosw.", // 11 "Zabij 180 Strzelcow - 60000 Dosw.", // 12 "Zabij 195 Szpiegow - 65000 Dosw.", // 13 "Zabij 210 Mauserow - 70000 Dosw.", // 14 "Zabij 5 osob z Apteczka - 15000 Dosw.", // 15 "Zabij 10 osob z Adrenalina - 30000 Dosw.", // 16 "Zabij 15 osob z Regeneratorem - 45000 Dosw.", // 17 "Zabij 20 osob z Morfina - 60000 Dosw.", // 18 "Zabij 25 osob z Ksiega Expa. - 75000 Dosw.", // 19 "Zabij 30 osob z Portfel Turysty - 90000 Dosw.", // 20 "Zabij 35 osob z Kamizelka Nasa - 105000 Dosw.", // 21 "Zabij 40 osob z Mocnymi Nogami - 120000 Dosw.", // 22 "Zabij 45 osob z Notatkami Kapitana - 135000 Dosw.", // 23 "Zabij 50 osob z Tytanowymi Nabojami - 150000 Dosw.", // 24 "Zabij 55 osob z Nabojami Pulkownika - 165000 Dosw.", // 25 "Zabij 60 osob z Nozem Mysliwego - 180000 Dosw.", // 26 "Zabij 65 osob z Pancernym Helmem - 195000 Dosw.", // 27 "Zabij 70 osob z Plaszczowymi Nabojami - 210000 Dosw.", // 28 "Zabij 75 osob z Tajemnica Molotova - 225000 Dosw.", // 29 "Zabij 80 osob z Ogranicznikiem Rozrzutu - 240000 Dosw." // 30 }; pozniej szukamy: public OnClientPutInServer(client) { i dodajemy do srodka: misja_gracza[client] = 0; zabicia_gracza[client] = 0; oraz zamieniamy: for(new i = 1; i < sizeof nazwy_klas; i ++) { poziom_klasy_gracza[client][i] = 1; doswiadczenie_klasy_gracza[client][i] = 0; inteligencja_klasy_gracza[client][i] = 0; zdrowie_klasy_gracza[client][i] = 0; obrazenia_klasy_gracza[client][i] = 0; wytrzymalosc_klasy_gracza[client][i] = 0; kondycja_klasy_gracza[client][i] = 0; } na for(new i = 1; i < sizeof nazwy_klas; i ++) { poziom_klasy_gracza[client][i] = 1; doswiadczenie_klasy_gracza[client][i] = 0; inteligencja_klasy_gracza[client][i] = 0; zdrowie_klasy_gracza[client][i] = 0; obrazenia_klasy_gracza[client][i] = 0; wytrzymalosc_klasy_gracza[client][i] = 0; kondycja_klasy_gracza[client][i] = 0; misja_klasy_gracza[client][i] = 0; zabicia_klasy_gracza[client][i] = 0; } pozniej szukamy: public Action:PlayerDeath(Handle:event_death, String:name[], bool:dontBroadcast) { new client = GetClientOfUserId(GetEventInt(event_death, "userid")); new killer = GetClientOfUserId(GetEventInt(event_death, "attacker")); if(!IsValidClient(client) || !IsValidClient(killer)) return; if(klasa_gracza[killer] && GetClientTeam(client) != GetClientTeam(killer)) { i dodajemy do srodka, nad if(headshot[client]): if(misja_gracza[killer]) { if(klasa_gracza[client] == nazwy_misji[misja_gracza[killer]][2] || informacje_itemu_gracza[client][0] == nazwy_misji[misja_gracza[killer]][2]) zabicia_gracza[killer] ++; if(zabicia_gracza[killer] == nazwy_misji[misja_gracza[killer]][1]) { doswiadczenie += nazwy_misji[misja_gracza[killer]][3]; PrintToChat(killer, "[COD:MW] Wykonales zadanie: [%s]. Gratulacje!", opisy_misji[misja_gracza[killer]]); misja_gracza[killer] = 0; zabicia_gracza[killer] = 0; } } teraz musimy jeszcze przerobic zapis, szukamy: WybierzKlase(client) i pod kondycja_klasy_gracza[client][klasa_g] = kondycja_gracza[client]; dodajemy misja_klasy_gracza[client][klasa_g] = misja_gracza[client]; zabicia_klasy_gracza[client][klasa_g] = zabicia_gracza[client]; nastepnie zamieniamy: Format(tmp, sizeof(tmp), "SELECT `lvl`, `xp`, `inteligencja`, `zdrowie`, `obrazenia`, `wytrzymalosc`, `kondycja`, `klasa` FROM `codmod` WHERE steamid = '%s';", authid); na Format(tmp, sizeof(tmp), "SELECT `lvl`, `xp`, `inteligencja`, `zdrowie`, `obrazenia`, `wytrzymalosc`, `kondycja`, `misja`, `zabicia`, `klasa` FROM `codmod` WHERE steamid = '%s';", authid); teraz przechodzimy do: public WybierzKlase2(Handle:owner, Handle:query, const String:error[], any:client) { i zamieniamy caly public na public WybierzKlase2(Handle:owner, Handle:query, const String:error[], any:client) { if(query == INVALID_HANDLE) { LogError("Load error: %s", error); return; } if(SQL_GetRowCount(query)) { new poziom = 1, doswiadczenie = 0, inteligencja = 0, zdrowie = 0, obrazenia = 0, wytrzymalosc = 0, kondycja = 0, misja = 0, zabicia = 0; new String:klasa[512]; while(SQL_MoreRows(query)) { while(SQL_FetchRow(query)) { poziom = SQL_FetchInt(query, 0); doswiadczenie = SQL_FetchInt(query, 1); inteligencja = SQL_FetchInt(query, 2); zdrowie = SQL_FetchInt(query, 3); obrazenia = SQL_FetchInt(query, 4); wytrzymalosc = SQL_FetchInt(query, 5); kondycja = SQL_FetchInt(query, 6); misja = SQL_FetchInt(query, 7); zabicia = SQL_FetchInt(query, 8); SQL_FetchString(query, 9, klasa, sizeof(klasa)); for(new i = 1; i < sizeof nazwy_klas; i ++) { if(StrEqual(nazwy_klas[i], klasa)) { poziom_klasy_gracza[client][i] = poziom; doswiadczenie_klasy_gracza[client][i] = doswiadczenie; inteligencja_klasy_gracza[client][i] = inteligencja; zdrowie_klasy_gracza[client][i] = zdrowie; obrazenia_klasy_gracza[client][i] = obrazenia; wytrzymalosc_klasy_gracza[client][i] = wytrzymalosc; kondycja_klasy_gracza[client][i] = kondycja; misja_klasy_gracza[client][i] = misja; zabicia_klasy_gracza[client][i] = zabicia; } } } } } WybierzKlaseMenu(client); polaczony_raz[client] = 0; } teraz szukamy: public Action:DataBaseConnect() { i zamieniamy SQL_FastQuery(sql, "CREATE TABLE IF NOT EXISTS `codmod` (`id` INT(11) NOT NULL AUTO_INCREMENT, `steamid` VARCHAR(48) NOT NULL, `klasa` VARCHAR(48) NOT NULL, `lvl` INT(11) DEFAULT 1, `xp` INT(14), `inteligencja` INT(9), `zdrowie` INT(9), `obrazenia` INT(9), `wytrzymalosc` INT(9), `kondycja` INT(9), PRIMARY KEY (`id`), UNIQUE KEY `klasaid` (`klasa`,`steamid`)) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_polish_ci;"); na SQL_FastQuery(sql, "CREATE TABLE IF NOT EXISTS `codmod` (`id` INT(11) NOT NULL AUTO_INCREMENT, `steamid` VARCHAR(48) NOT NULL, `klasa` VARCHAR(48) NOT NULL, `lvl` INT(11) DEFAULT 1, `xp` INT(14), `inteligencja` INT(9), `zdrowie` INT(9), `obrazenia` INT(9), `wytrzymalosc` INT(9), `kondycja` INT(9), `misja` INT(9), `zabicia` INT(9), PRIMARY KEY (`id`), UNIQUE KEY `klasaid` (`klasa`,`steamid`)) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_polish_ci;"); nastepnie szukamy public Action:ZapiszDane(client) { i zamieniamy: Format(tmp, sizeof(tmp), "INSERT INTO `codmod` (`steamid`, `klasa`, `lvl`, `xp`, `inteligencja`, `zdrowie`, `obrazenia`, `wytrzymalosc`, `kondycja`) VALUES ('%s', '%s', %d, %d, %d, %d, %d, %d, %d) ON DUPLICATE KEY UPDATE `lvl`=VALUES(`lvl`), `xp`=VALUES(`xp`), `inteligencja`=VALUES(`inteligencja`), `zdrowie`=VALUES(`zdrowie`), `obrazenia`=VALUES(`obrazenia`), `wytrzymalosc`=VALUES(`wytrzymalosc`), `kondycja`=VALUES(`kondycja`);", authid, nazwy_klas[klasa_gracza[client]], poziom_gracza[client], doswiadczenie_gracza[client], inteligencja_gracza[client], zdrowie_gracza[client], obrazenia_gracza[client], wytrzymalosc_gracza[client], kondycja_gracza[client]); na Format(tmp, sizeof(tmp), "INSERT INTO `codmod` (`steamid`, `klasa`, `lvl`, `xp`, `inteligencja`, `zdrowie`, `obrazenia`, `wytrzymalosc`, `kondycja`, `misja`, `zabicia`) VALUES ('%s', '%s', %d, %d, %d, %d, %d, %d, %d, %d, %d) ON DUPLICATE KEY UPDATE `lvl`=VALUES(`lvl`), `xp`=VALUES(`xp`), `inteligencja`=VALUES(`inteligencja`), `zdrowie`=VALUES(`zdrowie`), `obrazenia`=VALUES(`obrazenia`), `wytrzymalosc`=VALUES(`wytrzymalosc`), `kondycja`=VALUES(`kondycja`), `misja`=VALUES(`misja`), `zabicia`=VALUES(`zabicia`);", authid, nazwy_klas[klasa_gracza[client]], poziom_gracza[client], doswiadczenie_gracza[client], inteligencja_gracza[client], zdrowie_gracza[client], obrazenia_gracza[client], wytrzymalosc_gracza[client], kondycja_gracza[client], misja_gracza[client], zabicia_gracza[client]); nastepnie szukamy public Action:WczytajDane(client, klasa) { i pod kondycja_gracza[client] = kondycja_klasy_gracza[client][klasa]; dodajemy misja_gracza[client] = misja_klasy_gracza[client][klasa]; zabicia_gracza[client] = zabicia_klasy_gracza[client][klasa]; teraz gdzies na dole dodajemy: public Action:WybierzMisje(client) { if(klasa_gracza[client]) { if(misja_gracza[client]) { new Handle:menu = CreateMenu(WybierzMisje_Handler); SetMenuTitle(menu, "Menu Misje:"); AddMenuItem(menu, "1", "Opis Misji"); AddMenuItem(menu, "2", "Anuluj Misje"); DisplayMenu(menu, client, 250); } else { new String:misja[512]; new Handle:menu = CreateMenu(WybierzMisje_Handler); SetMenuTitle(menu, "Wybierz Misje:"); for(new i = 1; i <sizeof nazwy_misji; i ++) { Format(misja, sizeof(misja), "%s (Od %dLv)", opisy_misji[i], nazwy_misji[i][0]); AddMenuItem(menu, "3", misja); } DisplayMenu(menu, client, 250); } } else PrintToChat(client, "[COD:MW] Musisz miec wybrana klase aby moc wlaczyc misje!"); } public WybierzMisje_Handler(Handle:classhandle, MenuAction:action, client, Position) { if(action == MenuAction_Select) { new String:Item[32]; GetMenuItem(classhandle, Position, Item, sizeof(Item)); Position++; if(StrEqual(Item, "1")) OpisMisji(client); else if(StrEqual(Item, "2")) { misja_gracza[client] = 0; zabicia_gracza[client] = 0; if(!zapisz_dane[client]) zapisz_dane[client] = 1; PrintToChat(client, "[COD:MW] Anulowales swoje aktualne zadanie! Wpisz /misja aby rozpoczac."); } else if(StrEqual(Item, "3")) { if(poziom_gracza[client] >= nazwy_misji[Position][0]) { misja_gracza[client] = Position; if(!zapisz_dane[client]) zapisz_dane[client] = 1; PrintToChat(client, "[COD:MW] Wybrales zadanie: [%s]. Powodzenia!", opisy_misji[Position]); } else { WybierzMisje(client); PrintToChat(client, "[COD:MW] Wybrane zadanie dostepne jest od %dLv!", nazwy_misji[Position][0]); } } } else if(action == MenuAction_End) CloseHandle(classhandle); } public Action:OpisMisji(client) { if(klasa_gracza[client]) PrintToChat(client, "[COD:MW] Postep misji: %i/%i osob - Twoje zadanie: %s.", zabicia_gracza[client], nazwy_misji[misja_gracza[client]][1], opisy_misji[misja_gracza[client]]); else PrintToChat(client, "[COD:MW] Musisz miec wybrana klase aby moc sprawdzic misje!"); } nastepnie szukamy: public Action:Komendy(client, args) { i gdzies pod publiciem CodSklep dodajemy: else if(strcmp(text, "/misja", false) == 0 || strcmp(text, "/misje", false) == 0 || strcmp(text, "/quest", false) == 0 || strcmp(text, "/zadania", false) == 0) WybierzMisje(client); else if(strcmp(text, "/info", false) == 0 || strcmp(text, "/infomisja", false) == 0 || strcmp(text, "/sprawdz", false) == 0 || strcmp(text, "/sprawdzmisje", false) == 0) OpisMisji(client); Jezeli zrobiles wszystko tak jak wyzej to powinienes miec dzialajace misje. Uwaga, jezeli modyfikujesz swoj zapis, musisz usunac aktualny plik zapisu lub zmodyfikowac go poprzez dodanie nowych kolumn do pliku. Jezeli tego nie zrobisz serwer bedzie wyswietlac bledy. I teraz tak jak chcesz zmodyfikowac misje to zmiany wprowadzasz tutaj: new nazwy_misji[][] = oraz w opisie danej misji. Pierwsza kolumna odpowiada za poziom od ktorego ma byc misja, druga za liczbe zabic jaka musimy wykonac, trzecia za osobe ktora musimy zabic (nazwa klasy lub nr itemu), czwarta za nagrode ktora otrzymamy za wykonanie misji. Autorem poradnika jest @Linux`. Oryginalny temat: [cs:go]CodMod_Stary - Jak dodac cod misje - Tutoriale - AMXX.pl: Support AMX Mod X
  19. Temat został zamknięty przez moderatora forum. Jeśli się z tym nie zgadzasz, raportuj ten post, a moderator rozpatrzy go ponownie.
  20. @skaju - podaj rozwiązanie w temacie, na przyszłość. Być może ktoś inny będzie poszukiwał odpowiedzi.
  21. @naXe - Nie miałem Ciebie na myśli, jeśli chodzi o administratora, który siedział bezczynnie. Przepraszamy was ostatnio za chwilowe braki w dostępie do forum. Mogą występować jeszcze przez pierwsze dni, aczkolwiek są one wywołaniem optymalizacji strony, oraz wyeliminowanie jakichkolwiek błędów, które utrudniają z normalnego korzystania z forum. Bywa niestety już tak, iż naprawimy jeden błąd, pojawia się automatycznie drugi. Uprzejmie informuję, iż od 03.10.2015 firma Dostrzegani.pl jest obecnie naszą prawą reką - dlaczego? Otóż to. Jak zauwazyliście, a przede wszystkim czytaliście sens tego wątku, forum od jakiegoś czasu zostało przeze mnie strasznie zaniedbane, za co się się przyznaję do dziś. Moje zachowanie również nie kiedy jest nie znosze, mam swoich przyjaciół, jak ich wrogów (niestety), ale przeciez każdemu nie dogodzimy w dzisiejszym świecie, ale może ten temat zostawmy w świętym spokoju i przejdę do sedna. Postanowiłem wziąć się ostro do pracy, zmotywować po to, aby #mygo wróciło na swoje pierwsze miejsce. Wszelkie pierwszy efekty pracy co po niektórzy mogli już zobaczyć gołym okiem, aczkolwiek raczej uderzam w tych, którzy bacznie odwiedzają forum. Wkońcu przyszedł czas na gruntowne zmiany. Powyższa firma, którą wymieniłem zajmuje się optymalizacją, oraz pozycjonowaniem stron internetowych w google. Aktualnie jesteśmy na etapie pewnej strategii. Efekty niestety nie będą widoczne od razu, ponieważ nie jest to zależne od nas, lecz od firmy, która aktualnie pracuje nad pozycją w google. Miejmy nadzieję, że pierwsze efekty zobaczymy już niebawem i będę przyglądać się z uśmiechem na twarzy, jak dzielnie forum się rozwija. Byłbym zapomniałem. Wielkie podziękowania również dla załogi forum, a przede wszystkim dla administratorów technicznych, jak i ludzi: @Sevos, czy @naXe. Ludzie, na których zawsze mogę liczyć, z każdym problemem, choć nie zawsze chłopaki mają czas, chęć na moje zachcianki. Nie mogę również zapomnieć o tutejszych moderatorach, którzy są z nami od kilku miesięcy i dzielnie pilnują porządku na forum - jesteście wielcy. Również podziękowania dla ekipy, której ciałem już nie ma, aczkolwiek duchem na pewno gdzieś tam są z nami. @mastah7991 - dzięki wielkie za rozpoczęcie napisania, a przede wszystkim za chęć projektowania generatora [VIP] w celach charytatywnych. Mam nadzieję, że jeszcze do nas również, jak sobie wszystko przemyślisz! Na dzisiaj, to tyle. W razie jakichkolwiek propozycji, problemów, skarg chętnie pomogę. Również będę wdzięczny za zgłaszanie błędów, które występują na forum. Są przypadki, gdzie użytkownicy narzekają na błędy, gdzie administracja zobaczy później, niż jakikolwiek użytkownik, a następnie rozwija się wielku huk z tego powodu, iż społeczność nie może korzystać z forum w sposób normalny - były, są takowe przypadki. Proszę! Zgłaszajcie jakikolwiek bug, który znajduje się na forum. Was to nic nie kosztuje, a będziemy mogli zająć się dalszym usprawnianiem projektu #mygo. Dzięki wielkie, Pozdrawiam.
  22. Aktualnie projekt wstrzymany do odwołania. W poszukiwaniu nowego wykonawcy.
  23. Poradniki są z starej bazy danych MYGO.pl
  24. Bazy Danych MySQL - są wykorzystywane do odbierania, przechowywania i wysyłania danych. Niektóre hostingi oferują 1 bazę danych lub ograniczoną ilość do serwera, taka baza jest o wiele lepsza niż baza zrobiona na osobnym hostcie, ponieważ czas wysyłania i odbierania danych jest krótszy i bardziej płynny. Jeżeli nasz hosting nie dostarcza nam bazy danych możemy wykupić sobie subdomenę na jednym z licznych hostingów www. Zakupienie takiej domeny nie dość, że umożliwi nam tworzenie baz danych niezbędnych do niektórych pluginów to również da nam możliwość stworzenia forum do naszego serwera. Przykładowe hostingi www, które mają w ofercie min. 5 do nieograniczonej ilości baz danych: proserwer.pl , mintshost.pl (obecnie korzystam z mintshostu, mogę stworzyć nieograniczoną ilość baz danych jak i również panele do pluginów za 30zł rocznie). Przykład bazy danych i jej zastosowania na przykładzie pluginu rankme: *Od strony hostingu www Poprzez panel na hostingu tworzymy nową bazę danych, wystarczy podać nazwę bazy, użytkownika i hasło. IP/Host: 666.666.666:997 Nazwa: rydzyk Użytkownik: satan Hasło: goatofhell Jeżeli korzystacie z bazy danych na osobnym hostingu www nie zapomnijcie umożliwić hostowi serwera wysyłania informacji do bazy danych, możecie to zrobił poprzez panel zarządzania domeną - na proserwer.pl cPanel. *Od strony serwera Pluginy, które wykorzystują bazy danych wymagają dopisania jej w pliku databases.cfg znajdującego się w addons/sourcemod/configs "rankme" { "driver" "default" ~ default = baza MySQL "host" "666.666.666" ~ tutaj mamy nasz host, NIGDY nie podajemy portu, np. z ip 666.666.666:997 odrzucamy port :997 "database" "rydzyk" ~ tutaj wpisujemy nazwę naszej bazy danych "user" "satan" ~ tutaj podajemy użytkownika bazy danych "pass" "goatofhell" ~ tutaj podajemy ustawione lub wygenerowane przez nas hasło do bazy } Istnieje również sposób niewymagający zewnętrznej bazy danych. Sposób ten wykorzystuje bazę sql-lite generowaną przez serwer, jednak nie polecam tej metody. Może ona powodować przeciążenia i lagi na serwerze. "rankme" { "driver" "sqlite" "host" "localhost" "database" "rankme" "user" "root"
×
×
  • Dodaj nową pozycję...