MyBB Community Forums

Full Version: RPG Stats (1.2.0) give error and warning
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
RPG Stats (1.2.0) give error and warning while open thread

[Image: Screenshot_383.png]

<?php
/* #############################################################################
*                            RPG Stats for MyBB
*                  Authored by Settyness, Copyright (ɔ) 2019
* #############################################################################
*      This plugin is free software: you can redistribute it and/or modify
*      it under the terms of the GNU General Public License v3 or later.
*                  <https://www.gnu.org/licenses/gpl.html>
* #############################################################################
*/

if(!defined('IN_MYBB')) die('This file cannot be accessed directly.');

$plugins->add_hook('postbit', 'rpgstats_postbit');
$plugins->add_hook('posbit_classic', 'rpgstats_postbit');

function rpgstats_info()
{
return [
'name'          => 'RPG Stats',
'description'  => 'Adds RPG stats, like HP and MP, to author details on postbits. The stats increase with authors\' post counts.',
'website'      => 'https://community.mybb.com/thread-222664.html',
'author'        => 'Settyness',
'authorsite'    => 'http://anfinitinetwork.com',
'version'      => '1.2.0',
'codename'      => 'rpgstats',
'compatibility' => '18*'
];
}

// #############################################################################
/*
* Activate the plugin
*/
function rpgstats_activate()
{
global $db, $mybb, $lang;

$lang->load('rpgstats');

/*
* Install settings
*/
$q = $db->simple_select('settinggroups', 'COUNT(*) as item_rows');
    $rows = $db->fetch_field($q, 'item_rows');

$setting_group = array(
'name' => 'rpgstats',
'title' => $lang->rpgstats_options,
'description' => $lang->rpgstats_options_description,
'disporder' => $rows + 1,
'isdefault' => 0
);

$gid = $db->insert_query("settinggroups", $setting_group);

$setting_array = array(

'rpgstats_view_by' => array(
'title' => $lang->rpgstats_view_by,
'description' => $lang->rpgstats_view_by_description,
'optionscode' => 'groupselect',
'value' => '-1',
'disporder' => 0
),

'exp_mult' => array(
'title' => $lang->exp_multiplier_seed,
'description' => $lang->exp_multiplier_seed_description,
'optionscode' => 'numeric',
'value' => '144.12345678',
'disporder' => 1
),

'hp_ini' => array(
'title' => $lang->initial_hp_value,
'description' => $lang->initial_hp_value_description,
'optionscode' => 'numeric',
'value' => '400',
'disporder' => 2
),

'hp_co' => array(
'title' => $lang->hp_coefficient,
'description' => $lang->hp_coefficient_description,
'optionscode' => 'numeric',
'value' => '180',
'disporder' => 3
),

'hp_damage_field' => array(
'title' => $lang->hp_damage_field,
'description' => $lang->hp_damage_field_description,
'optionscode' => 'numeric',
'value' => '',
'disporder' => 4
),

'mp_ini' => array(
'title' => $lang->initial_mp_value,
'description' => $lang->initial_mp_value_description,
'optionscode' => 'numeric',
'value' => '100',
'disporder' => 5
),

'mp_co' => array(
'title' => $lang->mp_coefficient,
'description' => $lang->mp_coefficient_description,
'optionscode' => 'numeric',
'value' => '60',
'disporder' => 6
),

'mp_spent_field' => array(
'title' => $lang->mp_spent_field,
'description' => $lang->mp_spent_field_description,
'optionscode' => 'numeric',
'value' => '',
'disporder' => 7
),

'limit_system_active' => array(
'title' => $lang->limit_system_active,
'description' => $lang->limit_system_active_description,
'optionscode' => 'yesno',
'value' => 0,
'disporder' => 8
),

'limit_cent_field' => array(
'title' => $lang->limit_cent_field,
'description' => $lang->limit_cent_field_description,
'optionscode' => 'numeric',
'value' => '',
'disporder' => 9
),

'limit_name_field' => array(
'title' => $lang->limit_name_field,
'description' => $lang->limit_name_field_description,
'optionscode' => 'numeric',
'value' => '',
'disporder' => 10
),

'element_system_active' => array(
'title' => $lang->element_system_active,
'description' => $lang->element_system_active_description,
'optionscode' => 'yesno',
'value' => 0,
'disporder' => 11
),

'element_optionstats' => array(
'title' => $lang->element_optionstats,
'description' => $lang->element_optionstats_description,
'optionscode' => 'textarea',
'value' => 'None|none.gif|200|200|200|200
Fire|fire.gif|200|240|200|160
Water|water.gif|200|160|200|240
Ice|ice.gif|200|140|200|260
Lightning|lightning.gif|200|260|200|140
Earth|earth.gif|200|300|200|100
Wind|wind.gif|200|100|200|300
Dark|dark.gif|300|320|100|80
Holy|holy.gif|100|80|300|320
Special|special.gif|350|350|400|400|1',
'disporder' => 12
),

'element_field' => array(
'title' => $lang->element_field,
'description' => $lang->element_field_description,
'optionscode' => 'numeric',
'value' => '',
'disporder' => 13
),

'gil_system_active' => array(
'title' => $lang->gil_system_active,
'description' => $lang->gil_system_active_description,
'optionscode' => 'yesno',
'value' => 0,
'disporder' => 14
),

'gil_field' => array(
'title' => $lang->gil_field,
'description' => $lang->gil_field_description,
'optionscode' => 'numeric',
'value' => '',
'disporder' => 15
),

'equip_system_active' => array(
'title' => $lang->equip_system_active,
'description' => $lang->equip_system_active_description,
'optionscode' => 'yesno',
'value' => 0,
'disporder' => 16
),

'equip_optionid' => array(
'title' => $lang->equip_optionid,
'description' => $lang->equip_optionid_description,
'optionscode' => 'textarea',
'value' => 'Weapon|12
Armor|13
Accessory|14',
'disporder' => 17
),

'exp_bar_image' => array(
'title' => $lang->exp_bar_image,
'description' => $lang->exp_bar_image_description,
'optionscode' => 'text',
'value' => 'images/bars/exp.gif',
'disporder' => 18
),

'exp_background_image' => array(
'title' => $lang->exp_background_image,
'description' => $lang->exp_background_image_description,
'optionscode' => 'text',
'value' => 'images/bars/exp-bg.gif',
'disporder' => 19
),

'hp_bar_image' => array(
'title' => $lang->hp_bar_image,
'description' => $lang->hp_bar_image_description,
'optionscode' => 'text',
'value' => 'images/bars/hp.gif',
'disporder' => 20
),

'hp_background_image' => array(
'title' => $lang->hp_background_image,
'description' => $lang->hp_background_image_description,
'optionscode' => 'text',
'value' => 'images/bars/hp-bg.gif',
'disporder' => 21
),

'mp_bar_image' => array(
'title' => $lang->mp_bar_image,
'description' => $lang->mp_bar_image_description,
'optionscode' => 'text',
'value' => 'images/bars/mp.gif',
'disporder' => 22
),

'mp_background_image' => array(
'title' => $lang->mp_background_image,
'description' => $lang->mp_background_image_description,
'optionscode' => 'text',
'value' => 'images/bars/mp-bg.gif',
'disporder' => 23
),

'limit_bar_image' => array(
'title' => $lang->limit_bar_image,
'description' => $lang->limit_bar_image_description,
'optionscode' => 'text',
'value' => 'images/bars/limit.gif',
'disporder' => 24
),

'limit_break_image' => array(
'title' => $lang->limit_break_image,
'description' => $lang->limit_break_image_description,
'optionscode' => 'text',
'value' => 'images/bars/limit-break.gif',
'disporder' => 25
),

'limit_background_image' => array(
'title' => $lang->limit_background_image,
'description' => $lang->limit_background_image_description,
'optionscode' => 'text',
'value' => 'images/bars/limit-bg.gif',
'disporder' => 26
),

'elements_image_path' => array(
'title' => $lang->elements_image_path,
'description' => $lang->elements_image_path_description,
'optionscode' => 'text',
'value' => 'images/elements/',
'disporder' => 27
),

'gil_image' => array(
'title' => $lang->gil_image,
'description' => $lang->gil_image_description,
'optionscode' => 'text',
'value' => 'images/gil.gif',
'disporder' => 28
),

);

foreach($setting_array as $name => $setting)
{
    $setting['name'] = $name;
    $setting['gid'] = $gid;

    $db->insert_query('settings', $setting);
}

rebuild_settings();

/*
* Install templates
*/
$template = '<div class="smalltext" style="margin: 0 auto; width: 100%px; max-width: 180px;">
<div style="margin: 0 0 8px;">
<div id="rpgstats_lv">{$lang->lv} {$rpgstats[\'lv\']}</div>
<div id="rpgstats_exp">
{$lang->exp}<span style="float: right;">{$rpgstats[\'exp\']}{$lang->points}</span><br />
<div id="rpgstats_exp_bar" style="background: url(\'{$mybb->settings[\'exp_background_image\']}\'); width: 100%; height: 4px;"> 
<img src="{$mybb->settings[\'exp_bar_image\']}" style="width: {$rpgstats[\'exp_cent\']}%; height: 4px;" />
</div>
{$lang->next_level}<span style="float: right;">{$rpgstats[\'exp_next\']}{$lang->points}</span>
</div>
</div>
<div id="rpgstats_hp">
{$lang->hp}<span style="float: right;">{$rpgstats[\'hp_curr\']}/{$rpgstats[\'hp_max\']}</span><br />
<div id="rpgstats_hp_bar" style="background: url(\'{$mybb->settings[\'hp_background_image\']}\'); width: 100%; height: 4px;"> 
<img src="{$mybb->settings[\'hp_bar_image\']}" style="width: {$rpgstats[\'hp_cent\']}%; height: 4px;" alt="{$rpgstats[\'hp_cent\']}%" />
</div>
</div>
<div id="rpgstats_mp">
{$lang->mp}<span style="float: right;">{$rpgstats[\'mp_curr\']}/{$rpgstats[\'mp_max\']}</span><br />
<div id="rpgstats_mp_bar" style="background: url(\'{$mybb->settings[\'mp_background_image\']}\'); width: 100%; height: 4px;"> 
<img src="{$mybb->settings[\'mp_bar_image\']}" style="width: {$rpgstats[\'mp_cent\']}%; height: 4px;" alt="{$rpgstats[\'mp_cent\']}%" />
</div>
</div>
{$limit_bar}
{$element}
{$gil}
{$equip}
</div>';

$insert_array[] = array(
'title' => 'postbit_rpgstats',
'template' => $db->escape_string($template),
'sid' => '-1',
'version' => '',
'dateline' => time()
);

$template = '<div id="rpgstats_limit" style="margin: 8px 0 0;">
{$lang->limit}<span style="float: right;">{$rpgstats[\'limit\']}</span><br />
<div id="rpgstats_limit_bar" style="background: url(\'{$mybb->settings[\'limit_background_image\']}\'); width: 100%; height: 4px;"> 
<img src="{$rpgstats[\'limit_bar_type\']}" style="width: {$rpgstats[\'limit_cent\']}%; height: 4px;" alt="{$rpgstats[\'limit_cent\']}%" />
</div>
</div>';

$insert_array[] = array(
'title' => 'postbit_rpgstats_limit',
'template' => $db->escape_string($template),
'sid' => '-1',
'version' => '',
'dateline' => time()
);

$template = '<div id="rpgstats_element" style="margin: 8px 0 0;">
{$lang->element}<span style="float: right;">{$rpgstats[\'element_name\']}&nbsp;<img src="{$rpgstats[\'element_image\']}" alt="{$rpgstats[\'element_name\']}" /></span>
</div>';

$insert_array[] = array(
'title' => 'postbit_rpgstats_element',
'template' => $db->escape_string($template),
'sid' => '-1',
'version' => '',
'dateline' => time()
);

$template = '<div id="rpgstats_gil" style="margin: 8px 0 0;">
{$lang->gil}<span style="float: right;">{$rpgstats[\'gil\']}&nbsp;<img src="{$rpgstats[\'gil_image\']}" alt="{$rpgstats[\'gil\']} {$lang->gil_shorthand}" /></span>
</div>';

$insert_array[] = array(
'title' => 'postbit_rpgstats_gil',
'template' => $db->escape_string($template),
'sid' => '-1',
'version' => '',
'dateline' => time()
);

$template = '<div id="rpgstats_equip" style="margin: 8px 0 0;">
<select id="rpgstats_equip_dropdown" style="width: 100%; max-width: 180px;">
<option>{$lang->equip}</option>
{$rpgstats[\'equip\']}
</select>
</div>';

$insert_array[] = array(
'title' => 'postbit_rpgstats_equip',
'template' => $db->escape_string($template),
'sid' => '-1',
'version' => '',
'dateline' => time()
);

foreach($insert_array as $array)
{
$db->insert_query('templates', $array);
}

require_once(MYBB_ROOT.'/inc/adminfunctions_templates.php');

find_replace_templatesets(
    'postbit',
    '#\{\$post\[\'user_details\'\]\}#',
    '{$post[\'user_details\']}{$post[\'rpgstats\']}'
);

find_replace_templatesets(
    'postbit_classic',
    '#\{\$post\[\'user_details\'\]\}#',
    '{$post[\'user_details\']}{$post[\'rpgstats\']}'
);

}

// #############################################################################
/*
* Deactivate
*/
function rpgstats_deactivate()
{
global $db;

/*
* Uninstall settings
*/ 
$db->delete_query('settings', "name IN ('rpgstats_view_by', 'exp_mult', 'hp_ini', 'hp_co', 'hp_damage_field', 'mp_ini', 'mp_co', 'mp_spent_field', 'limit_system_active', 'limit_cent_field', 'limit_name_field', 'element_system_active', 'element_optionstats', 'element_field', 'gil_system_active', 'gil_field', 'equip_system_active', 'equip_optionid', 'exp_bar_image', 'exp_background_image', 'hp_bar_image', 'hp_background_image', 'mp_bar_image', 'mp_background_image', 'limit_bar_image', 'limit_break_image', 'limit_background_image', 'elements_image_path', 'gil_image')");
$db->delete_query('settinggroups', "name = 'rpgstats'");

rebuild_settings();

/*
* Uninstall templates
*/
$db->delete_query('templates', 'title = "postbit_rpgstats"');
$db->delete_query('templates', 'title = "postbit_rpgstats_limit"');
$db->delete_query('templates', 'title = "postbit_rpgstats_element"');
$db->delete_query('templates', 'title = "postbit_rpgstats_gil"');
$db->delete_query('templates', 'title = "postbit_rpgstats_equip"');

/*
* Uninstall legacy templates
*/
$db->delete_query('templates', 'title = "postbit_rpgstats_exp"');
$db->delete_query('templates', 'title = "postbit_rpgstats_hp"');
$db->delete_query('templates', 'title = "postbit_rpgstats_mp"');

require_once(MYBB_ROOT.'/inc/adminfunctions_templates.php');

find_replace_templatesets(
    'postbit',
    '#\{\$post\[\'rpgstats\'\]\}#',
''
);

find_replace_templatesets(
    'postbit_classic',
    '#\{\$post\[\'rpgstats\'\]\}#',
''
);
}

// #############################################################################
/*
* Process RPG stats for output
*/
function rpgstats($uid = 0, $posts = 0, $hp_damage = 0, $mp_spent = 0, $limit_cent_field = 0, $limit_name_field = 0, $element_field = 0, $gil_field = 0, $equip = '')
{
if($uid != 0)
{
global $mybb, $templates;

$posts = filter_var($posts, FILTER_SANITIZE_NUMBER_INT);

/*
* Apply default max HP and MP
*/
$rpgstats['hp_ini'] = $mybb->settings['hp_ini'];
$rpgstats['hp_co'] = $mybb->settings['hp_co'];
$rpgstats['mp_ini'] = $mybb->settings['mp_ini'];
$rpgstats['mp_co'] = $mybb->settings['mp_co'];
$rpgstats['hp_max'] = rpgstats_get_stats($posts, $rpgstats['hp_ini'], $rpgstats['hp_co']) + ($uid % 15);
$rpgstats['mp_max'] = intval(rpgstats_get_stats($posts, $rpgstats['mp_ini'], $rpgstats['mp_co']) + ($uid % 10) / 10);

/*
* Apply elements to max HP and MP
*/
if($mybb->settings['element_system_active'] == 1)
{
$elements = explode("\n", $mybb->settings['element_optionstats']);

if(isset($elements) && is_array($elements))
{
foreach($elements as $key => $line)
{
$e[$key] = explode('|', $line);
}
}

if(isset($e) && is_array($e))
{
foreach($e as $attr)
{
if($element_field == $attr[0])
{
$rpgstats['element_name'] = $attr[0];
$rpgstats['element_image'] = $mybb->settings['elements_image_path'].''.$attr[1];
$rpgstats['hp_max'] = rpgstats_get_stats($posts, $attr[2], $attr[3]) + ($uid % 15);
$rpgstats['mp_max'] = intval(rpgstats_get_stats($posts, $attr[4], $attr[5]) + ($uid % 10) / 10);
}
}

foreach($e as $attr)
{
if($attr[6] == intval($uid))
{
$rpgstats['element_name'] = $attr[0];
$rpgstats['element_image'] = $mybb->settings['elements_image_path'].''.$attr[1];
$rpgstats['hp_max'] = rpgstats_get_stats($posts, $attr[2], $attr[3]) + ($uid % 15);
$rpgstats['mp_max'] = intval(rpgstats_get_stats($posts, $attr[4], $attr[5]) + ($uid % 10) / 10);
}
}
}
}

/*
* Get and set current HP and MP values
*/
if(!empty($hp_damage) && $mybb->settings['hp_damage_field'] != '')
{
$rpgstats['hp_curr'] = $rpgstats['hp_max'] - $hp_damage;
}
if(empty($rpgstats['hp_curr']) || $rpgstats['hp_curr'] > $rpgstats['hp_max']) $rpgstats['hp_curr'] = $rpgstats['hp_max'];
elseif($rpgstats['hp_curr'] < 0) $rpgstats['hp_curr'] = 0;
$rpgstats['hp_cent'] = floor($rpgstats['hp_curr'] / $rpgstats['hp_max'] * 100);

if(!empty($mp_spent) && $mybb->settings['mp_spent_field'] != '')
{
$rpgstats['mp_curr'] = $rpgstats['mp_max'] - $mp_spent;
}
if(empty($rpgstats['mp_curr']) || $rpgstats['mp_curr'] > $rpgstats['mp_max']) $rpgstats['mp_curr'] = $rpgstats['mp_max'];
elseif($rpgstats['mp_curr'] < 0) $rpgstats['mp_curr'] = 0;
$rpgstats['mp_cent'] = floor($rpgstats['mp_curr'] / $rpgstats['mp_max'] * 100);


/*
* Get and set Exp values
*/
$rpgstats['exp_mult'] = $mybb->settings['exp_mult'];
$rpgstats['exp'] = intval(rpgstats_get_exp($posts) * $rpgstats['exp_mult']);
$rpgstats['exp_next'] = intval(rpgstats_get_nextlv($posts) * $rpgstats['exp_mult']);
$rpgstats['exp_curr'] = intval(rpgstats_get_lastlv($posts) * $rpgstats['exp_mult']);
$rpgstats['exp_gap'] = $rpgstats['exp_next'] - $rpgstats['exp_curr'];
$rpgstats['exp_prog'] = $rpgstats['exp'] - $rpgstats['exp_curr'];
$rpgstats['exp_cent'] = floor($rpgstats['exp_prog'] / $rpgstats['exp_gap'] * 100);

/*
* Get and set limit break gauge
*/
if($mybb->settings['limit_system_active'] == 1)
{
$rpgstats['limit_cent'] = $limit_cent_field;
$rpgstats['limit'] = $limit_name_field;

if(empty($rpgstats['limit_cent']) || $rpgstats['limit_cent'] < 0) $rpgstats['limit_cent'] = 0;
elseif($rpgstats['limit_cent'] > 100) $rpgstats['limit_cent'] = 100;

if($rpgstats['limit_cent'] == 100) $rpgstats['limit_bar_type'] = $mybb->settings['limit_break_image'];
else $rpgstats['limit_bar_type'] = $mybb->settings['limit_bar_image'];
}

/*
* Get Gil value
*/
if($mybb->settings['gil_system_active'] == 1)
{
$rpgstats['gil'] = my_number_format($gil_field);
$rpgstats['gil_image'] = $mybb->settings['gil_image'];
}

$rpgstats['equip'] = $equip;

/*
* Format numbers for output
*/
$rpgstats['lv'] = my_number_format(rpgstats_get_lv($posts));
$rpgstats['hp_curr'] = my_number_format($rpgstats['hp_curr']);
$rpgstats['hp_max'] = my_number_format($rpgstats['hp_max']);
$rpgstats['mp_curr'] = my_number_format($rpgstats['mp_curr']);
$rpgstats['mp_max'] = my_number_format($rpgstats['mp_max']);
$rpgstats['exp'] = my_number_format($rpgstats['exp']);
$rpgstats['exp_next'] = my_number_format($rpgstats['exp_next']);

return $rpgstats;
}
}

// #############################################################################
/*
* Postbit hook function
*/
function rpgstats_postbit($post)
{ 
global $mybb;

$allowed_groups = explode(',', $mybb->settings['rpgstats_view_by']);

if(in_array($mybb->user['usergroup'], $allowed_groups) || $mybb->settings['rpgstats_view_by'] == -1)
{
if($post['uid'] != 0)
{ 
global $lang, $templates;

$lang->load('rpgstats');

/*
* Figure out equipment slots and build their equipment field
*/
if($mybb->settings['equip_system_active'] == 1)
{ 
$equip = explode("\n", $mybb->settings['equip_optionid']);

if(isset($equip) && is_array($equip))
{
foreach($equip as $key => $line)
{
$e[$key] = explode('|', $line);
}

if(isset($e) && is_array($e))
{
$equipment = '';

foreach($e as $attr)
{
if(!isset($post['fid'.intval($attr[1])]) || $post['fid'.intval($attr[1])] == '')
{
$equipment .= '<optgroup label="'.$attr[0].'"><option>'.$lang->equip_empty.'</option></optgroup>';
}

else
{
$equipment .= '<optgroup label="'.$attr[0].'"><option>'.$post['fid'.intval($attr[1])].'</option></optgroup>';
}
}
}
}
}

/*
* Calculate RPG stats for postbit
*/
$rpgstats = rpgstats(
$post['uid'],
$post['postnum'],
$post['fid'.$mybb->settings['hp_damage_field']],
$post['fid'.$mybb->settings['mp_spent_field']],
$post['fid'.$mybb->settings['limit_cent_field']],
$post['fid'.$mybb->settings['limit_name_field']],
$post['fid'.$mybb->settings['element_field']],
$post['fid'.$mybb->settings['gil_field']],
$equipment
);

/*
* Fetch templates for output
*/
if($mybb->settings['limit_system_active'] == 1) eval('$limit_bar = "'.$templates->get('postbit_rpgstats_limit').'";');
if($mybb->settings['element_system_active'] == 1) eval('$element = "'.$templates->get('postbit_rpgstats_element').'";');
if($mybb->settings['gil_system_active'] == 1) eval('$gil = "'.$templates->get('postbit_rpgstats_gil').'";');
if($mybb->settings['equip_system_active'] == 1) eval('$equip = "'.$templates->get('postbit_rpgstats_equip').'";');
eval("\$post['rpgstats'] = \"".$templates->get("postbit_rpgstats")."\";");

return $post;
}
}
}

// #############################################################################
/*
* Turn posts into Exp
*/
function rpgstats_get_exp($posts)
{
$exp = max(($posts - 1), 0);

return $exp;
}

// #############################################################################
/*
* Derive Lv from Exp
*/
function rpgstats_get_lv($posts)
{
$exp = rpgstats_get_exp($posts);
$level = floor(.5 + sqrt(.25 + (2 * $exp)));
$level = $level;

return $level;
}

// #############################################################################
/*
* Return postcount required for next level increase
*/
function rpgstats_get_nextlv($posts)
{
$level  = rpgstats_get_lv($posts);
$nextlvl = 0;

$tens = (int) ($level / 10);

for ($t = 0; $t < $tens; $t++) {
$nextlvl += $t * 100 + 55;
}

for ($x = $tens * 10 + 1; $x <= $level; $x++) {
$nextlvl += $x;
}

return $nextlvl;
}

function rpgstats_get_lastlv($posts)
{
$level  = rpgstats_get_lv($posts);
$level  = $level - 1;
$nextlvl = 0;

$tens = (int) ($level / 10);

for ($t = 0; $t < $tens; $t++) {
$nextlvl += $t * 100 + 55;
}

for ($x = $tens * 10 + 1; $x <= $level; $x++) {
$nextlvl += $x;
}

return $nextlvl;
}

// #############################################################################
/*
* Return stats based on posts, initial values, and coefficients
*/
function rpgstats_get_stats($posts, $stat_ini, $stat_co)
{
$level = rpgstats_get_lv($posts);
$stat  = $stat_ini;

$tens = (int) ($level / 10);

for ($t = 0; $t < $tens; $t++) {
$stat += ($stat_co * 10 + 275) + (500 * $t);
}

for ($x = $tens * 10 + 1; $x <= $level; $x++) {
$stat += $stat_co + ($x * 5);
}

$stat = intval($stat /4);

return $stat;
}
You may learn to use the [ php ] [ /php ] or [ code ] [ /code ] when you copy code here.
yes sir i am done

now i am know how to use them

(2019-12-05, 01:29 PM)Crazycat Wrote: [ -> ]You may learn to use the [ php ] [ /php ] or [ code ] [ /code ] when you copy code here.


yes sir done
Hey, sorry it took me so long to respond. I try to check back, somewhat regularly, for issues such as this.

It looks like somehow your postcount is NaN? I'm not sure how to reproduce this. If you want to provide me a link to this particular error (in PM if need be), it might help me get ahold of the program state you're in.
now its fixed for me bro i dont know hwere is that php warnings
Okay, let me know if you see it again. It looks like it may have failed to get a postcount and I want to know why. I've had the issue before because I forgot to not include guest profiles. So I'm curious now if it's possible for actual accounts to have posts that are NaN. Either way, I'll probably have to start more strongly checking the value of post count, since it's essential to the entire plugin.