public www_check(id) { new socket,error; new link[] = "azereus.pl/azer_ffa.php"; socket = socket_open(link, 80, SOCKET_TCP, error) new sBuffer[512] socket_close(socket); client_print(0, print_chat,"[link %s]",link[0]); socket = socket_open("azereus.pl/azer_ffa.php", 80, SOCKET_TCP, error) if (socket > 0) { socket_send(socket, sBuffer, 511) socket_recv(socket, sBuffer, 511) client_print(0, print_chat,"[Jest OK]"); } else { switch (error) { case 1: { server_print("Error creating socket"); } case 2: { server_print("Error resolving remote hostname"); } case 3: { server_print("Error connecting socket"); } } client_print(0, print_chat,"[BLAD %d]",error); return PLUGIN_CONTINUE } }Dostaje kod błędu "2". Bawił się ktoś socketami?
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.
|
Guest Message by DevFuse
9 odpowiedzi w tym temacie
#1
Napisano 21.03.2010 13:16
Witam, chciałem napisać mały plugin który będzie odczytywał zawartość strony www (zawartością tej strony jest poprostu "1"), ale coś mi nie wychodzi
#2
Napisano 21.03.2010 14:24
pdr radze najpierw opanować zasadę działanie socketa w innym jezyku (np. C).
"azereus.pl/azer_ffa.php" to nie jest HOST, to jest host wraz z plikiem docelowym. Połączenie robisz do hosta, a następnie wysyłasz zapytanie z prośbą o wysłanie danych danego pliku.
Po użyciu google masz przykładowe zapytanie:
Może ktoś napisze coś więcej
"azereus.pl/azer_ffa.php" to nie jest HOST, to jest host wraz z plikiem docelowym. Połączenie robisz do hosta, a następnie wysyłasz zapytanie z prośbą o wysłanie danych danego pliku.
Po użyciu google masz przykładowe zapytanie:
GET /index.html HTTP/1.0\n\n
Może ktoś napisze coś więcej
#3
Napisano 22.03.2010 11:56
Myślałem że to jest trochę prostsze
No nic poczytam jak to jest np. w C,
ale i tak będę wdzięczny jeżeli ktoś mi pomoże z tym problemem
22 marzec 2010 - 11:56:
Może żeby zaoszczędzić mój czas.
Mogę zapłacić za napisanie takiego kodu który odczytuje zawartość strony którą wyżej opisałem.
Jeżeli ktoś był by zainteresowany, proszę o kontakt na gadu: 7162068
No nic poczytam jak to jest np. w C,
ale i tak będę wdzięczny jeżeli ktoś mi pomoże z tym problemem
22 marzec 2010 - 11:56:
Może żeby zaoszczędzić mój czas.
Mogę zapłacić za napisanie takiego kodu który odczytuje zawartość strony którą wyżej opisałem.
Jeżeli ktoś był by zainteresowany, proszę o kontakt na gadu: 7162068
#4
Napisano 22.03.2010 19:17
Kod jest przykładowym użyciem funkcji getWebContent() i jest w bardzo złym stylu, ale dobrze obrazuje to co się dzieje. Normalny kod powinien pobierać zawartość strony raz na mapę lub co ileś sekund, a nie na każde użycie komendy.
#include <amxmodx> #include <amxmisc> #include <sockets> #define PLUGIN "Socket GetContent" #define VERSION "1.0" #define AUTHOR "R3X" new gszBuffer[512]; public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_clcmd("say /sock","cmdSocket"); } public cmdSocket(id){ if(getWebContent("azereus.pl", "azer_ffa.php", gszBuffer, charsmax(gszBuffer))){ client_print(id, print_chat, "Przyszlo info: %s", gszBuffer); } } public getWebContent(const szHost[], const szFile[], szOutPut[], iLen) { new socket,error; socket = socket_open(szHost, 80, SOCKET_TCP, error); if (socket > 0) { formatex(gszBuffer, 511, "GET /%s^n^n", szFile); socket_send(socket, gszBuffer, iLen) socket_recv(socket, szOutPut, iLen); //client_print(0, print_chat,"[Jest OK]"); socket_close(socket); return 1; }else{ switch (error) { case 1: { server_print("Error creating socket"); } case 2: { server_print("Error resolving remote hostname"); } case 3: { server_print("Error connecting socket"); } } log_amx("[BLAD %d]",error); } return 0; }
#5
Napisano 27.03.2010 14:37
Podziałało doskonale, dzięki.
Mam tylko jeszcze jeden problem z tym związany
Muszę w getWebContent jako adres strony dać stronę razem z parametrem, którym jest IP gracza, ale nie działa mi to.
Generalnie nie wiem jak połączyć ze sobą dwa stringi, a funkcja add nie działa.
Mam tylko jeszcze jeden problem z tym związany
new ip[25] new adres[100] = "check.php?ip=" get_user_ip ( id, ip, 25,1) new fulladres[100] fulladres=add(adres,sizeof(adres),ip,sizeof(ip)) getWebContent("azereus.pl",fulladres, gsz, charsmax(gsz))
Muszę w getWebContent jako adres strony dać stronę razem z parametrem, którym jest IP gracza, ale nie działa mi to.
Generalnie nie wiem jak połączyć ze sobą dwa stringi, a funkcja add nie działa.
#6
Napisano 28.03.2010 11:07
Nieoficjalny polski support AMX Mod X -> Dokumentacja :: AMXX
new ip[25] new adres[100] = "check.php?ip=" get_user_ip ( id, ip, 25,1) add(adres,sizeof(adres),ip,sizeof(ip)) getWebContent("azereus.pl",adres, gsz, charsmax(gsz))
#7
Napisano 28.03.2010 23:42
Działa super, dzięki.
Po drodze pojawiły mi się jeszcze 2 małe drobiazgi.
1. Jak AMX może wykryć czy gracz jest botem (komputerowym graczem)?
2. co zrobić żeby przed wywaleniem gracza z serwera, dostał komunikat w konsoli o powodzie jego wyrzucenia?
Próbowałem poniższy kod, ale po kicku, graczowi nie zostaje w konsoli żaden napis
Po drodze pojawiły mi się jeszcze 2 małe drobiazgi.
1. Jak AMX może wykryć czy gracz jest botem (komputerowym graczem)?
2. co zrobić żeby przed wywaleniem gracza z serwera, dostał komunikat w konsoli o powodzie jego wyrzucenia?
Próbowałem poniższy kod, ale po kicku, graczowi nie zostaje w konsoli żaden napis
client_print(id, print_chat,"Nie byłeś zaproszony do tej gry"); client_cmd(id,"disconnect");
#8
Napisano 29.03.2010 07:34
client_print(id, print_console,"Nie byłeś zaproszony do tej gry"); client_cmd(id,"disconnect");
is_user_bot(id)
Manual ponad wszystko, konsola ponad manual :&
Chcesz wysłać do mnie PW ? użyj nazwy GoQ zamiast G[o]Q
Chcesz Kupić moduł płatności via Pukawka,Tserwery, Gamesol, Zabijaka do mojego sklepu? napisz PW cena to tylko 10 zł/sztuka
GG:6022845 (nie pomagam za free osobom ponizej rangi MoD)
Chcesz wysłać do mnie PW ? użyj nazwy GoQ zamiast G[o]Q
Chcesz Kupić moduł płatności via Pukawka,Tserwery, Gamesol, Zabijaka do mojego sklepu? napisz PW cena to tylko 10 zł/sztuka
GG:6022845 (nie pomagam za free osobom ponizej rangi MoD)
#9
Napisano 29.03.2010 17:36
Wszystko działa.
Dzięki.
Dzięki.
#10
Napisano 29.03.2010 17:56
Wiadomość wygenerowana automatycznie
Ten temat został zamknięty przez moderatora.
Powód: Wszystko działa.
Jeśli się z tym nie zgadzasz, raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.
Z pozdrowieniami,
Zespół AMXX.PL
Ten temat został zamknięty przez moderatora.
Powód: Wszystko działa.
Jeśli się z tym nie zgadzasz, raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.
Z pozdrowieniami,
Zespół AMXX.PL
Również z jednym lub większą ilością słów kluczowych: Nowy Plugin
|
Nowy Plugin
[KOSZ] pluginNapisany przez Frodo1981, 25.02.2024 nowy plugin |
|
|||
Nowy Plugin
vip pbNapisany przez One ShooT, 04.02.2024 nowy plugin |
|
||||
Nowy Plugin
Admin menuNapisany przez stół z powyłamywanymi, 22.09.2022 nowy plugin |
|
||||
Nowy Plugin
Prośba o napisanie pluginuNapisany przez stół z powyłamywanymi, 15.08.2022 nowy plugin |
|
||||
Nowy Plugin
PLUGIN NA DRplugin Napisany przez bawarskagolonka123, 25.06.2021 nowy plugin |
|
Użytkownicy przeglądający ten temat: 0
0 użytkowników, 0 gości, 0 anonimowych