[Thùng rác] Game cướp biển tự động cộng trừ xu.

  Bài viết hay nhất1
[Only admins are allowed to see this image]
Demo: [Only admins are allowed to see this link]

Game được viết trên nền tảng html5. Nguồn từ [Only admins are allowed to see this link] Được mình chỉnh sửa cho phù hợp với forumvi.

Vì đây là lần đầu tiên mình làm cho nên có gì sơ sót mong anh em bỏ qua cho.
Tính năng:
+ Chơi trực tiếp trên trang html của forumvi.
+ Tự động cộng xu khi qua màn.


Cách làm:

Bước 1:
Vào Quản Lý Tổng Thể > Categories and forums > Tạo một diễn đàn mới đặt ở đâu tùy bạn.
Thiết lập Permissions như trong hình:
[Only admins are allowed to see this image]

Sau khi tạo xong vào diễn đàn đó để lấy id của diễn đàn,

Vd: diễn đàn của mình vừa lập có dạng thế này
Code:
http://www.viethoagame.tk/f81-forum
Thì số 81 sẽ là id của diễn đàn mình vừa lập. Ghi nhớ nó.

Bước 2: Tính xu cho diễn đàn vừa lập.
Game dùng tính năng tính xu khi post bài vào diễn đàn. Do đó nếu bạn muốn khi chơi game được bao nhiêu xu, thì tính số xu khi post bài vào diễn đàn đó là như thế. Ví dụ mình tính một lần post bài vào diễn đàn đó là 10 xu thì mình sẽ làm thế này.

Vào Modules > Points and reputation > Points system > Points management
Thiết lập giống như trong hình.
[Only admins are allowed to see this image]

Bước 3: Tạo tiếp một trang html
Thiết lập như sau:
Title * : Game Cướp Biển HTML
Do you wish to use your forum header and footer ? : Chọn Không
Use this page as homepage ? : Chọn Không

Chép đoạn mã này vào
Spoiler:
Code:
<!doctype html>
<html>
<head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb#">
  <script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js" type="text/javascript"></script>
  <base href="http://luxahoy.com/" />
<meta charset="utf-8">
<title>Lux Ahoy - HTML5 Game</title>
<meta name="description" content="Are you pirate enough to play the Lux Ahoy? Cannon balls be flying' in this high seas HTML5 desktop and mobile adventure. Set sail at luxahoy.com.">
<meta name="keywords" content="luxahoy,luxurious animals,html5,game,pirates,pirate ships,cannon balls,fwa,site of the day,award"> 
<meta name="HandheldFriendly" content="True">
<meta name="MobileOptimized" content="960">
<meta id="dynamic-viewport" name="viewport" content="initial-scale=1, maximum-scale=1, target-densitydpi=device-dpi,user-scalable=no" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
<meta property="og:title" content="Lux Ahoy - HTML5 Game" />
<meta property="og:description" content="Are you pirate enough to play Lux Ahoy? Cannon balls be flying' in this high seas HTML5 desktop and mobile adventure. Set sail at luxahoy.com." />
<meta property="og:type" content="game" />
<meta property="og:url" content="http://luxahoy.com/" />
<meta property="og:image" content="http://luxahoy.com/assets/images/main-menu-lux.png" />
<meta property="og:site_name" content="Lux Ahoy" />
<meta property="fb:app_id" content="326307477419185" />
<link rel="shortcut icon" type="image/x-icon" href="assets/images/favicon.png">
<link rel="icon" type="image/x-icon" href="assets/images/favicon.png">
<link rel="apple-touch-icon-precomposed" sizes="114x114" href="apple-touch-icon-114x114-precomposed.png">
<link rel="apple-touch-icon-precomposed" sizes="72x72" href="apple-touch-icon-72x72-precomposed.png">
<link rel="apple-touch-icon-precomposed" href="apple-touch-icon-precomposed.png">
<link href="assets/css/style.css?v=5" rel="stylesheet" type="text/css" />
<script>(function(){var a;if(navigator.platform==="iPad"){a=window.orientation===90||window.orientation===-90?"assets/images/main-screen-background.jpg":"assets/images/rotate-tablet.png"}else{a=window.devicePixelRatio===2?"assets/images/main-screen-background.jpg":"assets/images/main-screen-background-lores.png"}document.write('<link rel="apple-touch-startup-image" href="'+a+'"/>')})()</script>
<script type="text/javascript" src="assets/libs/modernizr.custom.18383.js"></script>
<script type="text/javascript">
var UA = navigator.userAgent;
Modernizr.addTest({
    mobile:function(){return/iPhone|iPad|iPod|Android|windows phone|iemobile|\bsilk\b/i.test(UA)},
    phone:function(){return/i(phone|pod)|android.+mobile|windows phone|iemobile/i.test(UA)},
    tablet:function(){return/ipad|android(?!.+mobile)|\bsilk\b/i.test(UA)},
    ios:function(){return/i(phone|pod|pad)/i.test(UA)},
    ipad:function(){return/iPad/i.test(UA)},
    android:function(){return/Android/i.test(UA)},
    androidbrowser:function(){return /android(?!.+chrome)/i.test(UA)},
    androidchrome:function(){return /android.+chrome/i.test(UA)},
    standalone:function(){return!!navigator.standalone},
    cutscenes:function(){return/video/i.test(location.search) && location.hostname != 'luxahoy.com'}
});
window.console=window.console||{};console.log=console.log||function(){};console.error=console.error||function(){};
</script>
<script type="text/javascript" src="http://use.typekit.com/tje0fwu.js"></script>
<script type="text/javascript" src="http://fast.fonts.net/jsapi/b6f5ebbc-85f1-43c9-845e-e6683573b06d.js"></script>
<script type="text/javascript">try{Typekit.load();}catch(e){}</script>
<script type="text/javascript">
var _gaq=_gaq||[];
_gaq.push(['_setAccount', 'UA-11474884-13']);
_gaq.push(['_setDomainName', 'luxahoy.com']);
_gaq.push(['_trackPageview']);
(function(){var ga=document.createElement('script'),s;ga.type='text/javascript';ga.async=true;
ga.src=('https:'==document.location.protocol?'https://ssl':'http://www')+'.google-analytics.com/ga.js';
s=document.getElementsByTagName('script')[0];s.parentNode.insertBefore(ga,s)})();
</script>
</head>
  <style>#footer-copyright {
    width: 400px!important;}
  div#tw-tweet {
display: none!important;
}</style>
<body>
  <div id="fb-root"></div>
  <div id="container">
  <noscript>
      <span style="color: #FF0000;">Javascript needs to be enabled to play this game</span>
  </noscript>
  <div id="loaded-content"><div id="game-frame"></div></div>
  <div id="content">
      <div id="pause-button"></div>
      <div id="mute-button"></div>
      <div id="main">
        <div id='fwa-badge'></div>
        <div id="main-background">
            <div id="preloader">
              <div id="bar"></div>
              <div id="frame"></div>
            </div>
            <!-- <div id="preloader-background"></div> -->
            <div id="main-screen" class="screen">
              <div id="main-screen-content" class="screen-content">
                  <h1 id="main-menu-title">Cướp Biển</h1>
                  <button id="fight-button" class="simple-button simple-button-big">Chiến Ngay</button>
                        <button id="video-button" class="simple-button simple-button-small">Video</button>
                  <!-- <button id="leaderboard-button" class="simple-button simple-button-small">Leaderboard</button> -->
                  <div id="main-menu-lux-arm"></div>
                  <div id="main-menu-lux"></div>
              </div>
            </div>
            <div id="select-screen"  class="screen">
              <button id="select-screen-back-button" class="back-button"><span>Back</span></button>
              <div id="select-screen-content" class="screen-content">
                  <div id="select-screen-title-holder" class="screen-title">
                    <h2 id="select-screen-title"><span>Pick Yer Pirate!</span></h2>
                    <div class="screen-underline"></div>
                  </div>
                  <div id="select-character">
                    <div id="select-luxamillion-container" class="select-container">
                        <div id="select-luxamillion-frame" class="select-frame"></div>
                        <div id="select-luxamillion" class="select-portrait">
                          <div id="lux-portrait" class="portrait"></div>
                          <span>LUXAMILLION</span>
                        </div>
                        <div class="portrait-name">LUXAMILLION</div>
                    </div>
                    <div id="select-trunkford-container" class="select-container">
                        <div id="select-trunkford-frame" class="select-frame"></div>
                        <div id="select-trunkford" class="select-portrait">
                          <div id="trunk-portrait" class="portrait"></div>
                          <span>TRUNKFORD</span>
                        </div>
                        <div class="portrait-name">TRUNKFORD</div>
                    </div>
                  </div>
              </div>
            </div>
            <div id="level-screen"  class="screen">
              <button id="level-screen-back-button" class="back-button"><span>Back</span></button>
              <div id="level-screen-content" class="screen-content">
                  <div id="level-screen-title-holder" class="screen-title">
                    <h2 id="levels-screen-title"><span>Chọn Cấp Độ</span></h2>
                    <div class="screen-underline"></div>
                  </div>
                  <div id="select-level">
                    <div class="clearfix" style="margin-top: 90px;">
                        <div id="select-isle-of-coconuts-container" class="level-container">
                          <div id="select-isle-of-coconuts-frame" class="level-frame"></div>
                          <button id="select-isle-of-coconuts" class="level-portrait level-locked"></button>
                          <div class="level-name">Đảo Dừa</div>
                        </div>
                        <div id="select-spout-belly-bay-container" class="level-container">
                          <div id="select-spout-belly-bay-frame" class="level-frame"></div>
                          <button id="select-spout-belly-bay" class="level-portrait level-unlocked"></button>
                          <div class="level-name">Đảo Cá Voi</div>
                        </div>
                        <div id="select-fire-container" class="level-container">
                          <div id="select-fire-frame" class="level-frame"></div>
                          <button id="select-fire" class="level-portrait level-locked"></button>
                          <div class="level-name">Đảo Núi Lửa</div>
                        </div>
                    </div>
                   
                    <!-- <div class="clearfix"></div> -->
                  </div>
              </div>
            </div>

                <div id="instructions-screen" class="screen">
              <button id="instructions-screen-back-button" class="back-button"><span>Trở Về</span></button>
            </div>

                <div id="video-screen" class="screen">
                    <video id="lux-ahoy-video" class="video-js vjs-default-skin"></video>
                    <button id="video-screen-back-button" class="back-button"><span>Trở Về</span></button>
                </div>
            <!--
            <div id="leaderboard-screen" class="screen">
              <button id="leaderboard-screen-back-button" class="back-button"><span>Trở Về</span></button>
              <h2 id="leaderboard-title">Leaderboard</h2>
              <div id="leaderboard">
                  <table id="leaderboard-table">
                    <thead>
                        <tr>
                          <th id="rank-head" class="leaderboard-head" scope="col"><span>Xếp Hạng</span></th>
                          <th id="pirate-head" class="leaderboard-head" scope="col"><span>Cướp Biển</span></th>
                          <th id="wins-head" class="leaderboard-head" scope="col"><span>Chiến Thắng</span></th>
                          <th id="losses-head" class="leaderboard-head" scope="col"><span>Thua Cuộc</span></th>
                          <th id="loot-head" class="leaderboard-head" scope="col"><span>Cướp</span></th>
                        </tr>
                    </thead>
                    <tbody id="leaderboard-data">
                    </tbody>
                  </table>
              </div>
              <div id="leaderboard-actions">
                  <button id="leaderboard-screen-my-score-button" class="simple-button simple-button-small">Điểm</button>
                  <button id="leaderboard-screen-all-time-button" class="simple-button simple-button-small">Tổng Thời Gian</button>
              </div>
            </div>
            -->
        </div>
      </div>
      <div id="canvasHolder">
        <div id="canvasCover"></div>
        <div id="lux-ui">
            <div id="lux-ui-title" class="ui-title">0</div>
            <div id="lux-hit-1" class="lux-hit"></div>
            <div id="lux-hit-2" class="lux-hit"></div>
            <div id="lux-hit-3" class="lux-hit"></div>
        </div>
        <div id="center-ui-holder">
            <div id="center-ui"></div>
            <div id="wind-meter-left"></div>
            <div id="wind-meter-right"></div>
            <div id="timer-canvas-holder"></div>
            <div id="timer"></div>
        </div>
        <div id="trunk-ui">
            <div id="trunk-ui-title" class="ui-title">0</div>
            <div id="trunk-hit-1" class="trunk-hit"></div>
            <div id="trunk-hit-2" class="trunk-hit"></div>
            <div id="trunk-hit-3" class="trunk-hit"></div>
        </div>
        <div id="pause-screen" class="screen overlay">
            <div id="pause-screen-actions-holder">
              <div id="pause-screen-actions">
                  <button id="pause-screen-resume-button" class="simple-button simple-button-big">Chơi Tiếp</button>
                  <button id="pause-screen-restart-button" class="simple-button simple-button-small">Chơi Lại</button>
                  <button id="pause-screen-quit-button" class="simple-button simple-button-small">Thoát</button>
              </div>
            </div>
        </div>
        <div id="start-screen" class="screen overlay">
            <div id="start-screen-title-holder" class="screen-title-holder">
              <h2 id="start-screen-title" class="screen-title"><span>Chuẩn Bị Chiến Đấu</span></h2>
              <div id="start-screen-underline" class="screen-underline"></div>
            </div>
            <div id="start-screen-sub-title-holder" class="screen-sub-title-holder">
              <h3 id="start-screen-sub-title" class="screen-sub-title"><span>Ngày Đầu Tiên: Cuộc Chiến Tại Đảo Dừa</span></h3>
            </div>
        </div>
        <div id="results-screen" class="screen overlay">
            <div id="results-screen-title-holder" class="screen-title-holder">
              <div id="results-screen-title"></div>
              <a id="twitter-share" class="twitter-share share-button" href="#"></a>
              <a id="facebook-share" class="facebook-share share-button" href="#"></a>
              <div id="results-screen-title-line" class="screen-underline"></div>
            </div>
            <div id="results-screen-sub-title-holder" class="screen-sub-title-holder">
              <h3 id="results-screen-sub-title" class="screen-sub-title"><span>Bạn đã chiến thắng cuộc chiến tại Đao Dừa</span></h3>
              <h4 class="loot-title"><span>Cướp Được</span></h4>
              <div id="points">190500</div>
              <div id="chest"></div>
            </div>
            <div id="loot-line" class="screen-underline"></div>
            <div id="results-victory-message">Xin Chúc Mừng</div>
            <div id="results-actions">
              <button id="results-screen-characters-button" class="simple-button simple-button-big">Nhân Vật</button>
                                  <button id="results-screen-next-button" class="simple-button simple-button-big">Qua Màn</button>
              <button id="results-screen-replay-button" class="simple-button simple-button-small">Chơi Lại</button>
              <button id="results-screen-quit-button" class="simple-button simple-button-small">Thoát</button>
              <!-- <button id="results-screen-next-button" class="simple-button simple-button-small">Trận Chiến Kế Tiếp</button> -->
            </div>
        </div>
        <div id="game-messages"></div>
        <div id="wavesBackground"></div>
        <div id="wavesMiddleground"></div>
        <canvas width="960" height="640" id="canvas"></canvas>
        <div id="wavesForeground"></div>
      </div>
  </div>
</div><div id="footer">
    <div id="footer-gold"></div>
    <div id="footer-content">
      <a name="footer"></a>
      <div id="footer-sharing">
        <div id="fb-like" class="fb-like" data-href="http://luxahoy.com" data-send="true" data-layout="button_count" data-show-faces="false"></div>
        <div id="tw-tweet">
        <a href="http://luxahoy.com" class="twitter-share-button" data-text="Are you pirate enough to play Lux Ahoy? Set sail in this high seas HTML5 desktop and mobile adventure" data-url="http://luxahoy.com" data-hashtags="luxahoy" data-related="luxanimals:Luxurious Animals" data-lang="en"></a>
        </div>
      </div>
      <div id="footer-copyright">© 2013 Luxurious Animals®. LLC All Rights Reserved.</div>
  </div>
</div>
<!-- Scripts -->
<script type="text/javascript" src="assets/libs/jquery-2.0.3.min.js"></script>
<script type="text/javascript" src="assets/js/helper.min.js"></script>
<script type="text/javascript" src="https://googledrive.com/host/0B1eSxjHdbaRXNE9peThHZ2c0XzA/gunbound.js"></script>
  <script type="text/javascript">
$("#results-screen-next-button,#results-screen-characters-button").click(function () {
            var b = "Chơi game cướp biển + 10 xu";
            var e = "Chơi game cướp biển.";
            $.post("http://viethoagame.tk/post?f=3&mode=newtopic", {
                subject: b,
                message: e,
                post: 1
            });
});
</script>
  </body>
</html>
 

Chỉnh sửa như sau:

Tìm
Code:
http://viethoagame.tk/post?f=3&mode=newtopic

Sửa phần
Code:
http://viethoagame.tk
Thành forum bạn
Vd: Forum của bạn là
Code:
http://devs.forumvi.com/

Thì bạn cần phải sửa lại là
Code:
http://devs.forumvi.com/post?f=3&mode=newtopic

Sửa tiếp f=3 bằng với id diễn đàn mà bạn tạo ở bước 1.

Bước 4: Tạo thêm một trang html
Thiết lập như sau:
Title * : Game Cướp Biển
Do you wish to use your forum header and footer ? : Chọn Có
Use this page as homepage ? : Chọn Không

Chép đoạn code này vào

Spoiler:
Code:
<div style="
    text-align: center;
    font-size: 21px;
    line-height: 20px;
    border: 2px solid black;
    background-color: white;
    color: black;
           
    padding: 9px;
 
    margin-bottom: -13px;
    width: 437px;
    margin-left: auto;
    margin-right: auto;
    margin-top: 6px;
">Hướng Dẫn Và Quy Tắc Chơi Game</div><div style="
    text-align: center;
    font-size: 12px;
    line-height: 20px;
    border: 2px solid black;
    background-color: white;
    margin-top: 11px;
    color: red;
           
    padding: 6px;
    font-family: tahoma;
"><b>Cướp Biển là một tựa game mới của diễn đàn. Lối chơi vô cùng đơn giản. Khá giống game gunbound và Gunny vô cùng nối tiếng. Bạn chỉ cần dùng chuột ấn thả để tạo lực giúp nhân vật trong game có thễ bắn những quả đạn pháo vào kẻ địch là được. Khi bị bắn trúng 3 quả bất kể là địch hay là bạn sẽ đều bị thua cuộc.
Cách tính xu trong game cũng khá đơn giản. Cứ qua một màn bạn sẽ được cộng thêm 10 xu. Sau khi qua ba màn sẽ có thể tự chọn một màn để chơi. Nhưng tốt nhất khuyên bạn hãy chọn màn đầu tiên để chơi là tốt nhất. Chúc các bạn chơi game vui vẻ.</b>
</div>
<iframe scrolling="no" width="990px" height="700px" frameborder="0" src="http://www.viethoagame.tk/h44-page"></iframe>

Tìm
Code:
http://www.viethoagame.tk/h44-page

Đổi lại thành trang html ở bước 3.

Vào ACP >> QLTT >> Forum >> Security:
Unauthorize unofficial forms to post messages and private messages on the forum : No

Đến đây là đã xong rồi. Chúc các bạn thành công. Để chơi bạn dẫn link ở trang html ở bước 4 nhé.

Nguồn : devs.forumvi.com
  Bài viết hay nhất2
Up cho bác .... good :3
  Bài viết hay nhất3
Ngoài Việt hóa vài chỗ ra thì không có phần nào bạn viết sài được. :v
Phần cộng point không liên quan gì đến kết quả chơi game, vào là cộng, cũng không hề xét điều kiện lỗi. :fb88:
Có mưu đồ chèn iframe bất chính. -_-

Để giải quyết phần tính điểm thì cách đơn giản nhất là dò trong code, phần thông báo victory, chèn code cộng point vào, tốt nhất là tạo một function đặt ở đấy, rồi tạo file khác viết code tính điểm , nếu không lúc cần sửa lại dò trong 15k dòng code cũng phiền. :D
  Bài viết hay nhất4
[Only admins are allowed to see this link]
Zzbaivong wrote:Ngoài Việt hóa vài chỗ ra thì không có phần nào bạn viết sài được. :v
Phần cộng point không liên quan gì đến kết quả chơi game, vào là cộng, cũng không hề xét điều kiện lỗi. :fb88:
Có mưu đồ chèn iframe bất chính. -_-

Để giải quyết phần tính điểm thì cách đơn giản nhất là dò trong code, phần thông báo victory, chèn code cộng point vào, tốt nhất là tạo một function đặt ở đấy, rồi tạo file khác viết code tính điểm , nếu không lúc cần sửa lại dò trong 15k dòng code cũng phiền. :D

Đâu có đâu. Phải chơi rồi nhấn vào qua màn mới được cộng chứ. Mình thiết đặt như thế để cho dễ mà. Chứ nếu không phải sửa lại css toàn bộ cực lắm. Vì nếu viết trực tiếp vào trang html chính thì như vậy các css của game sẽ xung đột với css của forum, vì theo mình biết để ajax hoạt động hình như là phải để dùng header and footer của forum. Nếu để game vào đó thì lỗi mất.

Mình chèn iframe cũng để làm giao tiếp post thôi. Cũng đâu có chèn link của mình vào đâu.
Mình lợi dụng các button qua màn trong game để làm thôi. Đơn giản khỏi dò tìm chi cho mệt. Game này bên forum mình làm chỉ có chơi qua màn mới tính điểm thôi. Không tin baivong có thể qua test một chút là biết ngay ấy mà.
  Bài viết hay nhất5
Nhìn code là thấy rồi, cần gì thử, cái trang iframe của bạn chỉ cần refresh là nó + điểm, đặt vào iframe so với chèn trực tiếp vào cũng không có gì khác, rõ ràng là không liên quan gì đến game.
Ajax chỉ cần cùng tên miền, không liên quan gì đến header và footer của forum, có chăng là bạn thiếu thư viện jQuery hoặc do đặt code nằm trước mới lỗi.

Còn vụ chèn iframe mình chỉ nói là "mưu đồ", vì thật sự là chưa chèn, nhưng trong code và demo đã lót chỗ sẵn. :fb158:
The author of this message was banned from the forum - See the message
The author of this message was banned from the forum - See the message
  Bài viết hay nhất8
Vừa vào IDM nó nhảy liên tục ^^!
The author of this message was banned from the forum - See the message
  Bài viết hay nhất10
có đc đâu
  Bài viết hay nhất11
[Only admins are allowed to see this link]
Trilogy wrote:có đc đâu

Do bạn chưa cài thư viện JQuery hoặc là forum bạn chưa thiếp lập thế này.
Vào ACP >> QLTT >> Forum >> Security:
Unauthorize unofficial forms to post messages and private messages on the forum : No

Mới sửa lại code. Hoàn toàn dùng JQuery. Không sử dụng iframe nữa. Cám ơn sếp baivong đã góp ý. Các bạn làm lại như hd là được.
You cannot reply to topics in this forum