Archiv verlassen und diese Seite im Standarddesign anzeigen : Zeitsperre beim VMS
könnte mir vielleicht jemand sagen was ich machen muss, wenn ich beim betteln eine zeitsperre reinbringen kann, das der User nach einer bestimmten zeit seine vergütung erst bekommt ???
THX im Vorraus
mfG doafa
Wie genau meinst du das jetzt ?
Du meinst also nciht die normale Reloadzeit sondern so das ein USer nach dem BEtteln er eine bestimmte Zeit später die Vergütung erhält oder wie ?
cu, Swinxx
nochmal zur erklärung
user a klickt den bettellink von user b
user a wartet z.B. 5sekunden
dann bekommt user b die vergütung
Aso, das meinst du. Hab ich schon mal gesehen. Da wars aber in nem Popup. Ich glaub bei Klammino is das so. dort ruft man die Bettelseite auf dann öffnet sich gleichzeitig ein kleines Popup in dem ein paar Sekunden ablaufen bevor der SUer die Vergütung bekommt.
Wo oder wie du das machst kann cih dir aber leider auch nicht sagen !
cu; Swinxx
dwarfpitcher
22.09.2007, 23:24
Schade, würde ich nämlich auch suchen!
EarlofMidnight
23.09.2007, 00:10
Ich hab das mal als Addon in irgendeinem Shop gesehen nur weiß ich leider nicht mehr welcher es war.
Gruß
EarlofMidnight
Masterphil
23.09.2007, 12:58
Ich meld mich nach meiner Sommerpause nun auch mal wieder zu Wort.
Eigentlich dürfte das ziemlich einfach umzusetzten sein.
Man müsste die originale Bettelseite einfach etwas abbändern.
Man entfernt zum Beispiel die Vergütung und den Reload der gesetzt wird, packt dafür eine aber eine Weiterleitung rein, die dann zu der richtigen Bettelseite führt, wo dann die Vergütung drin ist.
So sollte es theoretisch klappen, müsste halt nur mal einer den Code für die Weiterleitung posten, denn den weiß ich nicht.
MfG
Original von Masterphil
Ich meld mich nach meiner Sommerpause nun auch mal wieder zu Wort.
Eigentlich dürfte das ziemlich einfach umzusetzten sein.
Man müsste die originale Bettelseite einfach etwas abbändern.
Man entfernt zum Beispiel die Vergütung und den Reload der gesetzt wird, packt dafür eine aber eine Weiterleitung rein, die dann zu der richtigen Bettelseite führt, wo dann die Vergütung drin ist.
So sollte es theoretisch klappen, müsste halt nur mal einer den Code für die Weiterleitung posten, denn den weiß ich nicht.
MfG
und wer sagt das die dann nicht direkt auf die seite linken und gleich die vergütung abgreifen?
Man könnte ja ne Wartezeit wie bei den Forcedbanner einbauen. ;)
Masterphil
23.09.2007, 15:08
@hardliner: Daran hab ich natürlich nicht gedacht. Aber es stimmt, meine Lösung ist dann doch zu einfach... Das mit der Wartezeit wie bei den Bannern hört sich von der Idee schonmal gut an, ist aber sicher nicht so einfach umzusetzen.
Hab noch was zu meiner Idee, es wird halt geprüft ob korrekt aufgerufen wurde, indem man z.B. auf der vorgeschalteten Seite ein Level 1 erzeugt und auf der Bettelseite wird nur vergütet, wenn das Level 1 ist. Nach der Vergütung wird das Level wieder auf 0 gesetzt. Somit wäre ein direktes aufrufen nicht mehr möglich.
Bin ja mal gespannt, ob und wann was Brauchbares dazu kommt.
MfG
dwarfpitcher
28.09.2007, 23:48
Und? Sonst keiner eine Lösung?
Ich hab eine Idee wie man sowas umsetzen könnte.
In der content/betteln.php muss noch geschaut werden nach wieviel Sekunden die Vergütung kommen soll, entsprechend errechnet man sich dann auch noch anhand der aktuellen Zeit wann die Vergütung frühestens erfolgen darf, dabei baut man noch 1-2 Sekunden extra ein... z.B. so:
$bettel_verg_time = time()-2+30;Das bedeutet das eine Vergütung nach 30 Sekunden erfolgen darf damit es nicht zuviele unvergütete gibt noch 2 Sekunden die früher aufgerufen werden darf. Das trägt man dann in eine Datenbank ein, ich nenn sie einfach mal vms_bettelcheck
db_query('INSERT INTO '.$db_prefix.'_bettelcheck (time) VALUES ('.$bettel_verg_time.')');So damit steht nun die Zeit in der Tabelle im Feld time die Tabelle hat genau 2 Felder
id - INT - PRIMARY KEY - AUTO_INCREMENT
time - INT(10)
Durch Auto_Increment erhält jeder eintrag eine eigene unique ID die wir NACH dem Eintrag in die DB auslesen:
$bettel_id = mysql_insert_id();Damit wären die vorbereitungen getroffen.... nun gehts ans eingemachte ;) mit der ID die wir erhalten haben können wir jederzeit wieder die Zeit aus der Datenbank auslesen. Wir aktualisieren dann nach x Sekunden einfach die Bettelseite und übergeben per URL die ID.
<meta http-equiv="refresh" content="30; URL=?content=/betteln&ref=<?=$_GET['ref'];?>&id=<?=$bettel_id;?>">So nach X Sekunden in dem Fall 30 wird die Url aktualisiert und der Parameter id mit übergeben
damit php weis das es jetzt auszahlen soll muss noch eine Abfrage rein ^^
if ($_GET['id'] && is_numeric($_GET['id'])){
$darf_betteln = db_query('SELECT time FROM '.$db_prefix.'_bettelcheck WHERE id='.$_GET['id'].' && time<='.time().'');
if (mysql_num_rows($darf_betteln)){
// Hier vergütetn und anschließend den Eintrag aus der Tabelle löschen um Doppelte Verwendung zu verhindern
}else{
// Nicht vergüten trotzdem Eintrag aus db löschen da ja einer vorhanden sein kann aber die Zeit nur noch nicht <= time() ist ^^
}
}Alles denkanstösse und nix fertiges vielleicht macht es ja einer kostenlos fertig ;)
Man sollte auch eine Grenze anlegen z.B. wenn nach 30 Sek. aktualisiert wird das dann nach 60 oder 90sek. etc. der Code abläuft..^^
Gruß
Gremlin
dwarfpitcher
01.10.2007, 21:42
Will's keiner fertig machen?
heute nein morgen ja...
das morgen nur nicht zu wörtlich nehmen. ^^
vom prinzip her könnte ich sowas machen, das problem ist nur vms 1.2...
muss erst mal alle meine scripte anpassen und optimieren, vms 1.2 ist ein guter anlass alles mal richtig ordentlich zu machen. zudem kommt noch dieses nervige privatleben, echt ätzend ^^
und da ich das bettelscript selbst net nutze un diese arbeit mir so nichts bringen würde kommt sie erst ma ganz hinten dran ^^
dwarfpitcher
20.10.2007, 00:07
Schon was neues?
maniwelt
23.10.2007, 15:36
@oje:
Zahle dir 1 Mio. Klammlose wenn du den ganz ganz vorne auf deine Aufgabe-Liste packst XD
gibt es hier was neues??? ;)
Hi habe das gamze bei mir wie folgt gelöst
füge in deiner bettel.php zwischen
if (!mysql_num_rows($reloadcheck)) {und
}else{folgenden code ein
if($bverg == "ok"){
$minimum = $pageconfig['min_betteln'];
$maximum = $pageconfig['max_betteln'];
srand((double)microtime()*1000000);
$bettelsumme = rand($minimum*100,$maximum*100)/100;
$new_reload = time()+$pageconfig['reload_betteln'];
db_query("INSERT INTO ".$db_prefix."_reloads_betteln (ip,uid,tan,bis) VALUES ('".$ip."','".$_GET['ref']."','bettelaufruf','".$new_reload."')");
db_query("UPDATE ".$db_prefix."_kontodaten SET angebettelt =angebettelt + 1, bv = bv + ".$bettelsumme.", kontostand = kontostand + '".$bettelsumme."' WHERE uid = '".$_GET['ref']."'");
refumsatz ($bettelsumme,$_GET['ref']);
aktivralley ($bettelsumme,$_GET['ref']);
bilanz(0,$bettelsumme);
$betteltext = '<b>Du hast für den User '.$_GET['ref'].' gerade '.$bettelsumme.' '.$waehrung.' erbettelt!</b>';
}else{
$btime = "5";
$betteltext = '<b>In '.$btime.' Sekunden bekommt der User '.$_GET['ref'].' eine kleine Belohnung!</b>';
echo '<meta http-equiv="refresh" content="'.$btime.'; URL=?content=/betteln&bverg=ok&ref='.$_GET['ref'].'">';
}
mit
$btime = "5";kann man so die Zeit in Sekunden angeben die bis zur Vergütung vergehen müssen
Gruß b3nny
Edit: Fehler gefunden. Eingetragen wurde in vms_reloads_betteln und abgefragt wurde von vms_reloads
Gibt es denn eigentlich auch eine Möglichkeit das ganze zu realisieren ohne das die ganze Seite inkl. der Werbung neu geladen wird? So könnte das leicht Probleme mit Sponsoren geben, da bei Zufallscodes die Werbung pro Bettelaufruf 2 mal angezeigt wird.
Edit: Fehler gefunden. Eingetragen wurde in vms_reloads_betteln und abgefragt wurde von vms_reloads
danke is mir auch schon aufgefallen.
ohne neuöagen der siete währe es schon möglich.
dazu müsstest du die vergütung der bettelseite in eine neu php datei schreiben und diese dann per iframe in deine vorhandene betteln.php einfügen.
hoffe ich konnte dir weiterhelfen.
gruß b3nny82
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.