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

plx211

Użytkownik
  • Postów

    11
  • Dołączył

  • Ostatnia wizyta

  • Wygrane w rankingu

    3

Ostatnia wygrana plx211 w dniu 2 Kwietnia 2016

Użytkownicy przyznają plx211 punkty reputacji!

Informacje o mnie

  • Płeć
    Kobieta

Kontakt

Ostatnie wizyty

586 wyświetleń profilu

Osiągnięcia plx211

Nowicjusz

Nowicjusz (1/14)

11

Reputacja

  1. NIE UZYWAJ TEGO GENERATORA, vip by hanys jest lepszy
  2. Jak nie chcesz takich vipow to: - napisz sam - zaplac komus aby napisal Vip hanysa ma wiekszosc fn ktore potrzebujesz, ale trzeba wiedziec narpiew co to cvar (aby jak najlepiej z niego skorzystac)
  3. Po pierwsze nie znam tej biblioteki Po drugie: To jest nie prawda Masz duze doswiadczenie w pisaniu pod sm (a w tym przypadku pod server csgo)?
  4. Projekt bez sensu (jako grupowy) Kod bazuje na kodzie @Ilovenoobs , nie chcialo mi sie wszystkiego przepisywac . Nie testowane, ale sie kompiluje ;) #include <sourcemod> #include <basecomm> char colorName[][] = { "#default", "#darkred", "#pink", "#green", "#lightgreen", "#lime", "#red", "#grey", "#olive", "#a", "#lightblue", "#blue", "#d", "#purple", "#darkorange", "#orange" }; int colorValue[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 }; const int colorCount = 16; public void OnPluginStart() { RegConsoleCmd("say", onSay); } int getColorNumber(char[] color) { for (int i = 0; i < colorCount; ++i) if (StrEqual(color, colorName[i])) return colorValue[i]; return colorValue[0]; } public Action onSay(int client, int args) { if (BaseComm_IsClientGagged(client)) // nie jestem pewienn czy to potrzebne return Plugin_Continue; char[] text = new char[1024]; GetCmdArgString(text, 1023); StripQuotes(text); char[] colorBuffor = new char[128] GetCmdArg(1, colorBuffor, 127); PrintToChatAll("\x01%s %N: %c%s", IsPlayerAlive(client) ? "" : "*NIE ŻYJE*", client, getColorNumber(colorBuffor), text); return Plugin_Handled; }
  5. Pluginy *Core byly tak pisane aby nie wymagaly siebie nawzajem, cala zaleznosc miedzy nimi zostanie wrzucona do (opcjonalnych) zewnnetrznych pluginow Tak, kompilator SP 1.7 jest zabugowany, kod po kompilacji nie dzialal Po za tym SP 1.8 ma troche inna skladnie, przyklad: kod z SP 1.7: methodmap A < Handle __nullable__ { public ~A() { //deconstructor code } //code }; ten sam kod w SP 1.8 (tylko ze dekonsturktor jest nie dostepny): methodmap A __nullable__ < Handle { //code }; Mala linijka a uniemozliwia kompilacje Tak, po skompilowaniu w 1.8 mozesz plugin odpalac na serverze z sm 1.7.3 Mozesz uzyc tego samego plugin do roznych celow, np. CodMod od DiabloMod'a tak naprawde rozni sie tym ze DiabloMod nie ma restrykcji broni. Po za tym jesli w ktoryms z pluginow bedzie blad, to sm wylaczy tylko ten plugin dzieki czemu szybko mozemy go podmienic/naprawic ;) Nie ma zadnych problemow :) To bylo 1 z zalozen. Jeszcze nie, powoli sobie kodze, ale dodam to do todo, jak bys byl zainteresowany zrobieniem tego to zapraszam, chetnie dodam do repo ;) Stworzyc jakis admin center ? Issue #14 ? plx211/Cmod ? GitHub Nie bralem tego za priorytet, ale bedzie to dodane pozniej (w Cmod_ClassCore trzeba napisac kod odpowiedzialny za zwracanie wartosci z forwardu, z jakies 3linijki) Umozliwic blokowanie ustawienia klasy ? Issue #13 ? plx211/Cmod ? GitHub Stworzyc system misji ? Issue #12 ? plx211/Cmod ? GitHub Stworzyc system walut i jakis podstawowy sklep do niego ? Issue #11 ? plx211/Cmod ? GitHub Stworzyc przyklady ? Issue #5 ? plx211/Cmod ? GitHub Stworzyc prosty system wyswietlania informacji w hud ? Issue #10 ? plx211/Cmod ? GitHub Napisalem 2 poradniki (pozniej sie pojawi wiecej) ktore cie moga zainteresowac (nie widzialem odpowiedniego dzialu wiec nie publikowalem ich na tym forum, jak znajde dzial to w nim napisze i zmiennie tu linki) [Cmod][Poziom podstawowy] Tworzenie statystyki - Tutoriale - AMXX.pl: Support AMX Mod X [Cmod][Poziom podstawowy] Tworzenie skilla - Tutoriale - AMXX.pl: Support AMX Mod X Przykladowy (pseudo) kod (pisany od reki) z uzyciem samego ExpCore: #include <sourcemod> #include <cmod> const int MAX_LVL = 200; const int LVL_RATIO = 35; // Exp potrzebny na kolejny lvl, jest liczony wzorem lvl * lvl * LVL_RATIO const int EXP_FOR_DEATH = 10; ExpID clientExpID[MAXPLAYERS + 1]; public void OnPluginStart() { // hookujesz sobie np. event player_death do callbacku onClientDeath } public void OnPluginEnd() { for (int client = 1; client < MAXPLAYERS; ++client) if (clientExpID[client].isValid()) clientExpID[client].remove(); } public void OnClientPutInServer(int client) { clientExpID[client] = new ExpID(MAX_LVL, LVL_RATIO); clientExpID[client].hookLvlChange(onLvlChange); } public void OnClientDisconnect(int client) { clientExpID[client].remove(); } int findClientByExpID(ExpID expID) { for (int client = 1; client < MAXPLAYERS; ++client) if (clientExpID[client] == expID) return client; return -1; } public void onLvlChange(ExpID expID, int oldLvl, int newLvl) { int client = findClientByExpID(expID); PrintToChat(client, "Twoj lvl ulegl zmiannie z %d lvl na %d lvl", oldLvl, newLvl); } // nie chce mi sie zbytnio pisac, wiec uznajmy ze callback ma takie parametry :) public void onClientDeath(int victim, int attacker) { clientExpID[attacker].exp += 10; clientExpID[attacker].checkLvl(); } Teoretycznie silnik rezerwuje MAXPLAYERS + 1 slotow dla clientow, ale powyzsza opcjia jest bezpieczniejsza, po za tym nie wiem czy ta rezerwacja pozostanie. Niedlugo dodam do repo porzadnie napisany powyzszy kod ;) ExpID mozesz zastosowac do: klasy itemu skilla statystyki wykupywanie powyzszych (nie musisz wywolywac checkLvl) jako prosty system monet sklep za exp exp druzyn "poziom" gry (do pozniejszego np. najlepszego rozegrania) mozesz dawac graczu co X czasu Y exp'a i wraz z wiekszym lvl'em wieksze korzysci i wiele wiele wiecej (o ile wyobraznia ci pozwala) ExpID jest przechowywany (tak samo jak reszta) w tablicy dynamicznej dlatego nie ma teoretycznie limitu. Oznacza to ze mozesz graczowi kovalsky utworzyc 128 systemu expa, bo ci sie tak podoba ;) Oczywiscie do dzialania wymaga Cmod_ExpCore :) Cala lista todo: Issues ? plx211/Cmod ? GitHub Mam nadzieje ze odpowiedzialem na wszystkie twoje pytania :)
  6. Jak zwykle z gory przepraszam za brak Polskich znakow, oraz ewentualne bledy ortograficzne/interpunkcyjine. Wstep: Chcial bys zalozyc server CodMod, DiabloMod, lub jakis inny? Ale nie chce ci sie pisac systemu exp'a, item'ow, klas? Ten plugin (a raczej te pluginy) sa wlasnie dla ciebie Cmod to zbior pluginów, ktory ulatwi ci szybkie napisanie (a juz w krotce skonfigurowanie) swojego wlasnego RPG Moda. W aktualnej wersji najbardziej skorzystaja osoby ktore znaja sie na scriptingu w SP, ale obiecuje ze niedlugo to sie zmienni Zawartosc: Na dzien dzisjejszy w paczce znajdziesz: Cmod_ClassCore plugin odpowiedzialny za klasy (tworzenie, usuwanie, forwardy) Cmod_ExpCore plugin odpowiedzialny za system exp'a Cmod_ItemCore plugin odpowiedzialny za itemy (tworzenie, usuwanie, forwardy) Cmod_SkillCore plugin odpowiedzialny za skille (tworzenie, usuwanie, forwardy) Cmod_PreparedSkill plugin odpowiedzialny za konfiguracjie skilli Cmod_StatsCore plugin odpowiedzialny za statystyki Roznice od poprzedniej wersji: Kod od ostatniego prototypu zostal napisany kilku krotnie, publikuje ta wersjie ze wzgledu na to ze jestem z niej najbardziej zadowolony (ale czas oceni jak bedzie sie to sprawdzac). Klasy/itemy z prototypu nie beda dzialac pod ta wersjia!!! Jaka jest roznica od prototypu? Miedzy innymi: Rozbicie kodu na odzielnne pluginy Nowa idea Kod oparty na skladni SP 1.7+ Prawie wszystkie dane oparte na tablicach dynamicznych (Dzięki ktorym nie trzeba ustawiac limitu klas/itemow/itp.) Twoja pomoc: Chcesz pomoze w rozwoju, ale nie wiesz co zrobic? od razu ci powiem ze mile widziane jest: Dolaczenie sie do rozwoju Cmod'a (chetnie będę przyjmowal Pull request) Dawanie propozycji co mozna by stworzyc itp. Zglaszanie bledow z jak najwieksza iloscia informacji Datki Download: Najnowsze wydanie (download) Kod zrodlowy (source) Do kompilacji wymagany jest: SP 1.8+
  7. W features z linku ktory podales, jest opisane (Anti-ChainKill i Anti-GangBang)
  8. Probowales tego?: <img src="http://jakis_hosting.net/obrazek.jpg"></img> najlepiej zapodaj swoje motd ;)
  9. Klasa (prawidlowo napisana) sama powiadami silnik ;) Jesli twoja klasa tego nie robi, to brakuje ci wywolania funkcji Cmod_RegisterClass w forwardzie OnPluginStart
×
×
  • Dodaj nową pozycję...