Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[Pytanie] Jak zrobić ranking graczy z danych MySQL?


Rekomendowane odpowiedzi

Opublikowano

HEJ, mam połączony skript z mysql wszystko OK działa ale nie wiem jak zrobić żeby odczytywało na stronie punkty:

Kod tego skriptu:

options:
        # Tag Skryptu
        RankingZ.tag: &4&lRanking&0&lZ
        RankingZ.|: &7&l|
       
        # Info | Wiadomosc po smierci gracza zabitego przez gracza | Zmienne: %victim% - ofiara | %attacker% - atakujacy | %{punkty}% - punkty
        RankingZ.msg.death.player.yes: &7Gracz &a%victim% &c(-%{punkty}%) &7zostal zabity przez gracza &a%attacker% &c(+%{punkty}%)
       
        # Info | Wiadomosc po smierci gracza zabitego potwora | Zmienne: %victim% - ofiara | %attacker% - atakujacy | 50 - punkty
        RankingZ.msg.death.player.no: &7Gracz &a%victim% &c(-50) &7zostal zabity przez &a%attacker%
       
        # Info | Ranking gracza zostal zresetowany Zmienne: %argument 2% - gracz resetu
        RankingZ.msg.reset: &7Punkty, fragi i zgony gracza &a%argument 2% &7zostaly zresetowane
       
        # Info | Nie podales nazwy gracza
        RankingZ.msg.error.player: &4Nie podales nazwy gracza
       
        # Info | Brak uprawnien
        RankingZ.msg.permission: &4Nie masz uprawnien
       
        # Info | Reload skryptu
        RankingZ.msg.reload: &aSkrypt przeladowany pomyslnie
       
#--------------------------------------------------------------------------------------------------------#
#                                              UPRAWNIEIA                                                #
#--------------------------------------------------------------------------------------------------------#
#       /RankingZ pomoc              ? Pomoc                          ? RankingZ.gracz | RankingZ.admin      #
#       /RankingZ ranking [<player>] ? Ranking                        ? RankingZ.gracz | RankingZ.admin      #
#       /RankingZ reset <player>     ? Reset punktow, fragow i zgonow ? RankingZ.admin                       #
#       /RankingZ info               ? Informacje                     ? RankingZ.gracz | RankingZ.admin      #
#       /RankingZ reload             ? Reload                         ? RankingZ.admin                       #
#   [] - opcjonalnie | <> - wymagane                                                                     #
#--------------------------------------------------------------------------------------------------------#
#--------------------------------------------------------------------------------------------------------#
#                                              KOD                                                       #
#--------------------------------------------------------------------------------------------------------#
on first join:
        set {RankingZ.punkty.%player%} to 1000
        set {RankingZ.fragi.%player%} to 0
        set {RankingZ.zgony.%player%} to 0
        set {RankingZ.save.%player%} to true
       
on join:
        if {RankingZ.save.%player%} is false:
                set {RankingZ.punkty.%player%} to 1000
                set {RankingZ.fragi.%player%} to 0
                set {RankingZ.zgony.%player%} to 0
                set {RankingZ.save.%player%} to true
        if {RankingZ.save.%player%} is not set:
                set {RankingZ.punkty.%player%} to 1000
                set {RankingZ.fragi.%player%} to 0
                set {RankingZ.zgony.%player%} to 0
                set {RankingZ.save.%player%} to true
       
on death:
        if victim is player:
                if attacker is a player:
                        add {RankingZ.punkty.%victim%}*0.30 to {RankingZ.punkty.%attacker%}
                        remove {RankingZ.punkty.%victim%}*0.30 from {RankingZ.punkty.%victim%}
                        add {RankingZ.punkty.%victim%}*0.30 to {punkty}
                        broadcast "{@RankingZ.msg.death.player.yes}"
                        set {punkty} to 0
                        add 1 to {RankingZ.fragi.%attacker%}
                        add 1 to {RankingZ.zgony.%victim%}
                        message "&7Frag: &2+1" to attacker
                        message "&7Zgon: &2+1" to victim
                else:
                        remove 50 from {RankingZ.punkty.%victim%}
                        add 1 to {RankingZ.zgony.%victim%}
                        broadcast "{@RankingZ.msg.death.player.no}"
                        message "&7Zgon: &2+1" to victim
               
on rightclick on player with sword:
        execute player command "RankingZ ranking %clicked player%"
       
command /RankingZ [<text>] [<text>]:
        aliases: rz, ranking
        trigger:
                if argument 1 is not set:
                        execute player command "RankingZ pomoc"
                if argument 1 is "pomoc":
                        if player has permission "RankingZ.gracz" or "RankingZ.admin":
                                message "&5&l&m==================={@RankingZ.tag}&5&l&m==================="
                                message "&e&l* &2/RankingZ pomoc &f- &7Pomoc"
                                message "&e&l* &2/RankingZ ranking [<player>] &f- &7Ranking"
                                message "&e&l* &2/RankingZ reset <player> &f- &7Reset punktow, fragow i zgonow"
                                message "&e&l* &2/RankingZ info &f- &7Informacje"
                                message "&e&l* &2/RankingZ reload &f- &7Reload"
                                message "&5&l&m==================={@RankingZ.tag}&5&l&m==================="
                        else:
                                message "{@RankingZ.tag} {@RankingZ.|} {@RankingZ.msg.permission}"
                if argument 1 is "ranking":
                        if player has permission "RankingZ.gracz" or "RankingZ.admin":
                                if argument 2 is set:
                                        message "&5&l&m==================={@RankingZ.tag}&5&l&m==================="
                                        message "&e&l* &4&lGracz: &a&l%argument 2%"
                                        message "&e&l* &4&lPunkty: &a&l%{RankingZ.punkty.%argument 2%}%"
                                        message "&e&l* &4&lFragi: &a&l%{RankingZ.fragi.%argument 2%}%"
                                        message "&e&l* &4&lZgony: &a&l%{RankingZ.zgony.%argument 2%}%"
                                        message "&5&l&m==================={@RankingZ.tag}&5&l&m==================="
                                else:
                                        message "&5&l&m==================={@RankingZ.tag}&5&l&m==================="
                                        message "&e&l* &4&lGracz: &a&l%player%"
                                        message "&e&l* &4&lPunkty: &a&l%{RankingZ.punkty.%player%}%"
                                        message "&e&l* &4&lFragi: &a&l%{RankingZ.fragi.%player%}%"
                                        message "&e&l* &4&lZgony: &a&l%{RankingZ.zgony.%player%}%"
                                        message "&5&l&m==================={@RankingZ.tag}&5&l&m==================="
                        else:
                                message "{@RankingZ.tag} {@RankingZ.|} {@RankingZ.msg.permission}"
                if argument 1 is "reset":
                        if player has permission "RankingZ.admin":
                                if argument 2 is set:
                                        set {RankingZ.punkty.%argument 2%} to 1000
                                        set {RankingZ.fragi.%argument 2%} to 0
                                        set {RankingZ.zgony.%argument 2%} to 0
                                        message "{@RankingZ.tag} {@RankingZ.|} {@RankingZ.msg.reset}"
                                else:
                                        message "{@RankingZ.tag} {@RankingZ.|} {@RankingZ.msg.error.player}"
                        else:
                                message "{@RankingZ.tag} {@RankingZ.|} {@RankingZ.msg.permission}"
                if argument 1 is "info":
                        if player has permission "RankingZ.gracz" or "RankingZ.admin":
                                message "&5&l&m==================={@RankingZ.tag}&5&l&m==================="
                                message "&e&l* &2&lSkrypt: &4&lRanking&0&lZ"
                                message "&e&l* &2&lWersja: &c&l0.2"
                                message "&e&l* &2&lAutor: &c&lHugoZvPlayZ"
                                message "&5&l&m==================={@RankingZ.tag}&5&l&m==================="
                        else:
                                message "{@RankingZ.tag} {@RankingZ.|} {@RankingZ.msg.permission}"
                if argument 1 is "reload" or "rl":
                        if player has permission "RankingZ.admin":
                                execute console command "skript reload RankingZ"
                                message "{@RankingZ.tag} {@RankingZ.|} {@RankingZ.msg.reload}"
                        else:
                                message "{@RankingZ.tag} {@RankingZ.|} {@RankingZ.msg.permission}"
#-------------------------------------------- Koniec skryptu --------------------------------------------#
#------------------------------- © by HugoZvPlayZ - Strona: www.HvZ.ugu.pl ------------------------------#

MySQL jakie sie zrobiło:
-- --------------------------------------------------------
 
--
-- Struktura tabeli dla  `variables21`
--
 
CREATE TABLE IF NOT EXISTS `variables21` (
  `rowid` bigint(20) NOT NULL AUTO_INCREMENT,
  `name` varchar(380) COLLATE ucs2_bin NOT NULL,
  `type` varchar(50) COLLATE ucs2_bin DEFAULT NULL,
  `value` blob,
  `update_guid` char(36) COLLATE ucs2_bin NOT NULL,
  PRIMARY KEY (`rowid`),
  UNIQUE KEY `name` (`name`)
) ENGINE=InnoDB  DEFAULT CHARSET=ucs2 COLLATE=ucs2_bin AUTO_INCREMENT=21 ;
 
--
-- Zrzut danych tabeli `variables21`
--
 
INSERT INTO `variables21` (`rowid`, `name`, `type`, `value`, `update_guid`) VALUES
(9, 'rankingz.zgony.mrpomarancza4', 'long', 0x0000000000000000, 'db63dbd4-405a-4bbc-8aaf-a4970c507add'),
(10, 'rankingz.save.mrpomarancza4', 'boolean', 0x01, 'db63dbd4-405a-4bbc-8aaf-a4970c507add'),
(12, 'rankingz.fragi.rozek', 'long', 0x0000000000000000, 'db63dbd4-405a-4bbc-8aaf-a4970c507add'),
(14, 'rankingz.save.rozek', 'boolean', 0x01, 'db63dbd4-405a-4bbc-8aaf-a4970c507add'),
(15, 'rankingz.punkty.mrpomarancza4', 'double', 0x4094500000000000, 'db63dbd4-405a-4bbc-8aaf-a4970c507add'),
(16, 'rankingz.punkty.rozek', 'double', 0x4085e00000000000, 'db63dbd4-405a-4bbc-8aaf-a4970c507add'),
(18, 'punkty', 'long', 0x0000000000000000, 'db63dbd4-405a-4bbc-8aaf-a4970c507add'),
(19, 'rankingz.fragi.mrpomarancza4', 'double', 0x3ff0000000000000, 'db63dbd4-405a-4bbc-8aaf-a4970c507add'),
(20, 'rankingz.zgony.rozek', 'double', 0x3ff0000000000000, 'db63dbd4-405a-4bbc-8aaf-a4970c507add');
 
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

!

Opublikowano

SELECT * FROM tabela ORDER BY np. punkty DESC LIMIT 10

 

Pobierze ci 10 najwyzszych wynikow patrzac na kolumne punkty.

To akurat wiem, tylko nie umiem rozczytać bazy którą zrobił skript.

Opublikowano

Rozczytac tzn ?

że nie wiem jak to podłączyć jakie tabelki żeby pokazywało punkty na stronie, kod do top 10 mam ale nie wiem jak to zrobić i zrobić zeby php/html odczytywalo dane z tej tabelki skriptu.

Opublikowano

No to w czym widziisz problem ? Laczysz sie z baza i dodajesz sobie na strone informacje ktore z niej pobierasz

Tylko tam są jakieś "gówna"

np. zamiast nicku w tabeli name tworzy się "rankingz.save.nickgracza"

Opublikowano

Sytuacja wygląda następująco, plugin Skript nie zapisuje danych w ten sposob jak "powinien" w sensie:

Nazwa      Wartość

zmiennej

 

Przez co stworzenie rankingu jest niemożliwe.

Natomiast wykorzystując dodatek SkriptPlus oraz język PHP możemy stworzyć skrypt który co 10 sekund będzie łączył się z pewnym linkiem (używając result of connect to) przekazując tym sposobem ranking TOP, który uprzednio musi obliczyć serwer.

 

Najprościej w PHP będzie zrobić odbiór tych danych przez $_GET;

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...