Фикс функции цикла для . Вот собственно рефферальная система ExEngine, вот нужный участок кода. Нужн

Автор MUPlayAtLevel, 2015 Май 24, 10:01

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Ключевые слова [SEO] mu onlineвеб сайтыexengine

MUPlayAtLevel

вот собственно рефферальная система ExEngine
https://prntscr.com/78ppz7

вот нужный участок кода

Спойлер
$ReferralResult = $DB->Query("SELECT memb___id,reward_ref FROM MEMB_INFO WHERE referral = '$Username'  AND reward_ref = '0'");
$ReferralCount = $DB->NumRows($ReferralResult);

if ($ReferralCount > 0) {
for ($i = 0; $i < $ReferralCount; $i++) {
$RefInfo = $DB->FetchRow($ReferralResult); // обработка логинов в функции

if ($RefInfo[1] <= 0) {
$ReferralChar = $DB->Query("SELECT Name,Resets FROM Character WHERE AccountID = '$RefInfo[0]'");
for ($b = 0; $b < $DB->NumRows($ReferralChar); ++$b) {
$CharResult    = $DB->FetchRow($ReferralChar);
$RefInfofix = $DB->Query("SELECT AccountID FROM Character WHERE Name = '$CharResult[0]' AND Resets = '100'");
$CharResult2    = $DB->FetchRow($RefInfofix);
$ReferralCfix2 = $DB->Query("SELECT Name,Resets FROM Character WHERE AccountID = '$CharResult2[0]'");
$CharResultfix2    = $DB->FetchRow($ReferralCfix2);
if($CharResultfix2[1] >= 100) {
$Reward = 1;

}
}
}


// Вознаграждение
if ($Reward == 1) {
if($Referral['reward_zen'] >= 1) {
$DB->Query("UPDATE dbo.warehouse SET [extMoney] = [extMoney] + ".$Referral['zen_count']." WHERE AccountID = '$Username'
UPDATE dbo.warehouse SET [extMoney] = [extMoney] + ".$Referral['zen_count2']." WHERE AccountID = '$CharResult2[0]'");
}

if($Referral['reward_cred'] >= 1) {
$DB->Query("UPDATE dbo.GameShopPoint SET [GoblinPoint] = [GoblinPoint] + ".$Referral['cred_count']." WHERE AccountID = '$Username'
UPDATE dbo.GameShopPoint SET [GoblinPoint] = [GoblinPoint] + ".$Referral['cred_count2']." WHERE AccountID = '$CharResult2[0]'");
}

$DB->Query("UPDATE MEMB_INFO SET [reward_ref] = '1' WHERE memb___id = '$CharResult2[0]'");
echo Message('ok','Вы получили вознаграждение за приглашённого игрока '.$CharResult2[0].'.');
}
}
}
[свернуть]

Нужно пофиксить данную функцию
При получении нужного ресета реффералом,данная функция обрабатывает не только нужного рефферала но и всех остальных кто зарегистрировался на 1 и тот же аккаунт
for ($i = 0; $i < $ReferralCount; $i++) {

epmak

#1
после первого найденного персонажа и выдачи ему приза  писать break;

MUPlayAtLevel

спасибо,как я мог забыть  

Profesor08

Это решает одну проблему, но создает другую.

После if ($Reward == 1) { надо обнулить переменную $Reward

$Reward = 0;

MUPlayAtLevel

спасибо,использую это

Похожие темы (5)