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
 

R1d4r - zdjęcie

R1d4r

Rejestracja: 02.07.2010
Aktualnie: Nieaktywny
Poza forum Ostatnio: 12.04.2021 17:33
-----

#711300 Połączenie z jedną i dwiema bazami jednocześnie oraz wyświetlanie błędów

Napisane przez R1d4r w 01.09.2015 22:08

juz chyba nie powinno sie pisać poradników o mysql_*



a sprawdziłeś co się wyswietli np dla róznych id w zapytaniach?
 

 

Nie, pisałem od tak przy tworzeniu serwera. A pisałem to dlatego, że nie było to opisane. Nie wszędzie można znaleźć informacje o tym, a dla nowych może się przyda. ;)

 

 

$connectTWO

$zapytanie

za Polsko-Angielski kod powinno sie wieszac
 

 

A tam. Mi się wydaje że jest to lepiej, bardziej widoczne wtedy dla osób, które mają pierwszy raz z tym do czynienia. Myślałem nad tym i tak się rzuca w oczy. :D

 

 

tak samo jak za korzystanie z PHP :&

 

Korzystanie z PHP jest dobre, bo bez tego statystyki web by nie powstały. AmxBans'a by nie było i co za tym idzie trudniej zbanować takich uciekinierów czy też odbanowywać(tak, można też z konsoli serwera). :&


  • +
  • -
  • -1


#710619 Czy istnieją inne sposoby reklamy niż boosty?

Napisane przez R1d4r w 25.08.2015 03:26

@UP Dokładnie, musisz mieć coś co wyróżnia twój serwer. Na przykład unikalne pluginy lub jakieś ogólno dostępne, ale mniej spotykane. Konkursy, mapy. Dobrą i doświadczoną administracje. Można wymieniać dużo. Chodzi o to by mieć serwer na wysokim poziomie, a nie jak większość serwerów - wszystko to samo tylko inna nazwa sieci, bo instalowane z paczek.

 

To chyba tyle ode mnie. ^D^ 


  • +
  • -
  • 1


#710604 Czy istnieją inne sposoby reklamy niż boosty?

Napisane przez R1d4r w 24.08.2015 22:11

Na settim w ostatni dzień zadziałała dopiero reklama na tyle, że było 20 ludzi... Nie polecam tego, bo ludzie wchodzą z wyszukiwarki i nie zapisują IP. Do tego jest masa haxów z boosta. Raz została wykupiona reklama na facebooku i były dużo lepsze wyniki, dlatego lepiej stamtąd brać. Można sobie wykupić również reklamę w google Adsense, tylko że to kosztuje. Minusem tego jest jeszcze to, że nie dużo ludzi klika w reklamy oraz dużo ludzi ma takie rzeczy w przeglądarkach jak adblock. Można sobie podbić pozycje w googlach, ale o tym musisz sobie poczytać sam, linków nie będę wstawiał. ;)


  • +
  • -
  • 1


#710429 Serwer nie chce się włączyć

Napisane przez R1d4r w 22.08.2015 20:55

Usuń użytkownika razem z plikami w jego folderze. Stwórz nowego i się na niego przeloguj.(su {USERNAME})

Potem pobierz ponownie SteamCMD

Uruchom go ./steamcmd.sh

Wpisz następujące komendy:

login anonymous
force_install_dir /home/{USERNAME}/srcds_server
app_update 740 validate

Kiedy się pobierze, zobacz wpisz app_update 740 validate jeszcze raz. Czasem mi tak jeszcze coś pobierał.

Następnie przejdź do katalogu /home/{USERNAME}/srcds_server

i uruchom z komendy:

screen -A -m -d -S srcds ./srcds_run -console -game csgo -usercon +game_type 0 +game_mode 0 -hltv -tickrate 500 -maxplayers 21 -maxplayers_override 21 +ip {IP} -port 27015 -exec server.cfg +mapgroup mg_active +map de_dust2 -language polish

 

Podając ip serwera w miejscu {IP}. :)


  • +
  • -
  • 1


#710327 Prośba o 6 klas m.in Strzelec Wyborowy

Napisane przez R1d4r w 22.08.2015 00:05

Ma 1hp, gdy dodasz życie w HUD, to uaktualni tam do odpowiedniej ilości. Temat do tego: http://amxx.pl/topic/62492-hp-w-hud/

 

Odpowiada za to między innymi: set_user_health(id, 1); oraz public Health(id)

Co do widzialności tej klasy, zmieniasz to w linijce: 29. Dodaję tutaj jego kod z 20/255 niewidzialnością, powinna być bardziej widoczna. :)

 

PS. Co do reszty klas to nie zrobię, ponieważ nie posiadam tych modeli. Pamiętaj również, że należy zrobić model osobno dla CT jak i TT. Gdy byłby jeden model dla obu drużyn gracze mieliby problem z rozróżnieniem teamu. :)

Załączone pliki


  • +
  • -
  • 1


#710326 Połączenie z jedną i dwiema bazami jednocześnie oraz wyświetlanie błędów

Napisane przez R1d4r w 21.08.2015 23:58

Witam,
Można połączyć się z bazą danych za pomocą zdefiniowanych stałych tak jak w tym temacie: Współpraca PHP z MySQL. Ja wytłumaczę, jak prościej i przejrzyściej połączyć się z bazą danych, a potem jak dodawać kolejne połączenia do zupełnie innych baz danych i używanie mysql_query do nich.
Przykładowa tabela w bazie danych o nazwie `users`:
baza danych `users`.jpg

1. Połączenie z jedną bazą danych.
Na początku należy podać dane do połączenia z bazą (ja użyję tutaj zmiennej tablicowej)

<?php
/* Dane do polaczenia z MYSQL #1 */
$DBone['host'] = 'localhost'; // Nazwa host (zazwyczaj localhost)
$DBone['db'] = ''; // Nazwa bazy danych
$DBone['user'] = ''; // login do użytkownika, przez które chcesz łączyć się z bazą danych
$DBone['password'] = ''; // Hasło do użytkownika, przez które chcesz łączyć się z bazą danych

/* Łączenie się z bazą danych #1 */
$connectONE = @mysql_connect($DBone['host'], $DBone['user'] , $DBone['password'])
or die('Brak połączenia z serwerem MySQL #1.<br />Błąd: '.mysql_error());
$db_one = @mysql_select_db($DBone['db'] , $connectONE)
or die('Nie mogę połączyć się z bazą danych #1<br />Błąd: '.mysql_error());
?>

Wyjaśnienie:

$connectONE - zmienna, która ma za zadanie łączyć się z serwerem bazy danych.

$db_one - zmienna, która łączy się z bazą danych wcześniej podanego serwera bazy danych.

Nazwę hosta bazy danych można znaleźć u usługodawcy serwera baz danych. Nie musi być to localhost!

 

Często później po wczytaniu danych z bazy danych, nie wyświetlają się polskie znaki. Powodem jest tego brak ustawienia formatu danych pobieranych z serwera MySQL. W tym wypadku należy użyć po połączeniu się z bazami danych:

mysql_query("SET NAMES utf8");
mysql_query("SET CHARACTER_SET utf8_unicode_ci");

Tym sposobem wykonujemy zapytanie do bazy danych tak:

$zapytanie = mysql_query("SELECT * FROM users WHERE `id`='1'");
$pierwszy_uzytkownik = mysql_fetch_assoc($zapytanie);
echo $pierwszy_uzytkownik['nick'];

Powyższy kod wyświetli nick użytkownika o ID 1. W tym wypadku Metal.
 
2. Połączenie z dwiema bazą danych.
Nie jest to trude, wystarczy podwoić ten kod z pierwszego i pozmieniać zmienne tak, by nie były takie same. W innym wypadku będziemy się łączyli dwa razy do tej samej bazy danych, a to raczej zbędne. No to lecimy. :D
 

<?php
/* Dane do polaczenia z MYSQL #1 */
$DBone['host'] = 'localhost'; // Nazwa host (zazwyczaj localhost)
$DBone['db'] = ''; // Nazwa bazy danych
$DBone['user'] = ''; // login do użytkownika, przez które chcesz łączyć się z bazą danych
$DBone['password'] = ''; // Hasło do użytkownika, przez które chcesz łączyć się z bazą danych

/* Łączenie się z bazą danych #1 */
$connectONE = @mysql_connect($DBone['host'], $DBone['user'] , $DBone['password'])
or die('Brak połączenia z serwerem MySQL #1.<br />Błąd: '.mysql_error());
$db_one = @mysql_select_db($DBone['db'] , $connectONE)
or die('Nie mogę połączyć się z bazą danych #1<br />Błąd: '.mysql_error());

/* Dane do polaczenia z MYSQL #2 */
$DBtwo['host'] = 'localhost'; // Nazwa host (zazwyczaj localhost)
$DBtwo['db'] = ''; // Nazwa bazy danych
$DBtwo['user'] = ''; // login do użytkownika, przez które chcesz łączyć się z bazą danych
$DBtwo['password'] = ''; // Hasło do użytkownika, przez które chcesz łączyć się z bazą danych

/* Łączenie się z bazą danych #2 */
$connectTWO = @mysql_connect($DBtwo['host'], $DBtwo['user'] , $DBtwo['password'])
or die('Brak połączenia z serwerem MySQL #2.<br />Błąd: '.mysql_error());
$db_two = @mysql_select_db($DBtwo['db'] , $connectTWO)
or die('Nie mogę połączyć się z bazą danych #2<br />Błąd: '.mysql_error());
?>

 
Gdy już to mamy, należałoby spytać, jak wykonać zapytanie, żeby dało się zapisać takie samo dla 2 różnych baz danych. Odpowiedź jest bardzo prosta.

$zapytanie = mysql_query("SELECT * FROM users WHERE `id`='1'", $connectONE);
$pierwszy_uzytkownik = mysql_fetch_assoc($zapytanie);
echo $pierwszy_uzytkownik['nick'];


$zapytanie2 = mysql_query("SELECT * FROM users WHERE `id`='1'", $connectTWO);
$pierwszy_uzytkownik2 = mysql_fetch_assoc($zapytanie2);
echo $pierwszy_uzytkownik2['nick'];

Załóżmy, że na obu bazach danych jest ta sama tabela users w bazie danych, ten kod wyświetli nam ten sam tekst. Należy pamiętać, że formuła zapytania będzie po prostu taka: mysql_query("TREŚĆ ZAPYTANIA", $ZMIENNA);
$ZMIENNA oznacza tą zmienną, którą ustaliliśmy przy mysql_connect, która posłużyła do połączenia z danym serwerem bazy danych.
 
3. Zapytania do MySQL:
Wypiszę tu kilka najważniejszych zapytań, ponieważ nie wszyscy nowi mogą je znać.
 
SELECT * FROM `users` WHERE `nick`='Metal'

To zapytanie wyszuka linię w tablicy o nazwie `users` gdzie `nick` jest równy 'Metal'

UPDATE `users` SET `id`='1' WHERE `nick`='Metal'

To zapytanie zaktualizuję linię na id 1, gdzie nick jest równy 'Metal'.

INSERT INTO `users` SET `id`='1' AND `nick`='Metal' AND `hasło`='jakies_haslo' AND `email`='metal@' AND `lokalizacja`='Polska'

To zapytanie dodaje do bazy danych właśnie tą linię co jest podana na obrazku na samej górze. :)

4. Wyjaśnienia ogólne:
@ przed funkcjami (np. przy mysql_connect) - oznacza to, żeby użytkownikowi nie wyświetlało się nic o błędach.
echo - polecenie, które ma za zadanie wyświetlić to co jest między " lub zmienną. Na przykład: echo "Jakiś tekst"; wyswietli nam Jakiś tekst.
Tablice zmiennych - jest to jedna zmienna-matka, która posiada wiele swoich dzieci pod danymi index'ami. Używane są po to by ułatwić i usprawnić kod. $zmienna_matka['index'].
mysql_fetch_assoc - jest to polecenie, którego używa się do przypisywania do zmiennych tablicowych danej treści, która jest zawarta w danej linii w bazie danych. Na php.net można znaleźć definicję "Zapisuje wiersz wyniku w tablicy asocjacyjneję". Ja podaję taką, którą pojąć powinni zieloni w tym temacie.

AND - w zapytaniach może być stosowane zamiennie z przecinkiem(",").

5. Wyświetlanie błędów.
Często się zdarza tak, że mamy 10000 linijek kodu, a nie chce poprawnie działać kod. Nie możemy znaleźć błędu - czasem i tak bywa. Z pomocą nam przychodzą dwie linijki kodu, które trzeba dodać na początku pliku. Wyświetli nam on w której linijce jest błąd.

<?PHP
ini_set( 'display_errors', 'On' ); 
error_reporting( E_ALL );
?>

  • +
  • -
  • 2


#710310 Prośba o 6 klas m.in Strzelec Wyborowy

Napisane przez R1d4r w 21.08.2015 21:08

Proszę, strzelec. Nudzę się, to porobię. :D

 

EDIT: W tym nano ma być stałe 1hp? Dodałem nanozolnierz'a.

Załączone pliki


  • +
  • -
  • 1


#659541 [ROZWIĄZANE] The server operator has added you to banned list

Napisane przez R1d4r w 22.08.2014 22:29

Jeśli masz dostęp do konsoli serwera(z poziomu panelu serwera) wpisz to:

removeip TWOJE_IP
writeip

A najlepiej zrestartuj serwer, powinno pomóc. :)


  • +
  • -
  • 2


#659537 Błędy z config.inc.php

Napisane przez R1d4r w 22.08.2014 21:47

http://phpedia.pl/wi...rs_already_sent

 

W pliku index.php

Zmień to:

header("Location:$config->start_page");

Na to:

header("Location: {$config->start_page}");

 

 

ps. IP. Board lub google ma dobrą funkcje "szukaj". :)


  • +
  • -
  • 1