|
You last visited: Today at 12:03
Advertisement
[Release]Votecontrolsystem of ExtremMt2
Discussion on [Release]Votecontrolsystem of ExtremMt2 within the Metin2 PServer Guides & Strategies forum part of the Metin2 Private Server category.
11/07/2013, 15:47
|
#1
|
elite*gold: 205
Join Date: Jun 2010
Posts: 5,334
Received Thanks: 2,510
|
[Release]Votecontrolsystem of ExtremMt2
Hallü,
da auf den Toplisten ja eh schon ein Kampf herscht,mit viel betrug und lug,
werden sich einige über das hier sicher freuen.
Ehemals wie immer für ExtremMT2 gescripted nun für die allgemeinheit frei gegeben.
Scripts für die Homepage.:
PHP Code:
<div id="content"> <div class="con-welcome">Processing Vote.:</div> <div class="con-main"> <div class="textbox"> <?PHP if(isset($_SESSION['user_admin']) && checkInt($_SESSION['user_admin']) && $_SESSION['user_admin']>=0) { ?> <?php class Vote { ## Edit the info to your liking var $config = array( 'db_host' => '', 'db_user' => '', 'db_pass' => '', 'db_database' => 'account', ## Wie viele Stunden müssen die Spieler warten bis sie wieder Voten können ? 'vote_int' => 18, ); public function __construct() { $connect = mysql_connect($this->config['db_host'], $this->config['db_user'], $this->config['db_pass']); if(!$connect) die(mysql_error()); $db = mysql_select_db($this->config['db_database'], $connect); if(!$db) die(mysql_error()); } public function do_vote() { // $name = mysql_real_escape_string($_POST['name']); $fetch = mysql_query("SELECT * FROM `account` WHERE `login` LIKE '".$_SESSION['user_name']."'" . "LIMIT 1") or die(mysql_error()); $get = mysql_fetch_array($fetch); if((time() - $get['lastvote']) < (3600 * $this->config['vote_int']) && $get['lastvote'] != 0) { $hours_left = round((((($get['lastvote'] + (3600 * $this->config['vote_int'])) - time()) / 3600)), 0); echo ('<center><b>Du kannst erst wieder in '.$hours_left.' Stunden Voten!.<center></b>'); } else { mysql_query("UPDATE `account` SET `lastvote` = '".time()."' WHERE `login` LIKE '".$_SESSION['user_name']."' LIMIT 1") or die(mysql_error()); $sqlItem = "INSERT INTO player.item_award (login, vnum , count , why, mall ) VALUES ('".$_SESSION['user_name']."', '90006', '1', 'voten2', '1')"; $qryItem=mysql_query($sqlItem) or die(mysql_error()); ?> <meta http-equiv="refresh" content="1;url=http://www.DEINEVOTEURL"> <?php echo "<center>Sie werden jetzt zur Vote seite weitergeleitet ...<center>"; } } public function vote_forms() { if(!isset($_POST['submit'])) { echo " Du kannst aller 24 Stunden für unseren Server Voten,<br> bedenke das sämtliche Vote's geloggt werden.<br><br> Für das Voten erhälst du eine Votetruhe,diese befindet<br> sich dann in deinem Itemshoplager bis du sie abholst!<br><br> Sollte eine manipulation des System festgestellt werden,<br> führt dies zum permanenten Auschluß aus der Spielwelt von<br> <center><b>SERVERNAME</b>.</center><br> <center><form method='post' action=''> <input type='submit' name='submit' value='Jetzt für SERVERNAME voten!' /> </form></center><br>"; } else { $this->do_vote(); } } } ?> <?php $vote = new Vote(); $vote->vote_forms(); ?> <?php $str = 'PHA+IDxwPg=='; echo base64_decode($str); ?> <?PHP } else { echo'<p class="meldung">Sie müssen für diesen Bereich angemeldet sein.</p>'; } ?> </div> </div> <div class="con-foot"></div>
PHP Code:
<?PHP if(isset($_SESSION['user_admin']) && checkInt($_SESSION['user_admin']) && $_SESSION['user_admin']>=0) { ?> <div id="content"> <div class="con-top">Vote für Item's.:</div> <div class="con-main"> <div class="textbox"> Das Voten dient Vorrangig dem Vergößern der Comunity,<br> pro Tag könnt Ihr bei jeder Toplist 1x voten.<br> Als Dankeschön erhaltet Ihr eine Vote Truhe in euer Itemshop-Lager.<br> <br> <center> <a href="index.php?s=vote2"> <img style="border: 0px;" src="./img/scripts/vote2.png" alt="Hier klicken um zu Voten ..." /> </a> </center> <br> Euer SERVER MT2 - Team<br> <br> </div> </div> <div class="con-foot"></div> <? } else { echo'<p class="meldung">Sie müssen für diesen Bereich angemeldet sein.</p>'; } ?>
Quest für den Server.:
PHP Code:
quest vote_control begin state start begin function zeitabfrage() assert(type(pc.get_account_id())=="number", "id ist keine Zahl!") local abfrage = mysql_query("SELECT lastvote2 FROM account.account WHERE id = "..pc.get_account_id()) return tonumber(abfrage[1][1]) end when login with pc.get_level() >= 90 begin if pc.is_gm() then return else local timenow = get_time() local lastvote = vote_control.zeitabfrage() local calc = 60*60*24 local nexttime = lastvote+calc if nexttime > timenow then --VOTE chat("Vote Überprüfung erfolgreich!") chat("Dieser Account hat in den letzten 24 Stunden gevotet") else --NOT VOTE say_title("Vote ControlCenter.:") say("") say("Die Vote-Überprüfung hat festgestellt,") say("das dein letzter Vote für SERVER-MT2 mit") say("diesem ACCOUNT mehr als 24 Stunden zurück") say("liegt.Bitte logge dich auf der Homepage ein") say("und vote für uns.") say("Dein Client wird sich in 30 Sekunden Schließen!") timer("ausloggen", 30) end end end when ausloggen.timer begin --Client schließen after 30 SEK local sname = pc.get_name() local u_vid = find_pc_by_name(sname) local old = pc.select(u_vid) cmdchat("modifikation_c "..pc.get_name().."") pc.select(old) end end end
Einfach eine Spalte in der account.account anlegen mit dem namen lastevote bzw lastvote 2 jenachdem wv Toplisten ihr habt, wo die Zeit eingetragen wird und das war es schon
Viel Spaß
|
|
|
11/07/2013, 15:48
|
#2
|
elite*gold: LOCKED
Join Date: Jan 2012
Posts: 807
Received Thanks: 245
|
Sehr schön
Danke
|
|
|
11/07/2013, 15:48
|
#3
|
elite*gold: 0
Join Date: Aug 2013
Posts: 568
Received Thanks: 701
|
Hammer danke dir :P
|
|
|
11/07/2013, 15:53
|
#4
|
elite*gold: 0
Join Date: Mar 2012
Posts: 646
Received Thanks: 696
|
Hab mich ja schon bedankt aber bedanke mich nochmal allein schon für die Idee.
Mfg
|
|
|
11/07/2013, 15:55
|
#5
|
elite*gold: 205
Join Date: Jun 2010
Posts: 5,334
Received Thanks: 2,510
|
Quote:
Originally Posted by QuickFlameZ
Hab mich ja schon bedankt aber bedanke mich nochmal allein schon für die Idee.
Mfg
|
jo gern, wie gesagt hab damit ja nichts mehr am hut von daher schlachtet es auseinander
|
|
|
11/07/2013, 15:56
|
#6
|
elite*gold: 65
Join Date: May 2011
Posts: 1,280
Received Thanks: 1,153
|
Man kann es auch "Vote 4 Play" nennen.
Was ist aber wenn man mehrere Acc's hat und dadurch nicht für alle Voten kann?
|
|
|
11/07/2013, 15:56
|
#7
|
elite*gold: 53
Join Date: Nov 2012
Posts: 2,793
Received Thanks: 766
|
Danke nett von dir
|
|
|
11/07/2013, 16:26
|
#8
|
elite*gold: 222
Join Date: Oct 2012
Posts: 2,361
Received Thanks: 3,388
|
Ich weiss nicht, wieso du mit Base64 verschlüsselst?xd
Neja, danke für's Release.
Ahja, kann's sein, dass der Python-Teil fehlt?
PS:
Code:
when ausloggen.timer begin
--Client schließen after 30 SEK
local sname = pc.get_name()
local u_vid = find_pc_by_name(sname)
local old = pc.select(u_vid)
cmdchat("modifikation_c "..pc.get_name().."")
pc.select(old)
end
Daraus kannst du
Code:
when ausloggen.timer begin
cmdchat("exit_client")
end
dann den Befehl exit_client in game.py adden
und Funktion geben ( app.Exit())
|
|
|
11/07/2013, 16:29
|
#9
|
elite*gold: 205
Join Date: Jun 2010
Posts: 5,334
Received Thanks: 2,510
|
Quote:
Originally Posted by Lord Elinoy
Man kann es auch "Vote 4 Play" nennen.
Was ist aber wenn man mehrere Acc's hat und dadurch nicht für alle Voten kann?
|
der vote wird nur auf der toplist nicht gezäühlt man kann dennoch auf voten klicken udnd er account ist wieder frei.
Quote:
Originally Posted by Mr. 'Avenue™
Ich weiss nicht, wieso du mit Base64 verschlüsselst?xd
Neja, danke für's Release.
Ahja, kann's sein, dass der Python-Teil fehlt?
PS:
Code:
when ausloggen.timer begin
--Client schließen after 30 SEK
local sname = pc.get_name()
local u_vid = find_pc_by_name(sname)
local old = pc.select(u_vid)
cmdchat("modifikation_c "..pc.get_name().."")
pc.select(old)
end
Daraus kannst du
Code:
when ausloggen.timer begin
cmdchat("exit_client")
end
dann den Befehl exit_client in game.py adden
und Funktion geben ( app.Exit())
|
kann sich jeder abändern wie er will, hier gehts nicht um die entwicklung sondern um ein release,
wer den phyton teil nicht hat im clienten kann sich melden!?
sollte in jedem mittlerweile drinnen sein
|
|
|
11/07/2013, 16:33
|
#10
|
elite*gold: 0
Join Date: Jun 2011
Posts: 3,364
Received Thanks: 1,743
|
Finds en bissel Assi das sich der Client schließt wenn man nich votet. Gibt genug die nicht voten können und dann?
Trotzdem Danke fürs Release
|
|
|
11/07/2013, 16:58
|
#11
|
elite*gold: 1143
Join Date: Jun 2012
Posts: 800
Received Thanks: 399
|
Sehr sehr nice. Aber zu 60% gehen dadurch auch Leute vom Server. Wie Onlyx3 sagte, viele können nicht voten und manche haben halt einfach keine lust. Dadurch werden die Leute auch nach ner zeit einfach abhauen weils sie nervt...
Dazu wird mann dann noch als "Opfer"server dargestellt weil mann voten MUSS zum zocken. Ansich eine Super idee, wäre die M2 Com bloß nicht so kleinlich...
|
|
|
11/07/2013, 17:18
|
#12
|
elite*gold: 252
Join Date: Mar 2008
Posts: 3,111
Received Thanks: 3,911
|
Quote:
Originally Posted by .'Luunaaa
Sehr sehr nice. Aber zu 60% gehen dadurch auch Leute vom Server. Wie Onlyx3 sagte, viele können nicht voten und manche haben halt einfach keine lust. Dadurch werden die Leute auch nach ner zeit einfach abhauen weils sie nervt...
Dazu wird mann dann noch als "Opfer"server dargestellt weil mann voten MUSS zum zocken. Ansich eine Super idee, wäre die M2 Com bloß nicht so kleinlich...
|
Bloß nicht so kleinlich? Ähm sorry, aber ich vergebe meine Votes immer an die Server, die es auch verdient haben. Votes zu erzwingen ist einfach asozial und eine der größten Frechheiten, die ich hier gesehen habe. Das hat nichts mit "kleinlichen Com" zutun, sondern die erfolgsgeilen Serverbetreiber, die uuuunbedingt auf Platz 1 sich hochpushen MÜSSEN, es hängt ja auch soo viel davon ab
Wer es nicht schafft auf faire Weise da hochzukommen, hat es auch nicht verdient. Und auf einem Server, der so etwas einbaut, werde ich jedenfalls 100% nicht spielen. Nicht nur weil es absolut nervend ist immer wieder dieselbe Prozedur durchzuziehen, sondern weil ich spielen will ohne gleich meine Stimme für einen Server abzugeben. Wenn ich das tue, dann mach ich das, weil ich das so will und nicht weil ein Server mich dazu zwingen will.
Dann wird eben ein anderer gespielt.
Wenn Server mehr Votes haben wollen, dann können sie es immer noch auf faire Weise tun. Belohnungen ausgeben, die einen auch dazu animieren, häufiger zu voten. Und vor allem sollte das Voten einfach sein, weil die große Masse kaum Lust hat, jedes Mal auf die homepage zu gehen und sich dort einzuloggen und dann zu voten. Im Clienten wäre das ganze viel bequemer für die breite Masse. Wenn der Server dann noch gut ist, kommen die Votes auch so rein ohne gleich zu solch radikalen Mitteln zu greifen.
|
|
|
11/07/2013, 18:18
|
#13
|
elite*gold: 0
Join Date: Oct 2013
Posts: 194
Received Thanks: 83
|
der client teil zur modifikation_c fehlt.
|
|
|
11/07/2013, 18:37
|
#14
|
elite*gold: 129
Join Date: Jun 2011
Posts: 1,504
Received Thanks: 263
|
danke fürs Release =) bin leider nicht mehr sehr aktiv hier, aber jetzte schlagen sie sich noch mehr die köpfe ein !
GOOD LUCK!
MFG
|
|
|
11/07/2013, 18:56
|
#15
|
elite*gold: 1143
Join Date: Jun 2012
Posts: 800
Received Thanks: 399
|
Quote:
Originally Posted by .Alessa
Bloß nicht so kleinlich? Ähm sorry, aber ich vergebe meine Votes immer an die Server, die es auch verdient haben. Votes zu erzwingen ist einfach asozial und eine der größten Frechheiten, die ich hier gesehen habe. Das hat nichts mit "kleinlichen Com" zutun, sondern die erfolgsgeilen Serverbetreiber, die uuuunbedingt auf Platz 1 sich hochpushen MÜSSEN, es hängt ja auch soo viel davon ab
Wer es nicht schafft auf faire Weise da hochzukommen, hat es auch nicht verdient. Und auf einem Server, der so etwas einbaut, werde ich jedenfalls 100% nicht spielen. Nicht nur weil es absolut nervend ist immer wieder dieselbe Prozedur durchzuziehen, sondern weil ich spielen will ohne gleich meine Stimme für einen Server abzugeben. Wenn ich das tue, dann mach ich das, weil ich das so will und nicht weil ein Server mich dazu zwingen will.
Dann wird eben ein anderer gespielt.
Wenn Server mehr Votes haben wollen, dann können sie es immer noch auf faire Weise tun. Belohnungen ausgeben, die einen auch dazu animieren, häufiger zu voten. Und vor allem sollte das Voten einfach sein, weil die große Masse kaum Lust hat, jedes Mal auf die homepage zu gehen und sich dort einzuloggen und dann zu voten. Im Clienten wäre das ganze viel bequemer für die breite Masse. Wenn der Server dann noch gut ist, kommen die Votes auch so rein ohne gleich zu solch radikalen Mitteln zu greifen.
|
Schön für dich das du das tust. Nur das 99% der Metin2 Zocker auf den P-Servern einfach ohne abstimmung voten / die seite zumachen nachdem mann weitergeleitet wurde und die coins bekommen hat.
|
|
|
All times are GMT +2. The time now is 12:03.
|
|