Skocz do zawartości

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.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

socket - PHP + AMXX


  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
11 odpowiedzi w tym temacie

#1 dram

    Wszechwidzący

  • Użytkownik

Reputacja: 16
Początkujący

  • Postów:277
  • Lokalizacja:xxxx
Offline

Napisano 08.10.2011 23:24

Witam, chciałbym prosić was o przykład funkcji w PHP oraz amxx

TJ. W php wywołuje zdarzenie które wykonuje się na serwerze.

Np.

skrypt.php>-
<?php
sprawdz_betoniarke();
>?

skrypt.amxx>
"jezeli wywolany zostal event sprawdz betoniarke wykonaj":
jakas funkcja.

takie pseudo kody :P
  • +
  • -
  • 0
Co oferuje?

Pisanie pluginów amxx/modow itd
Skryptow php

Kontakt na PW LUB GG

#2 R3X

    Godlike

  • Przyjaciel

Reputacja: 2 987
Godlike

  • Postów:4 248
  • Lokalizacja:Nie
Offline

Napisano 08.10.2011 23:35

socketami możesz przesłać cokolwiek, więc takie połączenie może zostać zrobione na nieskończenie wiele sposobów

na pewno optymalniej byłoby użyć socketów nasłuchującyh, czyli moduł sockets_hz
wyślij hash + kod identyfikacyjny funkcji, a w pluginie do tego sprawdzenie hasha i switch()
  • +
  • -
  • 1

#3 MarWit

    The Chosen One

  • Przyjaciel

Reputacja: 843
Czempion

  • Postów:1 485
  • GG:
  • Steam:steam
  • Imię:Marcin
  • Lokalizacja:Bystrzyca
Offline

Napisano 09.10.2011 14:08

Hmm.. A nie szybciej wysyłać polecenia rcon'em ?

Użytkownik MarWit edytował ten post 09.10.2011 14:55

  • +
  • -
  • 0

marwit-0.png


#4 dram

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 16
Początkujący

  • Postów:277
  • Lokalizacja:xxxx
Offline

Napisano 09.10.2011 16:23

Hmm może jakieś przykłady jeszcze bym prosił?
  • +
  • -
  • 0
Co oferuje?

Pisanie pluginów amxx/modow itd
Skryptow php

Kontakt na PW LUB GG

#5 speedkill

    Godlike

  • Przyjaciel

Reputacja: 1 592
Godlike

  • Postów:2 733
  • GG:
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Prudnik
Offline

Napisano 09.10.2011 18:08

Chcesz Kod php z poleceniem przez rcon ?
  • +
  • -
  • 0

If you can dream it, you can do it.


#6 Muzzi

    Guru

  • Przyjaciel

Reputacja: 228
Wszechwidzący

  • Postów:772
  • Lokalizacja:Kraków
Offline

Napisano 09.10.2011 18:37

Koledze wyżej chodziło chyba o cron.
  • +
  • -
  • 0

#7 dram

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 16
Początkujący

  • Postów:277
  • Lokalizacja:xxxx
Offline

Napisano 09.10.2011 18:59

Rcon oraz ten pomysł r3x(bardziej na nim mi zależy)
  • +
  • -
  • 0
Co oferuje?

Pisanie pluginów amxx/modow itd
Skryptow php

Kontakt na PW LUB GG

#8 Muzzi

    Guru

  • Przyjaciel

Reputacja: 228
Wszechwidzący

  • Postów:772
  • Lokalizacja:Kraków
Offline

Napisano 09.10.2011 19:18

To teraz proś R3X'a aby Ci to napisał, mała garstka ludzi potrafi zarządzać dobrze Socketami.
  • +
  • -
  • 0

#9 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 555
Godlike

  • Postów:11 980
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 09.10.2011 19:19

mała garstka ludzi potrafi zarządzać dobrze Socketami.

bez przesady jest to podstawa w programowaniu sieciowym wiec nie taka "mała" garstka
  • +
  • -
  • 0

#10 Muzzi

    Guru

  • Przyjaciel

Reputacja: 228
Wszechwidzący

  • Postów:772
  • Lokalizacja:Kraków
Offline

Napisano 09.10.2011 19:29

No to widzisz, jednak się myliłem.
Czekamy na "Nie taką 'małą' garstkę ludzi", którzy to napiszą.
  • +
  • -
  • 0

#11 MarWit

    The Chosen One

  • Przyjaciel

Reputacja: 843
Czempion

  • Postów:1 485
  • GG:
  • Steam:steam
  • Imię:Marcin
  • Lokalizacja:Bystrzyca
Offline

Napisano 09.10.2011 21:04

No to mój sposób z rconem:

Kod SMA:


#include <amxmodx>

#define PLUGIN "PluginName"
#define VERSION "1.0"
#define AUTHOR "MarWit"

#define COMMANDS_LEN 256

new g_szCommandsCodes[][COMMANDS_LEN] =
{
"sprawdzbetoniarke"
}

public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_concmd("php_command", "PHPCommand", ADMIN_IMMUNITY, "<md5code>")

new szBuffer[34]
for(new i=0; i<sizeof(g_szCommandsCodes)-1; i++)
{
md5(g_szCommandsCodes[i], szBuffer)
format(g_szCommandsCodes[i], COMMANDS_LEN-1, "%s", szBuffer)
}

}

public PHPCommand(id)
{
new szBuffer[128]
read_argv(1, szBuffer, 127)

new iCommand = get_commandid(szBuffer)

switch(iCommand)
{
case 0: { log_amx("Do serwera doszla komenda o md5: %s i id: %i", szBuffer, iCommand); }
default: { return PLUGIN_HANDLED; }
}
return PLUGIN_HANDLED
}

stock get_commandid(szText[])
{
for(new i=0; i<sizeof(g_szCommandsCodes)-1; i++)
{
if(equal(g_szCommandsCodes[i], szText))
return i;

}

return -1
}


Kod PHP:


<?php
include_once('include/socketclient.php');
include_once('include/hldsrcon.php');

$rcon_ip = "127.0.0.1";
$rcon_port = "27015";
$rcon_password = "123";

$cmd = "php_command " . md5("sprawdzbetoniarke");

$rcon = new HLDSRcon($rcon_ip, $rcon_port, $rcon_password);
$result = $rcon ->cmd($cmd);
?>


Wymagane includy w załączniku.

Działa to na zasadzie wysłania komendy do serwera, przy wczesniejszym wygenerowaniu md5. Gdy plugin znajdzie taki kod w tablicy, zostanie wykonana przypisana do niego funkcja ( w tym przypadku w konsoli serwera wyskoczy komunikat o md5 komendy oraz jej id )

Załączone pliki


  • +
  • -
  • 3

marwit-0.png


#12 dram

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 16
Początkujący

  • Postów:277
  • Lokalizacja:xxxx
Offline

Napisano 09.10.2011 21:39

To jeszcze proszę o pomysł r3x z "nasłuchiwaniem"
  • +
  • -
  • 0
Co oferuje?

Pisanie pluginów amxx/modow itd
Skryptow php

Kontakt na PW LUB GG




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych