yukiru 發表於 2014-10-28 23:41:26

道館獎勵物品都是領null

道館測試之後點數跟金錢獎勵可以領 開館 放怪也都正常 但領物品獎勵的時候都會出現NULL
請各位大哥大姐幫忙修改一下 謝謝prontera.gat,148,182,0        script        modaOnInit        -1,{
OnInit:

//------開道費用----
        set $@camoney,1000000;

//------隊友進場費用---
        set $@capartm,0;

//--------MVPid-------
        setarray $@mvpary,1038,1039,1046,1039,1623,1038,1159,
                                1046,1087,1112,1115,1147,1150,1157,
                                1190,1251,1252,1272,1312,1373,1389,
                                1492,1583,1658,1685,1688,1719,1418,
                                1734,1115,1785,1150,1059,1272;

//-------休息關數------
        setarray $@kenbrea,5,9;

//-------放出mvp數量---
//這里設了多少他就有多少關
//最多127關

        setarray $@stagmo,1,1,1,1,1,2,2,2,2,3;

//====================================================//
//--- 道館獎勵員的相關設定 , 請各伺服器依情況斟酌 ---

//----- 挑戰賽獎勵的獎金設定 -----
//----- 獎勵金額最少能夠取得多少 (預設 100萬 Zeny)
        set $@ModFReZeny,3000000;

//----- 獎勵金額最多能夠取得多少 (預設 500萬 Zeny)
        set $@ModFReZenyMax,5000000;

//----- 挑戰賽獎勵的商城點數設定 -----
//----- 獎勵金額最少能夠取得多少 (預設 1 點)
        set $@ModFReCash,50;

//----- 獎勵商城點數最多能夠取得多少 (預設 10 點)
        set $@ModFReCashMax,200;

//----- 道館獎勵的獎品設定 -----
//----- 獎勵獎品能夠取得的物品
        setarray $@ken0609,12912,12903,12904,12905,12906,12907,12908,25001,25002,12920,12921,5457,18729,25003,25004,25005,25006,7091,7089,7080,7081,7085,7077,7088,7090,7092,7073;

//----- 獎勵獎品能夠取得的數量
        setarray $@ken,2,2,2,2,2,2,2,1,1,2,2,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,3;


//====================================================//
//--- Script 執行時的特殊設定 , 請各伺服器勿亂做更改 ---

        set $@ModFModIDSize,(getarraysize($@ModFModID)-1);
        set $@ModFItemSize,(getarraysize($@ModFReItemAID)-1);
        set $@ModFGuanSize,(getarraysize($@ModFGuanMod)-1);


}                       
new_zone01.gat,82,128,6        script        一般道場管理員        868,{

        if (getcharid(1) == 0) {
        mes "[道場-管理員]";
        mes "您沒有隊伍";
        mes "無法參賽";
        close;
        end;
        }
        set @da,1;
cada:        if (@da<5) {
        if(getmapusers("guild_vs"+@da+".gat")==0 ) set $party[@da],0;
        set @da,@da+1;
        goto cada;
        }
        set @da,1;
cbda:        if (@da<5) {
        if (getcharid(1) == $party[@da]){
        mes "[道場-管理員]";
        mes "您是^22DD22" +getpartyname(getcharid(1))+ "^000000的隊員吧";
        mes "你的隊員已報名挑戰,你要參與嗎?";
        next;
        menu "好的",cas1,"不用了",cas2;
        cas1:
                if($@partywait[@da]==0) {
                        mes "[道場-管理員]";
                        mes "你的隊友已經先開始了";
                        mes "請你等待或換個隊伍另外挑戰!";
                        close;
                        end;
                }
                if (zeny<$@capartm) {
                mes "金錢不夠^22DD22"+$@capartm+"^000000";
                close;
                end;
                }
                set zeny,zeny-$@capartm;
                warp "guild_vs"+@da+".gat",49,47;
                end;
        cas2:                
                mes "[道場-管理員]";
                mes "歡迎下次再來。";
                close;
                end;
        }
        set @da,@da+1;
        goto cbda;
        }
        mes "[道場-管理員]";
        mes "您和您的隊伍想參加嗎?";
        mes "須先繳納 ^22DD22"+$@camoney+"^000000 元的報名費";       
        next;
        menu "報名",smit,"不了",nosmit;
        smit:        if (zeny<$@camoney) {
                mes "金錢不夠^22DD22"+$@camoney+"^000000";
                close;
                end;
                }
                set @da,1;
        ccda:        if(@da<5) {
                        if (getmapusers("guild_vs"+@da+".gat")==0 ) {
                        set zeny,zeny-$@camoney;
                        killmonsterall "guild_vs"+@da+".gat";
                        set $@partywait[@da],1;
                        set $stage[@da],1;
                        set $party[@da],getcharid(1);
                        set $@charid[@da],getcharid(0);
                        announce "請 [" + getpartyname($party[@da]) + "] 隊伍的隊員,要進入就在中央主城 找 [道場-管理員]",16;
                        enablenpc "裁判"+@da;
                        warp "guild_vs"+@da+".gat",49,47;
                        end;
                        }
                set @da,@da+1;
                goto ccda;
                }
                mes "全部場地都有人在挑戰中~,請稍後再試";
                close;
                end;

        nosmit:       
                mes "[道場-管理員]";
                mes "歡迎下次再來。";
                close;

        end;
}
guild_vs1.gat,50,50,0        script        chal_1        -1,{ Onka: callfunc "daryan",1; }
guild_vs2.gat,50,50,0        script        chal_2        -1,{ Onka: callfunc "daryan",2; }
guild_vs3.gat,50,50,0        script        chal_3        -1,{ Onka: callfunc "daryan",3; }
guild_vs4.gat,50,50,0        script        chal_4        -1,{ Onka: callfunc "daryan",4; }
guild_vs5.gat,50,50,0        script        chal_5        -1,{ Onka: callfunc "daryan",5; }

function        script        daryan        {
        set $@db,0;
moda:        if($@db<$@stagmo[$stage]){
        set $@mvp,rand(1,18);
        monster "guild_vs"+getarg(0)+".gat",50,50,"--ja--",$@mvpary[$@mvp],1,"npcev"+getarg(0)+"::Onvs";
        set $@db,$@db+1;
        goto moda;
        }
        if($stage==getarraysize($@stagmo)){
        announce "最後一關挑戰開始,請好好加油!",17;
        end;}
        announce "魔物放出!挑戰開始!",1;
        end;
}

guild_vs1.gat,50,55,0        script        npcev1        -1,{ Onvs: callfunc "vsryan",1; }
guild_vs2.gat,50,55,0        script        npcev2        -1,{ Onvs: callfunc "vsryan",2; }
guild_vs3.gat,50,55,0        script        npcev3        -1,{ Onvs: callfunc "vsryan",3; }
guild_vs4.gat,50,55,0        script        npcev4        -1,{ Onvs: callfunc "vsryan",4; }
guild_vs5.gat,50,55,0        script        npcev5        -1,{ Onvs: callfunc "vsryan",5; }

function        script        vsryan        {
        set $@db,$@db -1;
        if( $@db > 0 ) end;
        if($stage<getarraysize($@stagmo)){announce"隊伍:"+getpartyname($party) + ", 第" + $stage + "關挑戰成功!",1;}
        if($stage==10){
        announce "恭喜!!隊伍:"+getpartyname($party) + ", 成功闖過關!!",15;
        areawarp "guild_vs"+getarg(0)+".gat",0,0,300,300,"guild_room",42,287;
}
        set @dk,0;
dken:        if(getarraysize($@kenbrea)>@dk){
                if($stage==$@kenbrea[@dk]){
                enablenpc "裁判"+getarg(0);
                announce "休息時間..你的同伴可進場",17;
                set $@partywait,1;
                set $stage,$stage +1;
                end;
                }
        set @dk,@dk+1;
        goto dken;
        }


        if($stage==25){
        areawarp "guild_vs"+getarg(0)+".gat",0,0,300,300,"guild_room",42,285;
        end;
        }       
      if($stage==50){
        areawarp "guild_vs"+getarg(0)+".gat",0,0,300,300,"new_1-2",100,100;
        end;
        }
        if($stage==getarraysize($@stagmo)){
        areawarp "guild_vs"+getarg(0)+".gat",0,0,300,300,"new_1-2",100,100;
        end;
        }
        set $stage,$stage +1;
        addtimer 4000,"chal_"+getarg(0)+"::Onka";
        end;
}

//####################################裁判####################################
guild_vs1.gat,50,49,4        script        裁判1        758,{ callfunc "maker",1; }
guild_vs2.gat,50,49,4        script        裁判2        758,{ callfunc "maker",2; }
guild_vs3.gat,50,49,4        script        裁判3        758,{ callfunc "maker",3; }
guild_vs4.gat,50,49,4        script        裁判4        758,{ callfunc "maker",4; }
guild_vs5.gat,50,49,4        script        裁判5        758,{ callfunc "maker",5; }

function        script        maker        {
        if (getcharid(0) != $@charid) {
                mes "[裁判]";
                mes "你不是報名的人";
                close;
                end;
        }
        mes "[裁判]";
        mes "您準備要開始挑戰了嗎?";
        next;
        menu "準備好!!",redyok,"等等~",noready;
        redyok: killmonsterall "guild_vs"+getarg(0)+".gat";
                set $@partywait,0;
                disablenpc "裁判"+getarg(0);
                doevent "chal_"+getarg(0)+"::Onka";
                close;
                end;
        noready: mes "[裁判]";
                mes "好的, 請盡速開始!!";
                close;
                end;

}
//---------------------地圖屬性設定----------------------
guild_vs1.gat        mapflag        nomemo        dummy
guild_vs1.gat        mapflag        noteleport        dummy
guild_vs1.gat        mapflag        nosave        prontera.gat,148,180
guild_vs1.gat        mapflag        nopenalty        dummy
guild_vs1.gat        mapflag        nobranch        dummy
guild_vs2.gat        mapflag        nomemo        dummy
guild_vs2.gat        mapflag        noteleport        dummy
guild_vs2.gat        mapflag        nosave        prontera.gat,148,180
guild_vs2.gat        mapflag        nopenalty        dummy
guild_vs2.gat        mapflag        nobranch        dummy
guild_vs3.gat        mapflag        nomemo        dummy
guild_vs3.gat        mapflag        noteleport        dummy
guild_vs3.gat        mapflag        nosave        prontera.gat,148,180
guild_vs3.gat        mapflag        nopenalty        dummy
guild_vs3.gat        mapflag        nobranch        dummy
guild_vs4.gat        mapflag        nomemo        dummy
guild_vs4.gat        mapflag        noteleport        dummy
guild_vs4.gat        mapflag        nosave        prontera.gat,148,180
guild_vs4.gat        mapflag        nopenalty        dummy
guild_vs4.gat        mapflag        nobranch        dummy
guild_vs5.gat        mapflag        nomemo        dummy
guild_vs5.gat        mapflag        noteleport        dummy
guild_vs5.gat        mapflag        nosave        prontera.gat,148,180
guild_vs5.gat        mapflag        nopenalty        dummy
guild_vs5.gat        mapflag        nobranch        dummy
guild_room.gat        mapflag        nomemo        dummy
guild_room.gat        mapflag        noteleport        dummy
guild_room.gat        mapflag        nosave        prontera.gat,148,180
guild_room.gat        mapflag        nopenalty        dummy
guild_room.gat        mapflag        nobranch        dummy

//-------------------------商人NPC設置-----------------------------


//====================================================//

guild_room.gat,30,285,6        script        道館獎勵員#1        935,{
{
        set @GetItem,rand(1,$@ModFReItemNumber);
        getitem $@ModFReItem[@GetItem],$@ModFReItemMax[@GetItem];
        announce "道館獎勵員 : 恭喜玩家 ["+strcharinfo(0)+"] 獲得獎勵獎品 ["+getitemname($@ModFReItem[@GetItem])+"] 數量 ["+$@ModFReItemMax[@GetItem]+"] 個。",15;
            warp "payon",160,58;
        }        close;        }

guild_room.gat,53,285,4        script        道館獎勵員#2        920,{
{
        set @GetZeny,rand($@ModFReZeny,$@ModFReZenyMax);
        set zeny,zeny + @GetZeny;
        announce "道館獎勵員 : 恭喜玩家 ["+strcharinfo(0)+"] 獲得獎勵獎金 ["+@GetZeny+"] Zeny。",15;
            warp "payon",160,58;
        }        close;        }

guild_room.gat,42,287,4        script        道館獎勵員#3        936,{
{
        set @GetCash,rand($@ModFReCash,$@ModFReCashMax);
        set #CASHPOINTS,#CASHPOINTS + @GetCash;
        announce "道館獎勵員 : 恭喜玩家 ["+strcharinfo(0)+"] 獲得獎勵商城點數 ["+@GetCash+"] 點。",15;
            warp "payon",160,58;
        }        close;        }

//====================================================//

function        script        ModF_Reward        {

        mes "[道館獎勵員]";
        mes "您好厲害!竟然能擊倒MVP怪物,";
        mes "並且挑戰成功,給您一些獎勵吧!";
        next;
        mes "[道館獎勵員]";
        mes "您將會隨機獲得";
        switch(getarg(0)) {
        case 1:
                for ( set @i,1; @i < ($@ModFItemSize+1); set @i,@i+1 ) {
                        mes "獎品."+@i+" ^FF0000"+$@ModFReItemNum[@i]+"^000000 個 ^0000FF"+getitemname($@ModFReItemAID[@i])+"^000000";
                }
                mes "其中一樣獎品";
                mes "您確定您要領取獎品嗎?";
                next;
                if (select("讓我好好考慮一下!","我確定要領取!")==1) {
                        close;
                }
                set .@GetItem,rand(1,$@ModFItemSize);
                getitem $@ModFReItemAID[.@GetItem],$@ModFReItemNum[.@GetItem];
                announce "道館獎勵員 : 恭喜玩家 ["+strcharinfo(0)+"] 獲得獎勵獎品 ["+getitemname($@ModFReItemAID[.@GetItem])+"] 數量 ["+$@ModFReItemNum[.@GetItem]+"] 個。",15;
                break;
        case 2:
                mes "^FF0000"+$@ModFReMinZeny+"0000^000000 ~ ^FF0000"+$@ModFReMaxZeny+"0000^000000 不等的獎金";
                mes "您確定您要領取獎金嗎?";
                next;
                if (select("讓我好好考慮一下!","我確定要領取!")==1) {
                        close;
                }
                set .@GetZeny,rand($@ModFReMinZeny,$@ModFReMaxZeny);
                set zeny,zeny + (.@GetZeny*10000);
                announce "道館獎勵員 : 恭喜玩家 ["+strcharinfo(0)+"] 獲得獎勵獎金 ["+(.@GetZeny*10000)+"] Zeny。",15;
                break;
        case 3:
                mes "^FF0000"+$@ModFReMinCash+"^000000點 ~ ^FF0000"+$@ModFReMaxCash+"^000000點 不等的商城點數";
                mes "您確定您要領取商城點數嗎?";
                next;
                if (select("讓我好好考慮一下!","我確定要領取!")==1) {
                        close;
                }
                set .@GetCash,rand($@ModFReMinCash,$@ModFReMaxCash);
                set #CASHPOINTS,#CASHPOINTS + .@GetCash;
                announce "道館獎勵員 : 恭喜玩家 ["+strcharinfo(0)+"] 獲得獎勵商城點數 ["+.@GetCash+"] 點。",15;
                break;
        }
        warp "SavePoint",0,0;
}

goddameit 發表於 2014-10-29 00:05:22

你沒設定那些變數的數值, 自然領到空物品

money8326 發表於 2014-11-3 06:40:27

本帖最後由 money8326 於 2014-11-3 06:43 AM 編輯

getitem $@ModFReItem[@GetItem],$@ModFReItemMax[@GetItem];
>
getitem $@ken0609[@GetItem],$@ken[@GetItem];

你變數根本沒對應上當然null ...
改變一個腳本的變數不是單單只改一個,要整組換

盧卡斯 發表於 2014-11-7 10:36:37

//----- 獎勵獎品能夠取得的物品
      setarray $@ModFReItemAID,12912,12903,12904,12905,12906,12907,12908,25001,25002,12920,12921,5457,18729,25003,25004,25005,25006,7091,7089,7080,7081,7085,7077,7088,7090,7092,7073;

//----- 獎勵獎品能夠取得的數量
      setarray $@ModFReItemNum,2,2,2,2,2,2,2,1,1,2,2,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,3;guild_room.gat,30,285,6      script      道館獎勵員#1      935,{
ModF_Reward(1)}
guild_room.gat,53,285,4      script      道館獎勵員#2      920,{
ModF_Reward(2)}
guild_room.gat,42,287,4      script      道館獎勵員#3      936,{
ModF_Reward(3)}
頁: [1]
查看完整版本: 道館獎勵物品都是領null