ガチャポンNPC
:: 各種フォーム :: NPCスクリプト Releases
Page 1 of 1
ガチャポンNPC
以前CombatStory用に書いたものです。
先にレアリティを抽選した後同レアリティ内のアイテムで再度抽選を行います。
- Code:
var status;
var item;
var ticket = 5220000;
var gomi = 50;
var normal = 30;
var rare = 15;
var superrare = 5; //ここで確立を設定する。比で表す。
var gomi_item = [5220000, 5220000];
var normal_item = [5220000, 5220000];
var rare_item = [5220000, 5220000];
var superrare_item = [5220000, 5220000];
var rand;
function start() {
status = -1;
action(1, 0, 0);
}
function action(mode, type, selection) {
if (mode == 1) {
status++;
} else {
cm.sendOk("会話終了時のメッセージ");
cm.dispose();
}
if (status == 0) {
cm.sendNext("メッセージ1");
} else if (status == 1) {
cm.sendYesNo("メッセージ2");
} else if (status == 2) {
if(!cm.haveItem(ticket)){
cm.sendOk("ガチャ券が無いときのメッセージ");
cm.dispose();
}
cm.gainItem(ticket, -1);
rand = Math.floor( Math.random() * (gomi + normal + rare + superrare) );
if(rand < superrare)
item = superrare_item[Math.floor( Math.random() * superrare_item.length )];
else if(rand < superrare + rare)
item = rare_item[Math.floor( Math.random() * rare_item.length )];
else if(rand < superrare + rare + normal)
item = normal_item[Math.floor( Math.random() * normal_item.length )];
else
item = gomi_item[Math.floor( Math.random() * gomi_item.length )];
cm.gainItem(item, 1)
cm.sendOk("メッセージ3#i" + item + ":x");
cm.dispose();
}
}
先にレアリティを抽選した後同レアリティ内のアイテムで再度抽選を行います。
Chicken- Posts : 2
Join date : 2015/01/02
Re: ガチャポンNPC
このスクリプトには致命的なバグがあります。
詳細
チケットを所持していない状態の時、
詳細
チケットを所持していない状態の時、
- Code:
if(!cm.haveItem(ticket)){
cm.sendOk("ガチャ券が無いときのメッセージ");
cm.dispose();
}
- Code:
if(!cm.haveItem(ticket)){
cm.sendOk("ガチャ券が無いときのメッセージ");
cm.dispose();
return;
}
Chicken- Posts : 2
Join date : 2015/01/02
:: 各種フォーム :: NPCスクリプト Releases
Page 1 of 1
Permissions in this forum:
返信投稿: 不可
|
|