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
vip pbNapisany przez One ShooT, 04.02.2024 |
|
|
|||
Nowy Plugin
Admin menuNapisany przez stół z powyłamywanymi, 22.09.2022 |
|
|
|||
Nowy Plugin
Prośba o napisanie pluginuNapisany przez stół z powyłamywanymi, 15.08.2022 |
|
|
|||
Nowy Plugin
PLUGIN NA DRplugin Napisany przez bawarskagolonka123, 25.06.2021 |
|
|
Użytkownicy przeglądający ten temat: 0
0 użytkowników, 0 gości, 0 anonimowych


Dodatki SourceMod



Temat jest zamknięty










