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
PHP

Wysyłanie komend na serwer CS przez PHP

php

  • Zamknięty Temat jest zamknięty
7 odpowiedzi w tym temacie

#1 sebxx4

    Zaawansowany

  • Zbanowany

Reputacja: 1
Nowy

  • Postów:148
  • GG:
  • Steam:steam
  • Lokalizacja:Urbanowice
Offline

Napisano 24.07.2013 20:57

 Witajcie.

Pisząc mój skrypt dochodzę do momentu, kiedy nawet google milczy w mojej sprawie. Mianowicie chodzi o wysyłanie komend na serwer cs 1.6 ze strony www, dokładniej przez skrypt PHP. Udało mi się zrobić skrypt wysyłający komendy RCON (poniżej wraz z biblioteką), ale nie bardzo wiem jak zmusić go do wysyłania 'zwykłych' komend. Przykładowo komenda changelevel de_dust2 działa bez problemu, mapa się zmienia. Ale gdy chcę już użyć komendy silnika BF2 bf2_addbadge <gracz> <odznaka> <level> (dodawanie odznak graczom) to skrypt przestaje działać. Tzn nie 'wypluwa' żadnych logów, na serwerze nic się nie dzieje. Ta sama komenda wpisana w konsoli (jako admin) działa normalnie. I teraz pytanie - jak zmusić skrypt do pracy z takimi komendami ?

 

Skrypt:

<pre>
<?php
include 'rcon_hl_net.inc';
$nick = '~Sebxx [PL]~';
$class = '4';
$lvl = '3';
$M=new Rcon();
$M->Connect("IP","PORT","RCON");
$ret=$M->RconCommand("bf2_addbadge ".$nick." ".$class." ".$lvl);
echo $ret;
?>
</pre>

Biblioteka w załączniku (nic nie zmienane w niej).

Załączone pliki


Użytkownik sebxx4 edytował ten post 24.07.2013 20:59

                                                                                                                   ST_logo.png

 

Zapraszam na sieć serwerów Skill-Town.pl

Wejdź, zagraj, przekonaj się sam !

http://www.skill-town.pl

 


#2 Unstopp

    Pomocny

  • Użytkownik

Reputacja: 21
Życzliwy

  • Postów:48
  • Lokalizacja:Lublin
Offline

Napisano 28.07.2013 11:48

Bo to jest cvar pluginu, więc zmieniasz go komendą amx_cvar bf2_addbadge "nick" "odznaka" "level".
  • +
  • -
  • -1

#3 PHP <3

    Banned

  • Zbanowany

Reputacja: 17
Początkujący

  • Postów:83
  • Imię:Piotrek
  • Lokalizacja:Lębork
Offline

Napisano 28.07.2013 17:37

echo $ret;

What? Jakie echo tutaj? Do tego, źle to rozpisałeś. Moim zdaniem to powinno wyglądać mniej więcej tak:

<?php
include 'rcon_hl_net.inc';
$nick = '~Sebxx [PL]~';
$class = '4';
$lvl = '3';
$M=new Rcon();
$M->Connect("IP","PORT","RCON");
$ret=$M->RconCommand("bf2_addbadge ".$nick." ".$class." ".$lvl."");
?>

lub:

<?php
include 'rcon_hl_net.inc';
$nick = '~Sebxx [PL]~';
$class = '4';
$lvl = '3';
$M=new Rcon();
$M->Connect("IP","PORT","RCON");
$com = "bf2_addbadge $nick";
$com .= $class;
$com .= $lvl;
$ret=$M->RconCommand($com);
?>

Mogę się mylić bo tak właściwie pierwszy raz się z tym zetknąłem.



#4 sebxx4

    Zaawansowany

  • Autor tematu
  • Zbanowany

Reputacja: 1
Nowy

  • Postów:148
  • GG:
  • Steam:steam
  • Lokalizacja:Urbanowice
Offline

Napisano 29.07.2013 07:53

Rozpisane jest dobrze, bo funkcja zwraca mi cały wyciąg z konsoli linijka pod linijką (<pre>).

To nie jest cvar, tylko komenda silnika, która nadaje określonemu graczowi określoną odznake (jednorazowo).

Użytkownik sebxx4 edytował ten post 29.07.2013 07:54

                                                                                                                   ST_logo.png

 

Zapraszam na sieć serwerów Skill-Town.pl

Wejdź, zagraj, przekonaj się sam !

http://www.skill-town.pl

 


#5 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 555
Godlike

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

Napisano 29.07.2013 08:51

register_clcmd("bf2_addbadge", "add_badge", ADMIN_LEVEL, "<player> <badge#> <level#>");

Komenda jest zarejestrowana ale wywołać można ją tylko z konsoli gracza

 

register_clcmd - Registers function which will be called from client console. 

 


  • +
  • -
  • 0

#6 sebxx4

    Zaawansowany

  • Autor tematu
  • Zbanowany

Reputacja: 1
Nowy

  • Postów:148
  • GG:
  • Steam:steam
  • Lokalizacja:Urbanowice
Offline

Napisano 29.07.2013 14:25

A nie da się przerobić tak silnika BF2 aby można ją było użyć "z zewnątrz" ?

                                                                                                                   ST_logo.png

 

Zapraszam na sieć serwerów Skill-Town.pl

Wejdź, zagraj, przekonaj się sam !

http://www.skill-town.pl

 


#7 MarWit

    The Chosen One

  • Przyjaciel

Reputacja: 843
Czempion

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

Napisano 29.07.2013 14:29

Najszybciej pozmieniaj wszystkie register_clcmd na register_concmd, lub dodaj tylko te komendy które potrzebujesz.


  • +
  • -
  • 0

marwit-0.png


#8 Gh0st

    :)

  • Power User

Reputacja: 852
Czempion

  • Postów:920
  • GG:
  • Imię:Tomek
  • Lokalizacja:Rabka-Zdrój
Offline

Napisano 07.11.2013 16:09

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Autor tematu zbanowany

Jeśli się z tym nie zgadzasz, report.png raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.


Z pozdrowieniami,
Zespół AMXX.PL
  • +
  • -
  • 0





Również z jednym lub większą ilością słów kluczowych: php

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

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