UID323771
帖子
精華
主題
積分30988
現金
積極性
威望
違規
熱心
推廣次數
閱讀權限30
註冊時間2013-12-31
在線時間 小時
最後登錄1970-1-1
TA的每日心情 | 擦汗 2018-8-18 01:15 PM |
---|
簽到天數: 1517 天 連續簽到: 1 天 [LV.Master]伴壇終老
|
EA
私服版號: |
EA14729 |
問題內容: |
腳本問題 |
本帖最後由 game1993 於 2014-1-16 02:17 AM 編輯
如題
以下是小弟我才淺自己修改的腳本,
不知道哪邊錯誤我設定特定戶後,
只要一登入檢測IP會跟我說檢測相同IP,
後續...伺服器當機重開頗無言。
以下腳本- - script Windowcontrol -1,{
- OnInit:
- cleararray $@Morewindows$,"",getarraysize($@Morewindows$);
- cleararray $@Windiwsnum,0,getarraysize($@Windiwsnum);
- cleararray .@Name$,"",getarraysize(.@Name$);
- cleararray $@Kill_List$,"",getarraysize($@Kill_List$);
- //=======================腳本基礎設定======================//
- set $@GM_Right,51; //GM權利多少以上可使用此系統
- set $@BigGM_Right,99; //GM權利多少以上可線上關閉此系統(暫時鎖定給低階GM更改用)
- //=======================IP限制設定=======================//
- setarray $@Morewindows$[0], "284.138.62.152"; //加入特定客戶。
- setarray $@Windiwsnum[0] ,3;//開放給特定客戶幾開,要對應上面特定用戶。
- set $@OtherWimdows,1; //非特定客戶 都只能幾開。
- //=======================黑名單IP新增=====================//
- setarray $@Black_IP$[0], "61.70.95.43",
- "123.193.97.138";
- //=======================================================//
- end;
- }
- brasilis.gat,198,327,3 script GM_NPC::ABCCBA 768,{
- OnWhisperGlobal:
- if(getgmlevel() < $@GM_Right){mes "非常抱歉,這不是你能使用的NPC。";close;}
- if($@SysetemRock==1 && getgmlevel() < $@BigGM_Right){mes "^FF0000※系統已被關閉※^000000";close;}
- mes "^FF0000歡迎使用GM_NPC!!^000000";
- mes "請選擇修改項目";
- mes " ";
- mes "^FF0000PS: 線上修改的,凡是重新讀取NPC 或是 重開私服,都會還原,所以還是請靠腳本增加,謝謝.....^000000";
- next;
- switch(select("^FCFF19 1.玩家IP查詢^000000: 2.特定戶視窗數量: 3.一般戶視窗數量: 4.增加特定戶: 5.移除特定戶: 6.所有目前可以開的視窗數量: 7.查詢IP用戶視窗數或踢除:^FF0000 8.黑名單^000000: 9.魔王道館傳送:10.進階道管:11.南門王:12火龍區:13.取消")){
- case 1:
- mes "^ff0000請輸入查詢該IP的玩家1C19FFID^000000!!^000000";
- set .@Ip_GM_Player$,"";
- input .@Ip_GM_Player$;
- mes "玩家ID:^ff0000"+.@Ip_GM_Player$+"^000000";
- menu "正確",-;
- if(isloggedin(getcharid(3,.@Ip_GM_Player$))==0){
-
- mes " ";
- mes " ";
- mes "^ff0000該玩家不在線上唷!^000000";
- close;}
- query_sql("SELECT last_ip FROM `login` WHERE account_id = '"+getcharid(3,.@Ip_GM_Player$)+"'", .@PlayIP$);
- mes "該玩家IP= ^ff0000"+.@PlayIP$+"^000000";
- close;
- case 2:
- mes "特定戶視窗數量";
- mes "^ff0000請輸入要改視窗數量的^1C19FFIP^000000^000000";
- set .@Ip_GM_Control$,"";
- input .@Ip_GM_Control$;
- mes "IP: ^0000FF"+.@Ip_GM_Control$+"^000000";
- next;
- for(set .@b,0;.@b<getarraysize($@Morewindows$); set .@b,.@b+1){
- if(.@Ip_GM_Control$==$@Morewindows$[.@b]){ goto A1; end;}
- }
- mes "你輸入的^1C19FFIP不是特定用戶^000000唷!!";
- mes "請確認在重新輸入IP。";
- close;
- A1:
- mes "^FF0000請輸入要更改的^1C19FF視窗數量^000000!!^000000";
- set .@Windows_GM_Control,"";
- input .@Windows_GM_Control;
- mes "您要將IP:"+.@Ip_GM_Control$+"";
- mes "從 ^FF0000"+$@Windiwsnum[.@b]+"^000000 可開視窗改為 -> ^0000FF"+.@Windows_GM_Control+"^000000 可開視窗?";
- menu
- "否",D,
- "^FF0000是^000000",-;
- if($@SysetemRock==1 && getgmlevel() < $@BigGM_Right){mes "^FF0000※系統已被關閉※^000000";close;}
- setarray $@Windiwsnum[.@b],.@Windows_GM_Control;
- mes "修改完成!!";
- close;
- case 3:
- mes "一般戶視窗數量";
- mes "^FF0000請輸入要改的^1C19FF視窗數量^000000!!^000000";
- set .@Windows_GM_Control,"";
- input .@Windows_GM_Control;
- mes "^FF0000修改後將一般戶變成^000000";
- mes "從 ^FF0000"+$@OtherWimdows+"^000000 可開視窗改為 -> ^0000FF"+.@Windows_GM_Control+"^000000 可開視窗?";
- menu
- "否",D,
- "^FF0000是^000000",-;
- if($@SysetemRock==1 && getgmlevel() < $@BigGM_Right){mes "^FF0000※系統已被關閉※^000000";close;}
- set $@OtherWimdows,.@Windows_GM_Control;
- mes "修改完成!!";
- close;
- case 4:
- mes "新增特定戶";
- mes "^FF0000請輸入要新增的特定客戶IP^000000";
- set .@New_Windows$,"";
- input .@New_Windows$;
- next;
- mes "^FF0000請輸入特定戶限定的窗數數量^000000";
- set .@New_Windowsnum,"";
- input .@New_Windowsnum;
- next;
- mes "^FF0000請問您要將^000000";
- mes "IP:^0000FF"+.@New_Windows$+"^000000";
- mes "限定 ^FF0000"+.@New_Windowsnum+"^000000 個可開視窗嗎?";
- menu
- "否",D,
- "^FF0000是^000000",-;
- if($@SysetemRock==1 && getgmlevel() < $@BigGM_Right){mes "^FF0000※系統已被關閉※^000000";close;}
- set $@Morewindows$[getarraysize($@morewindows$)],.@New_Windows$;
- set $@Windiwsnum[getarraysize($@windiwsnum)],.@New_Windowsnum;
- mes "新增成功!!";
- close;
- case 5:
- mes "請問您要移除的特定用戶是!?";
- set .@Move_Windows$,"";
- input .@Move__Windows$;
- next;
- mes "你要移除的特定用戶";
- mes "IP:^FF0000"+.@Move__Windows$+"^000000";
- menu
- "否",D,
- "^FF0000是^000000",-;
- if($@SysetemRock==1 && getgmlevel() < $@BigGM_Right){mes "^FF0000※系統已被關閉※^000000";close;}
- for(set .@q,0;.@q<getarraysize($@morewindows$); set .@q,.@q+1){
- if(.@Move__Windows$==$@Morewindows$[.@q]){
- deletearray $@Morewindows$[.@q],1;
- deletearray $@Windiwsnum[.@q],1;
- mes "移除成功!!";
- close;
- }
- }
- next;
- mes "你輸入的IP沒有在特定用戶唷!!";
- mes "請確認在重新輸入。";
- close;
-
- case 6:
- mes "非特定用戶 ^FF0000"+$@OtherWimdows+"^000000 個可開視窗數量。";
- for(set .@g,0;.@g<getarraysize($@Morewindows$); set .@g,.@g+1){
- mes "^7B68EE["+.@g+"]^000000IP:^0000FF"+$@Morewindows$[.@g]+"^000000目前可^FF0000"+$@Windiwsnum[.@g]+"^000000個視窗";
- }
- close;
- case 7:
- mes "^ff0000請輸入要查詢或踢除的IP!!^000000";
- set .@Kill_Ip_Player$,"";
- input .@Kill_Ip_Player$;
- mes "目標IP:^FF0000"+.@Kill_Ip_Player$+"^000000";
- menu
- "不對",D,
- "^FF0000正確^000000",-;
- next;
- mes "目標IP:^FF0000"+.@Kill_Ip_Player$+"^000000!";
- query_sql("SELECT account_id FROM `login` WHERE last_ip = '"+.@Kill_Ip_Player$+"'", .@AccountId10);
- cleararray $@Kill_List$,"",getarraysize($@Kill_List$);
- set .@online,0;
- for(set .@e ,0;.@e<getarraysize(.@AccountId10);set .@e,.@e+1){
- cleararray .@Name$,"",getarraysize(.@Name$);
- query_sql("SELECT name FROM `char` WHERE account_id = '"+.@AccountId10[.@e]+"'", .@Name$);
- for(set .@v ,0;.@v<getarraysize(.@Name$);set .@v,.@v+1){
- if(isloggedin(getcharid(3,.@Name$[.@v]))!=0){
- set .@online,.@online+1;
- mes "^0000FF"+.@online+"."+.@Name$[.@v]+"^000000";
- set $@Kill_List$[getarraysize($@Kill_List$)],.@Name$[.@v];
- }
- }
- }
- if(.@online==0){
- mes "您輸入的IP目前沒任何窗口在線上唷!";
- mes "^FF0000或^000000請確認IP後,再重新輸入!";
- close;
- }
- mes "有以上角色在線上!";
- mes "是否進行全部踢除!";
- if(select("[ 踢除 ]","[ 取消 ]")==2)close;
- mes "踢除Ing!";
- for(set .@h ,0;.@h<getarraysize($@Kill_List$);set .@h,.@h+1){
- atcommand "@kick "+$@Kill_List$[.@h];
- }
- mes "踢除Finish!";
- close;
- case 8:
- mes "^ff000000請輸入要黑名單的IP^000000";
- set .@News_Windows$,"";
- input .@News_Windows$;
- next;
- mes "^ff000000請問您是要將要將^00000000";
- mes "IP:^FF0000"+.@News_Windows$+"^000000";
- mes "限定^FF0000黑名單^000000嗎?";
- menu
- "否",D,
- "^FF0000是^000000",-;
- set $@Black_IP$[getarraysize($@Black_IP$)],.@News_Windows$;
- mes "新增成功!!";
- close;
- Aclose:
- case 9:
- mes "南門王(^3355FF目前"+ getmapusers("prt_fild08.gat") +"人^000000)";
- mes "火龍區(^3355FF目前"+ getmapusers("moc_fild22b.gat") +"人^000000)";
- mes "進階道館1(^3355FF目前"+ getmapusers("guild_vs1.gat") +"人^000000)";
- mes "進階道館2(^3355FF目前"+ getmapusers("guild_vs2.gat") +"人^000000)";
- mes "進階道館3(^3355FF目前"+ getmapusers("guild_vs3.gat") +"人^000000)";
- mes "進階道館4(^3355FF目前"+ getmapusers("guild_vs4.gat") +"人^000000)";
- mes "進階道館5(^3355FF目前"+ getmapusers("guild_vs5.gat") +"人^000000)";
- next;
- menu
- "更新人數",Aclose,
- "魔王道館1(^3355FF目前"+ getmapusers("06guild_01.gat") +"人^000000)",Lpshop1,
- "魔王道館2(^3355FF目前"+ getmapusers("06guild_02.gat") +"人^000000)",Lpshop2,
- "魔王道館3(^3355FF目前"+ getmapusers("06guild_03.gat") +"人^000000)",Lpshop3,
- "取消",D;
- close;
- Bclose:
- case 10:
- mes "南門王(^3355FF目前"+ getmapusers("prt_fild08.gat") +"人^000000)";
- mes "火龍區(^3355FF目前"+ getmapusers("moc_fild22b.gat") +"人^000000)";
- mes "魔王道館1(^3355FF目前"+ getmapusers("06guild_01.gat") +"人^000000)";
- mes "魔王道館2(^3355FF目前"+ getmapusers("06guild_02.gat") +"人^000000)";
- mes "魔王道館3(^3355FF目前"+ getmapusers("06guild_03.gat") +"人^000000)";
- next;
- menu
- "更新人數",Bclose,
- "進階道館1(^3355FF目前"+ getmapusers("guild_vs1.gat") +"人^000000)",LpshopAA,
- "進階道館2(^3355FF目前"+ getmapusers("guild_vs2.gat") +"人^000000)",LpshopBB,
- "進階道館3(^3355FF目前"+ getmapusers("guild_vs3.gat") +"人^000000)",LpshopCC,
- "進階道館4(^3355FF目前"+ getmapusers("guild_vs4.gat") +"人^000000)",LpshopDD,
- "進階道館5(^3355FF目前"+ getmapusers("guild_vs5.gat") +"人^000000)",LpshopEE,
- "取消",D;
- close;
-
- Cclose:
- case 11:
- mes "火龍區(^3355FF目前"+ getmapusers("moc_fild22b.gat") +"人^000000)";
- mes "進階道館1(^3355FF目前"+ getmapusers("guild_vs1.gat") +"人^000000)";
- mes "進階道館2(^3355FF目前"+ getmapusers("guild_vs2.gat") +"人^000000)";
- mes "進階道館3(^3355FF目前"+ getmapusers("guild_vs3.gat") +"人^000000)";
- mes "魔王道館1(^3355FF目前"+ getmapusers("06guild_01.gat") +"人^000000)";
- mes "魔王道館2(^3355FF目前"+ getmapusers("06guild_02.gat") +"人^000000)";
- mes "魔王道館3(^3355FF目前"+ getmapusers("06guild_03.gat") +"人^000000)";
- next;
- menu
- "更新人數",Cclose,
- "南門王(^3355FF目前"+ getmapusers("prt_fild08.gat") +"人^000000)",Lpshop4,
- "取消",D;
- close;
-
- Dclose:
- case 12:
- mes "進階道館1(^3355FF目前"+ getmapusers("guild_vs1.gat") +"人^000000)";
- mes "進階道館2(^3355FF目前"+ getmapusers("guild_vs2.gat") +"人^000000)";
- mes "進階道館3(^3355FF目前"+ getmapusers("guild_vs3.gat") +"人^000000)";
- mes "魔王道館1(^3355FF目前"+ getmapusers("06guild_01.gat") +"人^000000)";
- mes "魔王道館2(^3355FF目前"+ getmapusers("06guild_02.gat") +"人^000000)";
- mes "魔王道館3(^3355FF目前"+ getmapusers("06guild_03.gat") +"人^000000)";
- mes "南門王(^3355FF目前"+ getmapusers("prt_fild08.gat") +"人^000000)";
- next;
- menu
- "更新人數",Dclose,
- "火龍區(^3355FF目前"+ getmapusers("moc_fild22b.gat") +"人^000000)",Lpshop5,
- "取消",D;
- close;
- //取消
- case 13:
- close;
-
- D:
- close;
- Lpshop1:
- warp "06guild_01.gat",50,49;
- close;
- Lpshop2:
- warp "06guild_02.gat",50,49;
- close;
- Lpshop3:
- warp "06guild_03.gat",50,49;
- close;
- Lpshop4:
- warp "prt_fild08.gat",170,374;
- close;
- Lpshop5:
- warp "moc_fild22b.gat",0,0;
- close;
- LpshopAA:
- warp "guild_vs1.gat",50,49;
- close;
- LpshopBB:
- warp "guild_vs2.gat",50,49;
- close;
- LpshopCC:
- warp "guild_vs3.gat",50,49;
- close;
- LpshopDD:
- warp "guild_vs4.gat",50,49;
- close;
- LpshopEE:
- warp "guild_vs5.gat",50,49;
- close;
- end;
- }
- OnPCLoginEvent:
-
- query_sql("SELECT last_ip FROM `login` WHERE account_id = "+getcharid(3)+"", .@LastIp$);
- query_sql("SELECT account_id FROM `login` WHERE last_ip = '"+.@LastIp$+"'", .@AccountId);
- for(set .@s,0; .@s < getarraysize($@Black_IP$); set .@s,.@s+1){
- if(.@LastIp$==$@Black_IP$[.@s]){
- mes "^FF0000很抱歉...您已被列入黑名單!";
- mes "請於其他管道連絡GM查詢原因!^000000";
- sleep2(3000);
- atcommand "@kick "+strcharinfo(0);
- end;
- }
- }
- set $@MaxWimdows,$@OtherWimdows;
- for(set .@a,0; .@a < getarraysize($@Morewindows$); set .@a,.@a+1){
- if(.@LastIp$==$@Morewindows$[.@a]){
- set $@MaxWimdows,$@Windiwsnum[.@a];
- break;
- }
- }
- for(set .@i ,0;.@i<getarraysize(.@AccountId);set .@i,.@i+1){
- if(isloggedin(.@AccountId[.@i]))set .@j,.@j+1;
- if(.@j>$@MaxWimdows){
- mes "很抱歉....";
- mes "玩家名稱: "+strcharinfo(0)+" 來自[^FF6600" + .@LastIp$ + "^000000]";
- mes "同樣IP,不可以超過^FF0000"+$@MaxWimdows+"^000000個視窗.";
- mes "請確認窗口,謝謝!!!";
- mes "^0000FF若您是需要多開,請洽GM為您升級特定用戶,謝謝。^000000";
- sleep2(3000);
- atcommand "@kick "+strcharinfo(0);
- end;
- }
- }
- end;
- }
- aldebaran.gat,149,176,5 duplicate(ABCCBA) GM_NPC#3 111
複製代碼 以下登錄入驗證 - OnPCLoginEvent:
- addtimer $WaitingTime,"在線計時::OnTimeA";
- set Time,gettimetick(2) + $SetWaitingTime;
- dispbottom "[ 泡點系統 ] 目前泡點累積為 "+ChangePoint+" 點,開店及未滿70等無法積點";
- sc_start SC_FREEZE,600000,0;
- sc_start SC_SILENCE,600000,0;
- sc_start SC_STONE,600000,0;
- set .@s,rand(1000,9999);
- dispbottom "[ 驗證系統 ] "+.@s+" 請輸入";
- input .@y;
- if(.@y!=.@s){
- set .@s,rand(1000,9999);
- dispbottom "[ 驗證系統 ] 再一次機會 "+.@s+" 請輸入";
- input .@y;
- if(.@y!=.@s){
- atcommand "@kick "+strcharinfo(0);
- }
- sc_end SC_FREEZE;
- sc_end SC_SILENCE;
- sc_end SC_STONE;
- close;
- }
- sc_end SC_FREEZE;
- sc_end SC_SILENCE;
- sc_end SC_STONE;
- close;
- end;
- }
複製代碼 我有想過腳本可能沒問題,
是我個人手殘輸入錯誤IP,
導致伺服器無法判斷IP重開。
也希望有人幫我解答,不然一直斷線頗升天的。
1/15 17:48
剛剛又發生問題了...
玩家雙開導致伺服器當機,
看來跟增加特定戶沒太大關聯。
|
|