←  Pluginy

AMXX.pl: Support AMX Mod X i SourceMod

»

Zliczanie zabić z danej bronii

  • +
  • -
Gufinsky - zdjęcie Gufinsky 21.03.2011

Witam, szukam skryptu, który będzie zliczał zabicia z danej bronii i wyświetlał top15 na www.
Zapis mysql/nvault.

Po co mi to?

Chcę na swoim serwerze zrobić konkurs - największa ilość zabić z danej broni.

P.S Proszę o jakiś cvar, który będzie odpowiadał za zapisywanie danych z danej broni.

Np amx_konkurs mp5

to zapisuje zabicia z mp5.

Pozdrawiam
Odpowiedz

  • +
  • -
Kusek - zdjęcie Kusek 21.03.2011

a przypadkiem w psychostatach nie ma takiego czegoś? :o
Odpowiedz

  • +
  • -
sebul - zdjęcie sebul 21.03.2011

Ale psychostaty to zapisuje też dużo więcej rzeczy, ale można z tego pluginu zapożyczyć te zliczanie zabójstw z danej broni.
Odpowiedz

  • +
  • -
Gufinsky - zdjęcie Gufinsky 21.03.2011

Nie chce psychostat.
Potrzebuje tylko ten prosty skrypt.
Odpowiedz

  • +
  • -
dezerter_af - zdjęcie dezerter_af 21.03.2011

Bez sensu ...

Postaw psychostats i bierz tylko pod uwagę zabcie z broni na serwerze nie zobaczysz różnicy.

Jeżeli chcesz to mogę Ci pomóc albo po prostu postawić tymczasowo psychostats jak nie masz za dużego serwera :) Dam CI wszystkie dane a Ty sobie poustawiasz ja później tylko odpale skrypt do zliczania i będzie ok :)
Odpowiedz

  • +
  • -
R3X - zdjęcie R3X 21.03.2011

Konkurs broni v0.1

* amx_contest - lista broni
* amx_contest end - zakończ konkurs
* amx_contest <weapon> - rozpocznij konkurs

Do steamid przypisuje ilość fragów i hs (każdy hs jest zliczony we fragach, nie trzeba sumować). Potrzebujesz też nicku gracza?

Wersja prosta. Mogę dodać archiwum, bo teraz nowy konkurs usuwa wyniki z poprzedniego, więc jeśli nie zapiszesz Top15 przed rozpoczęciem kolejnego konkursu to stracisz dane :)

Załączone pliki

Odpowiedz

  • +
  • -
Gufinsky - zdjęcie Gufinsky 21.03.2011

Haha! ur the best!

Rozumiem, że dane do mysql do
new const gszHost[] 	= 	"localhost";
new const gszUser[]	=	"root";
new const gszPassword[] 	= 	"root";
new const gszDB[] 	= 	"contest";

A z www jak?
Mam serwer NS/STEAM więc proszę o wersję na nick.

Jeśli możesz to proszę dokładny opis :)
Odpowiedz

  • +
  • -
R3X - zdjęcie R3X 21.03.2011

Tak przed kompilacją uzupełnij te dane, z cvarami są same problemy przy restarcie serwa.

Póki co komendą włączasz zbieranie informacji oraz je wyłączasz. Start konkursu to wyzerowanie wszystkich liczników i zmiana nazwy broni do zliczania. Aktualny konkurs masz w pliku contest.info i w localinfo (amx_showrcon localinfo). Jak ktoś zabije przeciwnika (FF nie zwiększa liczników) to dostaje +1 do broni, a jak z hs to dodatkowo +1 do headshotów. Część pod WWW to zwykły SELECT wysłany do MySQLa, jak znasz PHPa to sobie poradzisz :) w sma masz strukturę tabeli z danymi. Jak chcesz to kolejne konkursy mogą być zapisywane osobno, wtedy dojdze 1 tabela w bazie, a info o fragach zostaje na stałe (właściwie do najbliższego DELETE xD) po każdym z nich. Zaraz przerobię na nick, tylko musisz sobie pilnować, żeby nie zmieniali. Jest osobny plugin do blokowania zmiany nicku, więc po co mam pisać.
*	amx_contest_save_method 
*				1 - steamid
*				2 - nick
*				3 - ip

Załączone pliki

Odpowiedz

  • +
  • -
Gufinsky - zdjęcie Gufinsky 22.03.2011

Dziś przetestowałem nie zapisuje nic.
Dobrze wypełniłem i skomilowałem .
new const gszHost[] 	=  "mysql3.ugu.pl";
new const gszUser[]	=	"db186168";
new const gszPassword[] = 	"xxxx";
new const gszDB[] 	= 	"contest";
amx_contest usp
restart serwera
Xx razy zabiłem kolegę z USP'a (konkurs na usp) wchodzę do bazy danych i nic nie ma ;x
Mogę udostępnić serwer i bazę do testowania.

P.S Żadnych errorów nie ma.
Odpowiedz

  • +
  • -
R3X - zdjęcie R3X 22.03.2011

Nie było nic czy były same zera? Bo jak zera to ta wersja będzie działać, jak nie ma nic to przejrzyj error logi jeszcze raz

Załączone pliki

Odpowiedz

  • +
  • -
Gufinsky - zdjęcie Gufinsky 22.03.2011

Właśnie w bazie żadnej tabeli nie było.
Zastanawiam się czy w
new const gszDB[] = "contest";

zamist contest nie powinna być nazwa mojej bazy = db186168

Przetestuje koło 18:30 jak wrócę z Angielskiego.



EDIT: Na szybko zainstalowałem na stronce skrypt, wypełniłem dane klikam zapisz i nic się nie dzieje. Tak jakby strona się odświeża i od nowa mam dane wpisać.
Użytkownik suis edytował ten post 22.03.2011 15:20
Odpowiedz

  • +
  • -
R3X - zdjęcie R3X 22.03.2011

No raczej zmień nazwę bazy na swoją, podejrzewam, że użytkownik, którego tam wpisałeś nie ma uprawnień do tworzenia nowej bazy :) A przy okazji weź nowe .sma bo wczoraj zrobiłem błąd przy zmianie zapisu w tabeli.
Odpowiedz

  • +
  • -
Gufinsky - zdjęcie Gufinsky 22.03.2011

Korzystam z ugu.pl do testowania, a tam raczej nie ma takiej opcji ;x
Co innego proponujesz?
H@ sieci jest pod wieczór więc nie mam danych do bazy
Odpowiedz

  • +
  • -
R3X - zdjęcie R3X 22.03.2011

chmod folderu umożliwia zapis? możesz ręcznie utworzyć config.php

<?php
$host="localhost";
$user="root";
$pass="root";
$db="contest";
?>
Odpowiedz

  • +
  • -
Gufinsky - zdjęcie Gufinsky 22.03.2011

No już pięknie się wszystko zapisuje.
Tylko z www jakiś problem jest, cały czas pokazuje, że nie może się połączyć z bazą ;x Podałem takie same dane jak przy kompilacji.

Tak to mniej więcej wygląda

Spoiler
Odpowiedz

  • +
  • -
R3X - zdjęcie R3X 22.03.2011

usuń z kodu PHP wszystkie @ i podaj komunikaty
Odpowiedz

  • +
  • -
Gufinsky - zdjęcie Gufinsky 22.03.2011


Warning: mysql_connect() [function.mysql-connect]: Lost connection to MySQL server at 'reading initial communication packet', system error: 110 in /virtual/z/a/zabijamy-konkurs.ugu.pl/install/index.php on line 19

Odpowiedz

  • +
  • -
R3X - zdjęcie R3X 22.03.2011

piszą, że zamiast IP masz podać nazwę hosta jako domenę; jak lokalny to zamiast 127.0.0.1 podaj localhost; ale czy to pomoże to nie wiem
Odpowiedz

  • +
  • -
Gufinsky - zdjęcie Gufinsky 23.03.2011

Dane do mojej bazy:

new const gszHost[] 	= 	"db4free.net";
new const gszUser[]	=	"gufinsky";
new const gszPassword[] 	= 	"<img src='http://img.amxx.pl/public/style_emoticons/<#EMO_DIR#>/cmok.gif' class='bbc_emoticon' alt=':*' />";
new const gszDB[] 	= 	"zabijamykonkurs";


I takie same wpisuje na www.
W bazie normalnie zapisuje zabicia z danej broni więc nie wiem czemu www nie może się połączyć.
Odpowiedz

  • +
  • -
R3X - zdjęcie R3X 23.03.2011

pozwoliłeś IP swojego serwera www na podłączenie się do bazy? ewentualnie *, czyli wszyscy
Odpowiedz