廣告廣告
  加入我的最愛 設為首頁 風格修改
首頁 首尾
 手機版   訂閱   地圖  簡體 
您是第 530 個閱讀者
 
發表文章 發表投票 回覆文章
  可列印版   加為IE收藏   收藏主題   上一主題 | 下一主題   
可乐渴了
個人頭像
個人文章 個人相簿 個人日記 個人地圖
特殊貢獻獎
初露鋒芒
級別: 初露鋒芒 該用戶目前不上站
推文 x10 鮮花 x47
分享: 轉寄此文章 Facebook Plurk Twitter 版主評分版主評分版主評分 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片
推文 x1
[插件] 教你如何使用数组写出等级系统  (原创)
精華文章原創文章

*教程仅给小白提供思路及参考
*有什么问题请及时留言回复


等级系统该如何写出,我将给予你们一个完整的思路 Level -> XP -> Points


那么我们该如何进行整理 首先 1.Level 2.XP 3.Points 数量是三个
那就是说我们的数组需要三个位置来储存这三个参数 例: Save_PlayerData[33][3]


*Save_PlayerData[33][0] = Level
*Save_PlayerData[33][1] = XP
*Save_PlayerData[33][2] = Points


这三个参数我们已经放到了数组里进行表示 那么等级系统该如何让这三个参数分别各自工作呢


1.等级经验计算的公式
2.什么情况下等级提升
3.如何获取等级经验


先说第 1 点: 首先我们数组通常在没有进行赋值的情况下为 0 我举个例子 if (Save_PlayerData[33][1] > (Save_PlayerData[33][0] + 1) * 100) 这是一个经验公式 (经验 > 等级  + 1 * 100) 这里小白可能没理解 我再详细说一下 如果经验 > 等级 + 1 * 100 代入值就是 你所获取的经验 > 0 + 1 * 100 那么您的等级将会提升 同时这也是第 2 点


第 3 点: public fw_PlayerKilled(victim, attacker, shouldgib) 这是死亡事件 那么当我们杀死一个人的时候可以使攻击者经验增加
同时进行一个判断等级的工作


// 例子代码

public fw_PlayerKilled(victim, attacker, shouldgib)
{
if (attacker == victim  || !is_user_connected(attacker))
return HAM_IGNORED


Save_PlayerData[attacker][1] ++


if (Save_PlayerData[1] > (Save_PlayerData[0] + 1) * 100)
{
Save_PlayerData[0] ++ // 等级增加
Save_PlayerData[2] ++ // 技能点增加
}


return HAM_IGNORED
}


*以上的教程算是完成了 虽然可能一时半会看不懂 但是要多看几次我相信你们自然明了
可乐 在这里谢谢大家观赏啦!有什么问题请留言 我们可以共同讨论


[ 此文章被可乐渴了在2020-01-31 01:12重新編輯 ]


此文章被評分,最近評分記錄
財富:500 (by amore12) | 理由: 辛苦了!!加油



正在制作 Wraith Battle 合作/有意联系我
獻花 x1 回到頂端 [樓 主] From:未知地址 | Posted:2020-01-30 20:33 |
弒血
個人頭像
個人文章 個人相簿 個人日記 個人地圖
社區建設獎 特殊貢獻獎 創作大師獎
小有名氣
級別: 小有名氣 該用戶目前不上站
推文 x91 鮮花 x201
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

下面是引用 可乐渴了 於 2020-01-30 20:33 發表的 原创,|教你如何使用数组写出等级系统: 到引言文
*教程仅给小白提供思路及参考
*有什么问题请及时留言回复


等级系统该如何写出,我将给予你们一个完整的思路 Level -> XP -> Points
.......



fw_PlayerKilled內的判斷忘了判斷attacker哦(使用者)!


原:
if (Save_PlayerData[1] > (Save_PlayerData[0] + 1) * 100)
{
Save_PlayerData[0] ++ // 等級增加
Save_PlayerData[2] ++ // 技能點增加
}
修改:
if (Save_PlayerData[attacker][1] > (Save_PlayerData[attacker][0] + 1) * 100)
{
Save_PlayerData[attacker][0] ++ // 等級增加
Save_PlayerData[attacker][2] ++ // 技能點增加
}

此文章被評分,最近評分記錄
財富:100 (by amore12) | 理由: 讚..^^



目前傳授教學&有興趣者可以信件問我
BOT瞄準攻擊NPC&模仿事件觸發計算出場&插件新增地圖重生位置等等
已修復entity的attachment錯誤問題,開始嘗試寫出各種npc_boss成品
按這裡檢視影片,登入論壇可以直接觀看
按這裡檢視影片,登入論壇可以直接觀看
按這裡檢視影片,登入論壇可以直接觀看
按這裡檢視影片,登入論壇可以直接觀看
獻花 x1 回到頂端 [1 樓] From:臺灣遠傳電信股份有限公司 | Posted:2020-01-31 07:55 |
可乐渴了
個人頭像
個人文章 個人相簿 個人日記 個人地圖
特殊貢獻獎
初露鋒芒
級別: 初露鋒芒 該用戶目前不上站
推文 x10 鮮花 x47
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

下面是引用 弒血 於 2020-01-31 07:55 發表的 : 到引言文


fw_PlayerKilled內的判斷忘了判斷attacker哦(使用者)!

原:
.......
表情 谢谢你的补漏 我以为是变数却忽略它是一个数组


正在制作 Wraith Battle 合作/有意联系我
獻花 x0 回到頂端 [2 樓] From:未知地址 | Posted:2020-01-31 15:22 |

首頁  發表文章 發表投票 回覆文章
Powered by PHPWind v1.3.6
Copyright © 2003-04 PHPWind
Processed in 0.016427 second(s),query:16 Gzip disabled
本站由 瀛睿律師事務所 擔任常年法律顧問 | 免責聲明 | 本網站已依台灣網站內容分級規定處理 | 連絡我們 | 訪客留言