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

Panel GM v. 1.0


Bil3T

Rekomendowane odpowiedzi

Opublikowano

Panel wykonany na potrzeby Grupy MPC Modder Team

Wykonał :  @360™

Co posiada Panel v.1.0?

  • Ban Permanentny
  • Ban Czasowy
  • Zdjęcie Blokady
  • Powód Blokady
  • Informację o Blokadzie, UnBanie
  • Możliwość banowania na 1h, 1.5h etc.

Co będzie posiadała v.1.1?

  • Na pewno Blokadę Czatu, Czasową/Pernamentną
  • Połączenie z Listą Zbanowanych na stronie serwera.
  • Tabelki mysql do połączenia kokpitu.
  • Możliwe, że Cały panel zbanowanych (php).

Na wstępie jeżeli nie mamy funkcji LuaSQL, dodajemy ją do questlib.lua

function myquery(sql)
    user = "mt2"
    pw = "mt2!@#"
    local var = {}
    var.pre = ''
    if user ~= nil then
        var.pre = var.pre..' -u'..user
    end
    if pw ~= nil then
        var.pre = var.pre..' -p'..pw
    end
    var.scriptfile = 'sc_'..pc.get_name()
    var.outputfile = 'op_'..pc.get_name()
    sql = string.gsub(sql,'"',"'")
    var.str = "mysql -N -L "..var.pre.." < "..var.scriptfile.." > "..var.outputfile
    script = io.open(var.scriptfile,"a+")
    script:write(sql)
    script:close()
    os.execute(var.str)
    zwroc = io.open(var.outputfile)
    quer = zwroc:read()
    zwroc:flush()
    zwroc:close()
    os.remove(var.scriptfile)
    os.remove(var.outputfile)
    return quer
end
 http://wklej.to/Wip08
-----------------------------
--************************---
--*----------------------*---
--* WYKONANE NA POTRZEBY *---
--*   MPC MODDERS TEAM   *---
--*----------------------*---
--************************---
-----------------------------

quest GMP begin
	state start begin
		when letter with pc.is_gm() begin
				send_letter(" AdminPanel ")
		end
	
		when button or info begin
			say(" Panel GM v.1.0 ")
			wait()
			say_title(" Menu: ")
			local selectban = select(" Ban Permanentny ", " Ban Czasowy " , " Zdjecie Blokady "," Anuluj ") 
			----------------
			--- PERM BAN ---
			----------------
			if selectban == 1 then
					say_title("Banowanie: ")
					say("Podaj nick: ")
					local nick=input()
					local answer = myquery("SELECT account_id FROM player.player WHERE name = '"..nick.."';")
					say(answer)
					if answer == nil then
						say("Konto zawierajacege podana postac nie istnieje")
						return
					end
					say("Wpisz powód zablokowania:")
					local dlaczego=input()
					local id = pc.get_name()
											
					myquery("UPDATE player.player SET is_admin='2' WHERE `account_id` = '"..answer.."';")
					myquery("UPDATE account.account SET status = 'BLOCK' WHERE id = '"..answer.."';")
								   
					say(""..nick.." został zbanowany permanentnie.")
					say("Powód: "..dlaczego.."")
					notice_all("[INFO]Gracz: "..nick.." został zablokowany permanentnie.")
										
			-----------------
			-- CZASOWY BAN --
			-----------------					
			elseif selectban == 2 then
					say_title("Wpisz nick: ")
					local nick=input()
					local answer = myquery("SELECT account_id FROM player.player WHERE name = '"..nick.."';")						
					if answer == nil then
						say("Konto zawierajacege podana postac nie istnieje")
						return
					end
					say_title("Wpisz liczbe godzin: ")
					say_reward("Prócz wartości całkowitych dopuszczalne jest podawanie połówek np. 1.5")
					say_reward("W liczbach ułamkowych używaj . zamiat , !")
					local howlong=input()
					say_title("Wpisz powód zablokowania:")
					local dlaczego=input()
					local id = pc.get_name()	
										
					local dat = os.time()+(howlong*3600)
					local data = os.date("*t", dat)
					local dataFormat = datemysql(data)
										
					myquery("UPDATE account.account SET availDt = '"..dataFormat.."' WHERE  id = '"..answer.."';")
																
					say(""..nick.." został zbanowany na  "..howlong.." h")
					say("Powód: "..dlaczego.."")
					notice_all("[INFO]Gracz: "..nick.." został zbanowany na "..howlong.." h.")
			------------------
			------ UNBAN -----
			------------------												
			elseif selectban == 3 then
					say("Wpisz nick:")
					local nick=input()
					local answer = myquery("SELECT account_id FROM player.player WHERE name = '"..nick.."';")
									
					if answer == nil then
						say("Konto zawierajacege podana postac nie istnieje")
						return
					end
					say("Wpisz powód:")
					local dlaczego = input()
										
					local id = pc.get_name()
										
										
					myquery("UPDATE player.player SET is_admin='0' WHERE `account_id` = '"..answer.."';")
					myquery("UPDATE account.account SET status = 'OK', availDt = '0000-00-00 00:00:00' WHERE  id = '"..answer.."';")
									
					say("Gracz o niku: "..nick.." został odbanowany.")
					notice_all("[INFO]Gracz: "..nick.." został odbanowany.")
			else
				return
			end
		end
	end
end

784091427630431250239.png

Regulamin sygnatur

Opublikowano

Bardzo fajnie, zostawię plusa dla zachęty lecz było już kilka takich programów o tych samych funkcjach.

Najlepszy program zdaniem większości osób to Game Panel Bambuska :)

To nie program, lecz Quest dla GM'ów, którym nie możemy powierzyć dostępu do niektórych ważniejszych rzeczy, gdyż Panel bambuska wymaga passy do mysql.

Bardzo fajne like

 

@Mógłbyś jeszzcze dodać wiele innych funkcji np event zuo albo coś w tym stylu.

Z czasem będę robił aktualizację i ilość funkcji na pewno ulegnie zmianie.

Pomysły śmiało możecie podawać w temacie :)

784091427630431250239.png

Regulamin sygnatur

Opublikowano

Przecież takich questów na forum były już setki, więc po co kolejny?

Po to żebyś się pytał.

Znajdę trochę czasu to będę go rozbudowywał.

784091427630431250239.png

Regulamin sygnatur

Opublikowano

Bardzo ładnie wykonany panel :) Czekam na 1.1 version.

Szczerze, bardzo duże gratulację dla Twórców :) Widać, że grupy na forum robią wiele.

 

Życzę powodzenia w przyszłych projektach i pozdrawiam.

 

P.S.

Like za pracę :) 

 

 

Przecież takich questów na forum były już setki, więc po co kolejny?

Było może i dużo, ale dopracowane nie było do końca, tutaj się zapowiada aktualizacja z dopracowaniem.

Opublikowano

Załóżmy sytuację. Jestem, bo jestem- dość pazerny, chcę, by mojej bazy nikt poza mną nie tykał. Wchodzę na MPC, znajduję- wykonany przez odznaczanego użytkownika panel GMa, wrzucam na serwer. Okej, GM nie ma komend- bo nie chcę, by mógł dodać sobie itemki, w końcu jestem pazerny. Nie chcę też, by wspomagał kolegów- no, dość oczywiste.

 

Co dalej? Wystarczy, że w pole input wpiszę odpowiednią frazę, a calutka baza stoi przede mną otworem. Skrypt jest podatny na injekcję kodu do query.

 

Dodatkowo, to nie LuaSQL, a jego marna podróbka na zasadzie plików.


 

Opublikowano

Bardzo fajne czekam na lepsze wersję

                                                                                                                                                     kot-i-pilnik-do-paznokci.gif

 

                                                                                            Milordzie poczęstuj papierosem...

Opublikowano

To w Modders Team tworzy się takie rzeczy? Zbędna ranga... 

 

@topic

połączone kilka questów w jedną całość. czekam na wersję kolejną - może ona będzie miała jakiś sens. 

 

umarł

Opublikowano

A więc za to ta tęcza rang :O Keep working!

Ja nic do niego nie mam, nie znam go, ale takie rzeczy mając taką rangę?

 

@topic

 

local dataFormat = datemysql(data)

a to co?

 

umarł

Opublikowano

Mistrz gry może sobie banować kogo chce, za wszystko i nawet nie będzie wiadomo kto się bawi. Kurwa, zróbcie coś porządnego, a nie dałeś gówno a nie quest tak naprawdę do napisania w 5 minut. Zawiodłem się w chuj na was jako na grupie, to co zaprezentowałeś w tym temacie to żenada.

 

Opublikowano

 

http://www.mpcforum.pl/topic/346785-questbanowanie-z-grystalyna-czaslogi/
Chociaż, że już tego nie ma, to ta data jest śmieszna:

Rozpoczęte przez [/size]

 

kwiatmix[/size][/size]02 maj 2011 09:14[/size]

Mpc spada na dno, questem można sobie podetrzeć dupsko. Pozdrawiam :)

Bądź co bądź, użycie mysql w queście na podstawie banowania wrzuciłem jeszcze przed Tobą :D


 

Opublikowano

super praca, nie mam pojecia jak udalo Ci sie to osiagnac, mam nadzieje, ze quest bedzie sluzyl przyszlym pokoleniom

Wiecej takich rzeczy od MPC cos tam teamu, czekam na wersje v12241112421.2112312312 moze tam ujrzymy cos nowego

 

<3

Opublikowano

Ależ panie z MPC Modder Team.. żeby tak inputa samego sobie zostawiać? WSTYD! Po tym queście się zaczynam zastanawiać, czy ranga MPC Modder Team rozdawana jest za umiejętności czy znajomości.. Wystarczy postawić koło ciebie JachuPL, by pokazać ci jak niski poziom reprezentujesz. Quest na poziomie osoby uczącej się, która postanowiła napisać questa po 6 godzinach oglądania i czytania poradników. Tyle w temacie.

Opublikowano

Ależ panie z MPC Modder Team.. żeby tak inputa samego sobie zostawiać? WSTYD! Po tym queście się zaczynam zastanawiać, czy ranga MPC Modder Team rozdawana jest za umiejętności czy znajomości.. Wystarczy postawić koło ciebie JachuPL, by pokazać ci jak niski poziom reprezentujesz. Quest na poziomie osoby uczącej się, która postanowiła napisać questa po 6 godzinach oglądania i czytania poradników. Tyle w temacie.

Może to, że ktoś reprezentuje taki a nie inny poziom, nie oznacza, że niczego się nie uczy. Nadal będę trzymał się wersji, że Moddera powinno otrzymać się za pewne umiejętności, ale też chęć nauki. Gdyby pokazał nam coś innowacyjnego(wiem wiem, takich rzeczy nie daje się na to forum), to nie miałbym nic do zarzucenia.

 

Reasumując - pokaż nam na prawdę coś, albo udowodnisz, że ranga jest zbędna(tak jak te inne, gdzie ktoś założy konto, napisze tematy w których umieści screeny z serwera[nie będę wymieniał nicku ;) ]), ale na prawdę coś nią reprezentujesz. 

 

@down

KONTAKTY

 

umarł

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...