ติดต่อลงโฆษณา [email protected]

ผู้เขียน หัวข้อ: "แถบ Level" ทำอย่างไรครับ  (อ่าน 3209 ครั้ง)

0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้

ออฟไลน์ BaLLaB

  • New Member
  • *
  • กระทู้: 27
    • ดูรายละเอียด
"แถบ Level" ทำอย่างไรครับ
« เมื่อ: 20/06/07, 17:56:24 »


แบบ ที่มี Level อะครับ ทำยังไง แล้วมันคืออะไร
แล้วใช้งานยังไงครับ

แล้ว สงสัยอีกเรื่องครับ

Garma นี่ คืออะไรครับ แล้ววิธีใช้ใช้อย่างไร
แล้ว ถ้าโดย + หรือ - แล้วจะเป็นอะไรครับ

ขอบคุณครับ

ออฟไลน์ USIAM

  • New Member
  • *
  • กระทู้: 4
    • ดูรายละเอียด
    • my new forums
Re: "แถบ Level" ทำอย่างไรครับ
« ตอบ #1 เมื่อ: 16/03/08, 17:38:57 »
นั่นสิครับ รอคำตอบอยู่เหมือนกันน่ะครับ
คือผมเปิดGarma แล้ว แต่ไม่เห็นมีแถบ level ขึ้นมาเลยน่ะครับ  ???

ออฟไลน์ 2t

  • New Member
  • *
  • กระทู้: 3
    • ดูรายละเอียด
Re: "แถบ Level" ทำอย่างไรครับ
« ตอบ #2 เมื่อ: 16/03/08, 18:27:27 »
1. เปิดไฟล์ Sources/Load.php

2. หลังบรรทัดแรก ("<?php") ให้เพิ่มโค้ดนี้ลงไปครับ

///////////////
// พลังงานความร้อนแฝงกลางใจ SMF //
///////////////

$rpgSettings = array();
$rpgSettings['init'] = 5;
$rpgSettings['incre'] = 3;
function calRpg($p) {
   global $rpgSettings;
   $i = 0; $j = $rpgSettings['init']; $l = 0;
   while ($i < $p) {
      $l++;
      $i += $j;
      $j += $rpgSettings['incre'];
   }
   $fn = $i;
   $cbase = ($i - ($j - $rpgSettings['incre']));
   if ($l < 1) $l = 1;
   $pc = (($p - $cbase) / ($fn - $cbase)) * 100;
   return array(
      'level' => $l,
      'cbase' => $cbase,
      'nbase' => $fn,
      'perce' => $pc
   );
}

3. เปิดไฟล์ Themes/default/Display.template.php
และแก้ไข ไฟล์ ใน ธีมปัจจุบัน ด้วย

4. หาบรรทัดที่มีข้อความนี้ครับ

         // Show avatars, images, etc.?

5. เพิ่มโค้ดนี้ ก่อนหน้าบรรทัดที่ให้หาครับ

         $cp = $message['member']['posts'];
         $cr = calRpg($cp);
         echo 'Level ' . $cr['level'] . ' : Exp ' . round($cr['perce']) . '%<div style="width:92%;border: 1px solid #999; background: #fff" align="left">
                           <div style="width:', round($cr['perce']), '%;background:#ccc;height:8px;"></div></div>';

   $membID = $message['member']['id'];
   $lastMsg = mysql_fetch_array(mysql_query($sql = "SELECT max(posterTime) FROM {$db_prefix}messages WHERE ID_MEMBER = {$membID}"));
   $hp = round(100 / (1 + ((time() - $lastMsg[0]) / 100000)), 1);
   echo '
                        HP: ' . $hp . '%<div style="width:92%;border: 1px solid #999; background: #fff" align="left">
                           <div style="width:', round($hp), '%;background:#ccc;height:8px;"></div></div>';

         echo '
';


ในไฟล์ Display.template.php ตรง

function template_main()


ต่อจาก { ให้ใส่ว่า
global $db_prefix;ครับ

2. หลังบรรทัดแรก ("<?php") ให้เพิ่มโค้ดนี้ลงไปครับ

///////////////
// พลังงานความร้อนแฝงกลางใจ SMF //
///////////////

$rpgSettings = array();
$rpgSettings['init'] = 5;
$rpgSettings['incre'] = 3;
function calRpg($p) {
   global $rpgSettings;
   $i = 0; $j = $rpgSettings['init']; $l = 0;
   while ($i < $p) {
      $l++;
      $i += $j;
      $j += $rpgSettings['incre'];
   }
   $fn = $i;
   $cbase = ($i - ($j - $rpgSettings['incre']));
   if ($l < 1) $l = 1;
   $pc = (($p - $cbase) / ($fn - $cbase)) * 100;
   return array(
      'level' => $l,
      'cbase' => $cbase,
      'nbase' => $fn,
      'perce' => $pc
   );
}

ขออนุญาติเพิ่มเติมและขุดนะครับ
ให้ใส่บรรทัดนี้ลงไปหลังบรรทัดนี้ครับ

โค๊ด:
$pc = (($p - $cbase) / ($fn - $cbase)) * 100;

ใส่ว่า

โค๊ด:
if ($pc >= 100) { $pc=0; $l++; }

จะเปลี่ยนสีของ Level กับ Hp
ดูดีๆ นะ มีบอก
$cp = $message['member']['posts'];
         $cr = calRpg($cp);
         echo '
                        Level ' . $cr['level'] . ' : Exp ' . round($cr['perce']) . '%<div style="width:92%;border: 1px solid #999; padding: 1px; background: #fff" align="left">
                           <div style="width:', round($cr['perce']), '%;overflow: hidden; height: 12px; border: 1px solid #2a1; background: #0a0 url(http://รุปแถบพลังงาน) center right;"></div></div>';

   $membID = $message['member']['id'];
   $lastMsg = mysql_fetch_array(mysql_query($sql = "SELECT max(posterTime) FROM {$db_prefix}messages WHERE ID_MEMBER = {$membID}"));
   $hp = round(100 / (1 + ((time() - $lastMsg[0]) / 100000)), 1);
   echo '
                        HP: ' . $hp . '%<div style="width:92%;border: 1px solid #999; padding: 1px; background: #fff" align="left">
                           <div style="width:', round($hp), '%;overflow: hidden; height: 12px; border: 1px solid #912; background: #901 url(http://รุปแถบพลังงาน) center right;"></div></div>';

         echo '
';

วีธีทำก็เหมือนขั้นตอนทั้งหมดตั้งแต่ตอนแรกเลยครับ ดูที่ ข้อ 5 นะครับ แทนที่ข้อ 5 เลย



เครดิตในเว็บ zone-it นะครับ ตอนนี้ผมก็ใช้อยู่นะครับ โดยมีไฟล์สองตัวเป็นไฟล์ต้นฉบับ (ตัวเปล่าๆ ไม่มีโหมดไรเลย) อยากได้ เมล์มา [email protected]
หรือลองดูได้ในเว็บนี http://i2indy.myokhost.com 

ออฟไลน์ USIAM

  • New Member
  • *
  • กระทู้: 4
    • ดูรายละเอียด
    • my new forums
Re: "แถบ Level" ทำอย่างไรครับ
« ตอบ #3 เมื่อ: 16/03/08, 19:53:11 »
ขอบคุณมากครับ

เดี๋ยวขอลองกลับไปทำดูก่อนนะครับ  ;D

ออฟไลน์ pee-ae110

  • New Member
  • *
  • กระทู้: 31
    • ดูรายละเอียด
Re: "แถบ Level" ทำอย่างไรครับ
« ตอบ #4 เมื่อ: 17/03/08, 15:54:11 »
ลองไปทำดูคับ ;D