[Release] AFK for credits/zen script

ivowe3

Wiki
Joined
Apr 1, 2009
Messages
1,220
Reaction score
1,281
Здравейте,
този скрипт се include в index или на някое място което често го посещават потребителите ви (става въпрос за сайта).
Настройки:
$map='0';
$zen = '5000000'; $credits = '15';
$vreme = '3600';

$map='Номер на картата';
$zen = 'колко зен да дава'; в случай че използвате афк за пари
$credits = 'колко кредита да дава'; // в случай че използвате афк за кредити
$vreme = 'през колко време да дава парите/кредитите. в секунди отброява';

Query Code:
Code:
Use MuOnline
alter table Character add AFKtime int not null default 0

AFK Credits:
PHP:
<? 
$map='0';  //Map 0=Lorencia 2=davias and ect
$credits = '15'; //krediti
$vreme = '3600';  //sec

$proverka="SELECT name, AFKtime, MapNumber, accountid from Character";
$proverkata = mssql_query($proverka);
for($i=0; $i < mssql_num_rows($proverkata); ++$i)
{
$rows = mssql_fetch_row($proverkata); 

$status = "Select memb___id from memb_stat where connectstat='1' and memb___id = '".$rows[3]."'";
$statuss = mssql_fetch_row(mssql_query($status));
$accchar = mssql_fetch_row(mssql_query("Select GameIDC from AccountCharacter where Id='".$statuss[0]."'"));
$numrowstatus =mssql_num_rows(mssql_query($status));

$timeafk = time()+$vreme;
$timeto = $rows[1] - time();


if ($rows[1]!=0) {
if($rows[2]!=$map or $numrowstatus!=1 or $rows[0]!=$accchar[0]) {
$Update= "Update Character set AFKtime='0' where name='".$rows[0]."'";
$a1= mssql_query($Update);
}
elseif ($rows[2]==$map and $timeto<0){
$Update= "Update Character set AFKtime='$timeafk' where name='".$accchar[0]."'";
$a1= mssql_query($Update);
$Updates= "Update MEMB_CREDITS set credits=credits+".$credits." where memb___id='".$statuss[0]."'";
$as= mssql_query($Updates);
}


}
else {
$Update= "Update Character set AFKtime='$timeafk' where name='".$accchar[0]."' and MapNumber='".$map."' and afktime='0'";
$a1= mssql_query($Update);
}
}
?>

AFK Zen:
PHP:
<? 
$map='0';  //Map 0=Lorencia 2=davias and ect
$zen = '5000000'; //zen
$vreme = '3600';  //sec

$proverka="SELECT name, AFKtime, MapNumber, accountid from Character";
$proverkata = mssql_query($proverka);
for($i=0; $i < mssql_num_rows($proverkata); ++$i)
{
$rows = mssql_fetch_row($proverkata); 

$status = "Select memb___id from memb_stat where connectstat='1' and memb___id = '".$rows[3]."'";
$statuss = mssql_fetch_row(mssql_query($status));
$accchar = mssql_fetch_row(mssql_query("Select GameIDC from AccountCharacter where Id='".$statuss[0]."'"));
$numrowstatus =mssql_num_rows(mssql_query($status));

$timeafk = time()+$vreme;
$timeto = $rows[1] - time();


if ($rows[1]!=0) {
if($rows[2]!=$map or $numrowstatus!=1 or $rows[0]!=$accchar[0]) {
$Update= "Update Character set AFKtime='0' where name='".$rows[0]."'";
$a1= mssql_query($Update);
}
elseif ($rows[2]==$map and $timeto<0){
$Update= "Update Character set AFKtime='$timeafk' where name='".$accchar[0]."'";
$a1= mssql_query($Update);
$Updates= "Update warehouse set money=money+".$zen." where AccountID='".$statuss[0]."'";
$as= mssql_query($Updates);
}


}
else {
$Update= "Update Character set AFKtime='$timeafk' where name='".$accchar[0]."' and MapNumber='".$map."' and afktime='0'";
$a1= mssql_query($Update);
}
}
?>

v0.1[ChangeLog] afkcredits:
1. Fixed some bugs in syntax.
2. Added insert Accounts in MEMB_CREDITS table.
 

Attachments

  • afkzen.rar
    634 bytes · Views: 86
  • afkcredits.rar
    638 bytes · Views: 115
  • afkcredits v0.1.rar
    781 bytes · Views: 175
Last edited:
Браво, само че имам забележка. Така даже и да не си афк, пак ще ти дава кредити/зен, стига да си в посочения град, може да направиш проверка дали се изменят координатите на героя и ако се изменят да му занулява времето и да почва отначало да брои без да му дава кредити, тоест направи си още 2 колони AFKX и AFKY и там записвай координатите на героя.
 
Мен самата идея ми беше да може да се движиш по града, но да не излизаш от него. иначе можеше да прасна още 1 ифче.
 
Ето 1 ранк не знам дали работи

PHP:
<table width='400' align='center' class='maintable'>
<tr>
<td align='center'>Rank</td>
<td align='center'>Name</td>
<td align='center'>Level<font color=red>[Reset]</font></td>
<td align='center'>Remaining Time</td>
</tr>

<?php


$topq = mssql_query("Select ToP 100 name,clevel,resets,afktime from character where afktime>0 order by resets desc, clevel desc");

for($i=0; $i < mssql_num_rows($topq); ++$i)
{
$rank = $i+1;
$row = mssql_fetch_row($topq);


$ss = $row[3] - time();
$mm = floor($ss/60);
$hh = floor($mm/60);
$mm = $mm % 60;
$ss = $ss % 60;

$char= htmlspecialchars(addslashes($row[0]));
echo"
<tr>

<td align='center'>$rank</td>
<td align='center'>$char</td>
<td align='center'>$row[1]<font color=red>[$row[2]]</font></td>
<td align='center'>$mm:$ss</td>
</tr>
";

}
echo "</table><br />";
?>
 
Добра идея :) . Имам само една забележка, няма проверка дали героят е онлине или не (демек може да не си в игра,но да си в града и пак ще ти дава кредити).


Не знам кой скрипт гледаш. Виж в първия пост
Code:
$numrowstatus =mssql_num_rows(mssql_query($status));
Code:
if($rows[2]!=$map or $numrowstatus!=1 or $rows[0]!=$accchar[0]) {

ПП: Скрипта е тестван и работи. Не съм тествал ранка.
 
Last edited:
Добра идея :) . Имам само една забележка, няма проверка дали героят е онлине или не (демек може да не си в игра,но да си в града и пак ще ти дава кредити).

Като не разбираш, не се изказвай неподготвен!
Иво, работи си ранкинга.
 
  • Like
Reactions: ivowe3
http://myjobisto.servebeer.com/afk.php
От няколко дена убеждавам хората, че ще получават кредити ако са афк в Арена, но май се оказва че съм ги излъгал.. :D
Пробвах да сменя Credit на Credits както е в моята датабаза, но уви - същата грешка.
Плиз хелп ми броу.
 
За да добавя кредитите трябва да са се логвали в WebShop-a за да им запише акаунтите в MEMB_CREDITS

Грешката в името на таблицата е проправено.

v0.1[ChangeLog]:
1. Fixed some bugs in syntax.
2. Added insert Accounts in MEMB_CREDITS table.

PHP:
<? 
$map='0';  //Map 0=Lorencia 2=davias and ect
$credits = '15'; //krediti
$vreme = '3600';  //sec

$proverka="SELECT name, AFKtime, MapNumber, accountid from Character";
$proverkata = mssql_query($proverka);
for($i=0; $i < mssql_num_rows($proverkata); ++$i)
{
$rows = mssql_fetch_row($proverkata); 

$status = "Select memb___id from memb_stat where connectstat='1' and memb___id = '".$rows[3]."'";
$statuss = mssql_fetch_row(mssql_query($status));
$accchar = mssql_fetch_row(mssql_query("Select GameIDC from AccountCharacter where Id='".$statuss[0]."'"));
$numrowstatus =mssql_num_rows(mssql_query($status));
$newcredits = mssql_num_rows(mssql_query("select * from MEMB_CREDITS where memb___id='".$statuss[0]."'"));
if($newcredits<1){$aham= mssql_query("INSERT INTO MEMB_CREDITS (memb___id,credits) VALUES ('$statuss[0]','0')");}
$timeafk = time()+$vreme;
$timeto = $rows[1] - time();


if ($rows[1]!=0) {
if($rows[2]!=$map or $numrowstatus!=1 or $rows[0]!=$accchar[0]) {
$Update= "Update Character set AFKtime='0' where name='".$rows[0]."'";
$a1= mssql_query($Update);
}
elseif ($rows[2]==$map and $timeto<0){
$Update= "Update Character set AFKtime='$timeafk' where name='".$accchar[0]."'";
$a1= mssql_query($Update);
$Updates= "Update MEMB_CREDITS set credits=credits+".$credits." where memb___id='".$statuss[0]."'";
$as= mssql_query($Updates);
}


}
else {
$Update= "Update Character set AFKtime='$timeafk' where name='".$accchar[0]."' and MapNumber='".$map."' and afktime='0'";
$a1= mssql_query($Update);
}
}
?>
 

Attachments

  • afkcredits v0.1.rar
    781 bytes · Views: 17
Last edited:
  • Like
Reactions: Mario1
За да добавя кредитите трябва да са се логвали в WebShop-a за да им запише акаунтите в MEMB_CREDITS

Грешката в името на таблицата е проправено.

v0.1[ChangeLog]:
1. Fixed some bugs in syntax.
2. Added insert Accounts in MEMB_CREDITS table.

PHP:
<? 
$map='0';  //Map 0=Lorencia 2=davias and ect
$credits = '15'; //krediti
$vreme = '3600';  //sec

$proverka="SELECT name, AFKtime, MapNumber, accountid from Character";
$proverkata = mssql_query($proverka);
for($i=0; $i < mssql_num_rows($proverkata); ++$i)
{
$rows = mssql_fetch_row($proverkata); 

$status = "Select memb___id from memb_stat where connectstat='1' and memb___id = '".$rows[3]."'";
$statuss = mssql_fetch_row(mssql_query($status));
$accchar = mssql_fetch_row(mssql_query("Select GameIDC from AccountCharacter where Id='".$statuss[0]."'"));
$numrowstatus =mssql_num_rows(mssql_query($status));
$newcredits = mssql_num_rows(mssql_query("select * from MEMB_CREDITS where memb___id='".$statuss[0]."'"));
if($newcredits<1){$aham= mssql_query("INSERT INTO MEMB_CREDITS (memb___id,credits) VALUES ('$statuss[0]','0')");}
$timeafk = time()+$vreme;
$timeto = $rows[1] - time();


if ($rows[1]!=0) {
if($rows[2]!=$map or $numrowstatus!=1 or $rows[0]!=$accchar[0]) {
$Update= "Update Character set AFKtime='0' where name='".$rows[0]."'";
$a1= mssql_query($Update);
}
elseif ($rows[2]==$map and $timeto<0){
$Update= "Update Character set AFKtime='$timeafk' where name='".$accchar[0]."'";
$a1= mssql_query($Update);
$Updates= "Update MEMB_CREDITS set credits=credits+".$credits." where memb___id='".$statuss[0]."'";
$as= mssql_query($Updates);
}


}
else {
$Update= "Update Character set AFKtime='$timeafk' where name='".$accchar[0]."' and MapNumber='".$map."' and afktime='0'";
$a1= mssql_query($Update);
}
}
?>
Code:
Warning: mssql_query() [function.mssql-query]: message: Invalid object name 'Character'. (severity 16) in C:\xampp\htdocs\afk.php on line 7

Warning: mssql_query() [function.mssql-query]: Query failed in C:\xampp\htdocs\afk.php on line 7

Warning: mssql_num_rows(): supplied argument is not a valid MS SQL-result resource in C:\xampp\htdocs\afk.php on line 8
 
Code:
Warning: mssql_query() [function.mssql-query]: message: Invalid object name 'Character'. (severity 16) in C:\xampp\htdocs\afk.php on line 7

Warning: mssql_query() [function.mssql-query]: Query failed in C:\xampp\htdocs\afk.php on line 7

Warning: mssql_num_rows(): supplied argument is not a valid MS SQL-result resource in C:\xampp\htdocs\afk.php on line 8

Драсни ми в скайпа.
 
Originally Posted by Mario1 View Post
Code:
Warning: mssql_query() [function.mssql-query]: message: Invalid object name 'Character'. (severity 16) in C:\xampp\htdocs\afk.php on line 7

Warning: mssql_query() [function.mssql-query]: Query failed in C:\xampp\htdocs\afk.php on line 7

Warning: mssql_num_rows(): supplied argument is not a valid MS SQL-result resource in C:\xampp\htdocs\afk.php on line 8
Дава ми същият проблем какво да направя. :(
 
Originally Posted by Mario1 View Post
Code:
Warning: mssql_query() [function.mssql-query]: message: Invalid object name 'Character'. (severity 16) in C:\xampp\htdocs\afk.php on line 7

Warning: mssql_query() [function.mssql-query]: Query failed in C:\xampp\htdocs\afk.php on line 7

Warning: mssql_num_rows(): supplied argument is not a valid MS SQL-result resource in C:\xampp\htdocs\afk.php on line 8
Дава ми същият проблем какво да направя. :(
PHP:
<?php
include('config.php');
?>
 
Първо да благодаря за помощта.Но искам само да те питам нещо.Значи скрипта трагна грешкатаи изчезна обаче не дава кредитите както трябва бях го настроил за 1 минута да дава 1 кредит.И ако не греша мисля че като влезне някой в сайта праща заявка и според това от колко време е афк му добавя кредитите.Но при мен след като минаха 10 минути и влезнах в сайта да се обнови му добави само 1 кредит.Незнам дали аз бъркам нещо или сам много прост :D.Скрипта е сложен в index/home i polzwam Eva Web 0.2.Ето го и кода на цялата страница.Благодаря предварително за съдействието.

<?php
if (!defined('IN_VALID')){
header('Content-Type: text/html; charset=utf-8');
header("Refresh: 2; ../ ");
echo "<center>Добър опит, но за съжаление неуспешен :(</center>";
}else{
define('IN_VALID',True);
require("config.php");
include("inc/header.php");
include("inc/menu-top.php");
?>
</td>
</tr>
</tbody>
</table><center>
<table align="center" width="980" border="1" bordercolor="#9b9b9b" style="margin:-1px;">
<tr>
<td colspan="3" height="100%" valign="top" align="center">
<br />
<table width="98%" bgcolor="#f4f4f4" border="2" bordercolor="#c6c6c6">

<tr>
<td><center><a href="<?=$votelink;?>"><strong>.::[ Моля гласувайте за нас по веднъж на ден. Вашият глас е важен за нас, както и за нашето развитие. ]::.</strong></a></center> </td>
</tr>
</table>
<br />

<table border="0" width="98%">
<tr>
<td width="120" bgcolor="#FFFFFF" align="center">


<a href="#" target="_blank"><img src="<?=$domein;?>/images/index/reclam.png" border="1" width="120" height="276" style="display:block;" /></a>

</td>

<td align="center" valign="top">

<table border="0" cellpadding="4" cellspacing="0" width="220" bordercolor=#666666>

<tr bgcolor="#c6c6c6">
<td style="border-bottom: 1px solid #fefefe" colspan="5"><font color="#0f0f0f"><img src="<?=$domein;?>/images/num/bullet.png"> Топ 10 играчи<b><span id="timespan2">
<!-- <td colspan="2"><a href="/user-dsevent"><font color="black"><b>Devil Square</b></font></a></td> -->
<!-- <td colspan="1"><font color="#FF0000"><b><span id="timespan"> -->
<!-- Devil Squere code-->
</span></b></font>
</td>
</tr>
<tr bgcolor="#c6c6c6" align="center">
<td align=center width=30><font color=black>#</td>
<td align=center width=120><font color=black>Герой</td>

<td align=center width=100><font color=black>Резети</td>
</tr>
<?php
$query = "SELECT TOP 10 * from Character order by resets desc";
$result = mssql_query($query) or die ('Немога да извлека информацията от базата данни');
for($i=0;$i < mssql_num_rows($result); ++$i){
$row = mssql_fetch_assoc($result);

$id = $i+1;
$name = $row['Name'];
$resets = $row['Resets'];
if ($id == 1){
$id = "<img src='$domein/images/num/gold.png'>";
}
if ($id == 2){
$id = "<img src='$domein/images/num/silver.png'>";
}
if ($id == 3){
$id = "<img src='$domein/images/num/copper.png'>";
}
echo
"
<tr>
<td valign=middle bgcolor='#e7e7e7' align=center>$id</td>
<td valign=middle bgcolor='#e7e7e7' align=center>$name</td>
<td valign=middle bgcolor='#e7e7e7' align=center>$resets</td>
</tr>
";
}

?>
</tr>
</table>
</td>
<td width="10%" valign="top">
<?php require("inc/information.php"); ?>
</td>

<td align="center" valign="top">
<table border="0" cellpadding="4" cellspacing="0" width="220" bordercolor=#666666>
<tr bgcolor="#c6c6c6" style="border-bottom: 1px solid #fefefe">
<td colspan="5"><font color="#0f0f0f"><img src="<?=$domein;?>/images/num/bullet.png"> Топ 10 гилдии<b><span id="timespan2">
<!-- Blood Castle Script -->
</span></b></font>
</td>
</tr>
<tr bgcolor="#c6c6c6" align="center">
<td align=center width=30><font color=black>#</td>
<td align=center width=120><font color=black>Име</td>

<td align=center width=100><font color=black>Точки</td>
<td align=center width=100><font color=black>Лого</td>
</tr>
<?php
$query = "SELECT TOP 10 * from guild order by G_score desc";
$result = mssql_query($query) or die ('Немога да извлека информацията от базата данни');
for($i=0;$i < mssql_num_rows($result); ++$i){
$row = mssql_fetch_row($result);
$id = $i+1;
$guild = $row[0];
$score = $row[2];
$logo = urlencode(bin2hex($row[1]));

if ($id == 1){
$id = "<img src='$domein/images/num/1g.png'>";
}
if ($id == 2){
$id = "<img src='$domein/images/num/2g.png'>";
}
if ($id == 3){
$id = "<img src='$domein/images/num/3g.png'>";
}
echo
"<tr>
<td valign=middle bgcolor='#e7e7e7' align=center>$id</td>
<td valign=middle bgcolor='#e7e7e7' align=center>$guild</td>
<td valign=middle bgcolor='#e7e7e7' align=center>$score</td>
<td valign=middle bgcolor='#e7e7e7' align=center><img style='border: 1px solid #fefefe' src='$domein/modules/decode.php?decode=$logo' height=16 width=16 broder=0></td>
</tr>
";
}
?>

</table></td>
<td width="120" bgcolor="#FFFFFF" align="center"><a href="#" target="_blank"><img src="<?=$domein;?>/images/index/reclam.png" border="1" style="display:block;" /></a></td>
</tr>
</table>
<br/>
<?php
if($web['Adventismerents'] == 'Yes'){
include_once('inc/adv.php');
}
?>
<br>
<?php include_once('inc/footer.php'); ?>
<?php } ?>
<?
include('config.php');
$map='0'; //Map 0=Lorencia 2=davias and ect
$credits = '1'; //krediti
$vreme = '60'; //sec

$proverka="SELECT name, AFKtime, MapNumber, accountid from Character";
$proverkata = mssql_query($proverka);
for($i=0; $i < mssql_num_rows($proverkata); ++$i)
{
$rows = mssql_fetch_row($proverkata);

$status = "Select memb___id from memb_stat where connectstat='1' and memb___id = '".$rows[3]."'";
$statuss = mssql_fetch_row(mssql_query($status));
$accchar = mssql_fetch_row(mssql_query("Select GameIDC from AccountCharacter where Id='".$statuss[0]."'"));
$numrowstatus =mssql_num_rows(mssql_query($status));
$newcredits = mssql_num_rows(mssql_query("select * from MEMB_CREDITS where memb___id='".$statuss[0]."'"));
if($newcredits<1){$aham= mssql_query("INSERT INTO MEMB_CREDITS (memb___id,credits) VALUES ('$statuss[0]','0')");}
$timeafk = time()+$vreme;
$timeto = $rows[1] - time();


if ($rows[1]!=0) {
if($rows[2]!=$map or $numrowstatus!=1 or $rows[0]!=$accchar[0]) {
$Update= "Update Character set AFKtime='0' where name='".$rows[0]."'";
$a1= mssql_query($Update);
}
elseif ($rows[2]==$map and $timeto<0){
$Update= "Update Character set AFKtime='$timeafk' where name='".$accchar[0]."'";
$a1= mssql_query($Update);
$Updates= "Update MEMB_CREDITS set credits=credits+".$credits." where memb___id='".$statuss[0]."'";
$as= mssql_query($Updates);
}


}
else {
$Update= "Update Character set AFKtime='$timeafk' where name='".$accchar[0]."' and MapNumber='".$map."' and afktime='0'";
$a1= mssql_query($Update);
}
}
?>