Skocz do zawartości

cxxus

Użytkownik
  • Zawartość

    201
  • Rejestracja

  • Ostatnia wizyta

Zawartość dodana przez cxxus

  1. cxxus

    Prośby o ScriptFiles

    Cześć tutaj piszemy prośby o scriptfiles do RP! Przyklad : Nazwa Mapy : Moje-RP Link : Nie wydałem. Oczywiście wy musicie podać skąd pobraliście mape. Pamiętajcie że nie podajemy linków do stron konkutencyjnych!
  2. Chyba każdy rozumie o co chodzi. ... nie pozwala siedzieć na kompie po północy.
  3. Witajcie. Po jakimś czasie znowu ciągnie mnie do powrotu do sceny Role Play. Myślę nad otwarciem nowego serwera tegoż typu. Ale zastanawiam się nad jednym - czy jest sens? Mam zrobiony skrypt sprzed paru miesięcy, wystarczy go dokończyć i dodać jakieś nowości. Zastanawiam się czy znajdą się graczę, aby było przynajmniej te 70-80 online w godzinach szczytu. Myślicie, że może wypalić, czy raczej dać sobie siana? Pozdrawiam.
  4. Piszę ten poradnik od początku dlatego proszę o wyrozumiałość. Usunęło mi się, gdyż podczas pisania nie chodziłem po forum (to chyba jasne) i mnie wylogowało. Podstawy Operacje na jednym klawiszu Operacje na kilku klawiszach 1. Podstawy Na początku napisze o podstawach, czyli co się dzieje, gdy klikamy klawisz, czym sprawdzamy nacisnięty klawisz i dlaczego niektóre klawisze są niedostępne. No to zacznijmy, na początku powiem wam co się dzieje, gdy klikacie klawisz w grze, na początku zostaje on przesłany, do callbacka OnPlayerKeyStateChange, do parametru newkeys, później przechodzi długą drogą przed kod który my napisaliśmy, by zamienić się w oldkeys, czyli ostatnio nacisnięty klawisz. Nacisnięty klawisz sprawdzamy instrukcją warunkową w callbacku OnPlayerKeyStateChange. Niektóre klawisze są niedostepne, dlaczego? Ponieważ, dostępne są tylko te klawisze które są używane przez grę, np. sprint, submission, alt, ctrl. 2. Operacje na jednym klawiszu Znasz już podstawy, to dobry moment abym nauczył Cię operować na jednym klawiszu. Jak już wiesz czym sprawdzamy klawisze i w jakim callbacku, no to zabieramy się do roboty! Na początku idziemy do callback OnPlayerKeyStateChange, i piszemy słowo if( czyli jeśli. potem dopisujemy newkeys == KEY_SPRINT) newkeys - to parametr w callbacku OnPlayerKeyStateChange. == - Równa się. (Sprawdzenie czy np. 28 równa się 28). KEY_SPRINT - klawisz(definicja, jeżeli nie znamy id,a znamy taką definicje możemy ją podmienić zamiast id). Otwieramy teraz nawiasem klamrowym ( { ) No dobrze, teraz skoro już wiemy jak sprawdzić klawisz, zrobimy aby po kliknięciu klawisza wyświetlał się text = Użyto jednego klawisza. No to dodajemy kod : SendClientMessage(playerid, -1, "Użyto jednego klawisza"); No i zamykamy nawiasem klamrowym, nas kod powinien wyglądać tak : if(newkeys == KEY_SPRINT) { SendClientMessage(playerid, -1, "Użyto jednego klawisza"); } Brawo! Umiesz już operować na jednym klawiszu! 3. Operacje na wielu klawiszach. Wiesz już, jak operować na jednym klawiszu, teraz dowiesz się jak operować na kilku. No to zaczynajmy. Przechodzimy do OnPlayerKeyStateChange, i znowu piszemy słowo if( czyli jeśli. Potem dopisujemy kod :newkeys & (KEY_SPRINT | 1024)) sprawdzamy czy newkeys ma w sobie KEY_SPRINT i klawisz o ID 1024. I dodajemy nawias klamrowy, ( { ). Nasz kod powinien wyglądać: if(newkeys & (1024 | KEY_SPRINT)) { Po kliknięciu tych klawiszy, wyświetli mi się w konsoli napis "Juz umiesz operowac na kilku klawiszach!". no to do roboty, dodajemy kod : print("Juz umiesz operowac na kilku klawiszach!"); Następnie zamykamy kod nawiasem klamrowym. Brawo! Umiesz już operować na kilku klawiszach. Spodobał się poradnik? Daj
  5. Witam, chce wszystkim zaprezentować mój poradnik... A więc zaczynamy... :) Na początek tworzymy na końcu mapki forward Losuj(playerid); public Losuj(playerid); { //środek return 1; } tera w public Losuj dodajemy new Los = random(ilosc możliwości); zamiast Ilość możliwości dajemy liczbę, ja daje 3... Mój public wyglada tak forward Losowanko(playerid); public Losowanko(playerid); { new Los = random(3); return 1; } Teraz musimy zrobić możliwości... if(Los == 0) { // Tutaj piszemy np. SendClientMessage(playerid, COLOR_RED, "Wygrałeś to i to"); //a tutaj np. SetPlayerHealth(playerid, 100.00); } Robimy od 0 - 2... Teraz robimy komendę która nam to uruchomi... :D if(strcmp("/losowanie", cmdtext, true, 10) == 0) { Losuj(playerid); SendClientMessage(playerid, COLOR_RED, "Uruchomiłeś Losowanie!"); return 1; } //Optymalizacja By DrunkeR forward Losowanko(playerid); public Losowanko(playerid); { switch(random(3))//Losowanie liczby i wstawienie do switcha { case 0: { //Dla wylosowania 0 // Tutaj piszemy np. SendClientMessage(playerid, COLOR_RED, "Wygrałeś to i to"); //a tutaj np. SetPlayerHealth(playerid, 100.00); } case 1: { //Dla wylosowania 1 // Tutaj piszemy np. SendClientMessage(playerid, COLOR_RED, "Wygrałeś to i to"); //a tutaj np. SetPlayerHealth(playerid, 100.00); } case 2: { //Dla wylosowania 2 // Tutaj piszemy np. SendClientMessage(playerid, COLOR_RED, "Wygrałeś to i to"); //a tutaj np. SetPlayerHealth(playerid, 100.00); } } return 1; }
  6. Skrypt : Status serwera [GD][image] Wersja : Final. Konfiguracja : Zmień dobrze oznaczoną linijkę na adres twojego serwera. (W pliku statusserwera.php). Demo : Download : W załączniku.
  7. cxxus

    "Serwery Pawno.PL" - Nowa zakładka.

    DEATCHMATCH? :P DeathMatch ;-)
  8. Witam dzisiaj opiszę wam jak zrobić restart mapy/skryptu/aut/obiektow. Mapa : W public OnPlayerCommandText dodajemy komendę. if(strcmp(cmdtext, "/restart", true) == 0) { SendRconCommand("gmx"); // Wywołuje /rcon gmx. return 1; } Skrypt. if(strcmp(cmdtext, "/restart", true) == 0) { SendRconCommand("reloadfs NAZWASKRYPTU"); // Wywołuje wyłączenie skryptu. return 1; } Aut : Na górze moda dajemy : new Auto[xx]; // W miejscu XX wpisujemy liczbę aut w mapie. Teraz otwieramy public OnGameModeInit. Jak mamy np. CreateVehicle(xxx); (Gdzie w XXX są parametry.) Przed nazwą dopisujemy Auto[ID AUTA W MAPIE]; Czyli powinno być np. Auto[1]; = CreateVehicle(xxx); (Gdzie w XXX są parametry.) Następnie tworzymy komendę w OnPlayerCommandText. if(strcmp(cmdtext, "/restart", true) == 0) { for(new i;i<Auto[0] >= Auto[TA MAX LICZBA];i++) { DestroyVehicle(i); } SetTimer("reset", 20000, 1); // Timer odmierza czas do stworzenia aut. return 1; } Na końcu mapy dajemy forward reset(); public reset() { //Zamiast tego tekstu dajemy kopie aut z OnGameModeInit. (Te ponumerowane.) //Czyli np. Auto[1]; = CreateVehicle(xxx); w xxx dajemy parametry. return 1; } Obiekty(Skopiowane z Aut do to tak samo prawie więc tylko zmienne inne) : Na górze moda dajemy : new Obiekt[xx]; // W miejscu XX wpisujemy liczbę aut w mapie. Teraz otwieramy public OnGameModeInit. Jak mamy np. CreateObject(xxx); (Gdzie w XXX są parametry.) Przed nazwą dopisujemy Auto[ID AUTA W MAPIE]; Czyli powinno być np. Obiekt[1]; = CreateObject(xxx); (Gdzie w XXX są parametry.) Następnie tworzymy komendę w OnPlayerCommandText. if(strcmp(cmdtext, "/restart", true) == 0) { for(new i;i<Obiekt[0] >= Obiekt[ta maxymalna liczba z obiektów];i++) { DestroyObject(i); } SetTimer("reset", 20000, 1); // Timer odmierza czas do stworzenia objektów. return 1; } Na końcu mapy dajemy forward reset(); public reset() { //Zamiast tego tekstu dajemy kopie objektów z OnGameModeInit. (Te ponumerowane.) //Czyli np. Obiekt[1]; = CreateObject(xxx); w xxx dajemy parametry. return 1; }
  9. Witam! Chcę zrobić portal w MyBB który nie jest w pełni wintegrowany w forum, tzn. w innym pliku, zrobiłem coś takiego : <?php include('forum/inc/config.php'); mysql_connect($config['database']['hostname'], $config['database']['username'], $config['database']['password']); mysql_select_db($config['database']['database']) or die(mysql_error()); mysql_query("SET NAMES `utf8_general_ci`"); ?> <html> <head> <title> Minecraft-SMP.com.pl :: Portal </title> <style> body { background:black; color: white; } </style> <meta http-equiv="content-type" content="text/html;charset=UTF-8" /> </head> <body> <?php if(empty($_GET['serwer'])) $forum = 2; if($_GET['serwer'] == s1) $forum = 5; if($_GET['serwer'] == s2) $forum = 23; $fora = mysql_query("SELECT * FROM `mybb_threads` WHERE `fid` = '".$forum."' ORDER BY `dateline` DESC"); while($temat = mysql_fetch_array($fora)) { $temat2 = mysql_fetch_array(mysql_query("SELECT * FROM `mybb_posts` WHERE `tid` = '".$temat['tid']."'")); echo '<h3>'.$temat['subject'].'</h3><br>'.nl2br($temat2['message']); } ?> </body> </html> Niby wszystko dobrze, ale kodowanie się je((( utf8_general_ci to jest kodowanie w bazie, kto mi to zrobi - będę wdzięczny, głowię się nad tym z godzinę i nie mogę :P
  10. cxxus

    /v [id]

    CreateVehicle(strval(params), Pos[0], Pos[1], Pos[2],0, 0,0, -1);
  11. cxxus

    Warunek sprawdzający

    A może, OnPlayerRequestClass/OnPlayerSpawn, wyjdzie na to samo, a nie obciążymy serwera zbędnym timer'em.
  12. Terminator, tak, ale jemu chodzi o zadane obrażenia. A więc wykorzystujemy OnPlayerTakeDamage. public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid) { SetPVarInt(playerid, "SPAWNTIME", gettime() + 8); return 1; } I w komendzie tak jak Terminator : if(GetPVarInt(playerid, "SPAWNTIME") > gettime()) { SendClientMessage(playerid, -1, "Komendy mozesz uzywać co 8 sekund"); return 1; } Korzystałem z twojego kodu, bo nie ma sensu pisać drugiego takiego ;)
  13. cxxus

    /v [id]

    Nie - skopiowałeś, czytasz temat w ogóle? CMD:v(playerid, params[]) { if(isnull(params)) return SendClientMessage(playerid, -1, "/v [id]"); new Float:Pos[3]; GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]); CreateVehicle(strval(params), Pos[0], Pos[1], Pos[2],0, 0,0); return 1; }
  14. cxxus

    Nie działa updatowanie?

    Dzięki! Wszystko działa.
  15. Witajcie! Zrobiłem sobie funkcje SavePlayer i SaveVehicle, jednak coś się pier..., dawno nie pisałem w Pawn, dlatego troszki już zapomniałem - ale wg. mnie powinno to działać, bo piszę w PHP na bieżąco i działa wszystko. Kody delete, xP
  16. Siema! Mam problem, mam enum PlayerInfo, w tablicy PlayerInfo[playerid] znajdują się dane, da radę jakoś to wyczyścić jedną funkcją [kilkoma linijkami] czy muszę wszystko : Dzięki z góry i proszę o szybką odpowiedź.
  17. cxxus

    Rangi w DM

    Cze, pokaże wam dzisiaj jak zrobić rangi. Góra mapy : new Ranga[MAX_PLAYERS]; (jeżeli posiadacie rejestracje musicie zrobić zapis (chyba ze nie chcecie)) OnPlayerText : new string[128]; if(Ranga[playerid] == 1) { format(string, 128, "%s(TutajWpiszNpVIP) : %s", playerid, text[]); SendClientMessageToAll(COLOR_WHITE, string); } else if(Ranga[playerid] == 2) { format(string, 128, "%s(TutajWpiszNpVIP) : %s", playerid, text[]); SendClientMessageToAll(COLOR_WHITE, string); } else if(Ranga[playerid] == 3) { format(string, 128, "%s(TutajWpiszNpVIP) : %s", playerid, text[]); SendClientMessageToAll(COLOR_WHITE, string); } else if(Ranga[playerid] ==4) { format(string, 128, "%s(TutajWpiszNpVIP) : %s", playerid, text[]); SendClientMessageToAll(COLOR_WHITE, string); } else { format(string, 128, "%s : %s", playerid, text[]); SendClientMessageToAll(COLOR_WHITE, string); } Teraz opis : new string[128]; - Tablica do której zapiszemy tekst i wyślemy do wszystkich graczy. (opisze tylko jeden if bo reszta to to samo) if(Ranga[playerid] == 1) - Sprawdzamy czy gracz ma zmienną 1. format(string, 128, "%s(TutajWpiszNpVIP) : %s", playerid, text[]); - Formatujemy text, zapisujemy dodatkowe zmienne do tablicy. SendClientMessageToAll(COLOR_WHITE, string); - Wysyłamy to co napisał gracz. //Po else. format(string, 128, "%s : %s", playerid, text[]); - Gracz nie ma rangi i wysyłamy tylko jego nick i tekst. SendClientMessageToAll(COLOR_WHITE, string); - Wysyła wszystkim co napisał gracz bez rangi. Pozdrawiam Przemo. 2. Zapis (możecie zrobić dla do tego potrzebna reje) OnPlayerDisconnect(playerid, reason) dini_IntSet(PlayerName[playerid], "Ranga", Ranga[playerid]); Zaloguj : Ranga[playerid] = dini_Int(PlayerName[playerid], "Ranga");
  18. cxxus

    cxxus - flow test.

    Nawijka na edytowanym tekscie słonia, inny bit, jedna zwrotka, bo chciałem przećwiczyć i dać do oceny mój flow. http://w956.wrzuta.pl/audio/6AXTnEN0kz2/moje_male_testy Proszę o oceny.
  19. cxxus

    Już nie mam na to siły ...

    /tp CMD:tp(playerid, params[]) { new id; if(sscanf(params, "d", id)) return SCM(playerid, -1, "/tp [id]"); new Float:pos[3]; GetPlayerPos(id, pos[0], pos[1], pos[2]); SetPlayerPos(playerid, pos[0], pos[1], pos[2]); return true; } /tphere CMD:tph(playerid, params[]) { new id; if(sscanf(params, "d", id)) return SCM(playerid, -1, "/tph [id]"); new Float:pos[3]; GetPlayerPos(playerid, pos[0], pos[1], pos[2]); SetPlayerPos(id, pos[0], pos[1], pos[2]); return true; }
  20. cxxus

    Problem...

    Witam! Dzisiaj piszę z komputera cioci [inna miejscowość], u mnie po prostu nie da się wejść, strona ładuje się i ładuje a na końcuwyskakuje błąd. Niestety nie mogę podać IP - nie pamiętam. Dodam również, że inne strony ładują mi się bez problemu. Jako, że nie mogę przeczytać tego tematu prosiłbym o kontakt : Mail : fakeman@op.pl GG : 6132627 Skype : "iq12p."
  21. Cześć, nie dawno miałem jeszcze 50% i mogłem spokojnie pisać na forum, teraz mam status moderowany. Proszę o poprawę, ponieważ nie dostałem kolejnego ostrzeżenia, a mój status został podwyższony. Dzięki z góry i pozdrawiam.
  22. cxxus

    50% było, a status zmieniony.

    No dobra, ale kur...cze, KoPcIu pisał - co oznacza, że masz ostatnią szanse, starałem się nie popełnić żadnego błędu a i tak dostałem status "moderowany". ...
  23. cxxus

    Bany znikąd, brak kontaktu z administracją

    W nie żebym się wtrącał, ale i po tym jak zaczynacie tracić treść ze strony. Administracja ma kilka razy więcej wartościowych postów, nie tylko te XJL'a.
  24. Witam posiadam router z interfejsem : http://www.wirelesslan.com.pl/download/demo/3016/ 1 ) Mój internet to teraz 3 MB, chciałbym ograniczyć tak, że komputer siostry i ojca ma max. 512kb/s, więc razem 1MB, ja wtedy miałbym 2 MB, bo jak ojciec zaczine coś pobierać to lagi w kosmos. 2 ) Chciałbym zrobić, abym mógł zablokować dostęp do stron danemu MAC'owi, wyświetlić mu napis w stylu "Blokada dostępu do stron." Chodzi mi o rozzłoszczenie siostry. ;D 3 ) - nie tak ważne. Chciałbym aby zrobić logi, tzn. na jakie strony wchodził dany MAC. Za pomoc będziecie mieli u mnie piwo ;D
  25. cxxus

    Team Speak 3 - linux serwer

    Musisz najpierw wpisać token, dzięki temu będziesz Server Admin, potem już nie będą musieli wpisywać użytkownicy,
×