eGameX

 找回密碼
 立即註冊
搜索
查看: 344|回復: 9

[開發中]NPC亂跑

[複製鏈接]
發表於 2017-3-19 23:57:06 | 顯示全部樓層 |閱讀模式
被打會亂跑~跨海域城鎮

開發中 還未詳細debug  大家幫忙測試測試

寫在battle.cgi

把原始code

# Sub Battle #


  1.         } else {
  2.                 &add_record("襲擊$uname!<br>獲得[奪取:$get_s、擊沉:$sink_s、資金:$get_money G、財寶:$rob_item]<br>被害[奪取:$uget_s、擊沉:$usink_s]");
  3.                 &add_record("受到$name襲擊!<br>被害[奪取:$get_s、擊沉:$sink_s、資金:$get_money G、財寶:$rob_item]<br>獲得[奪取:$uget_s、擊沉:$usink_s]",1)
  4.         }
  5.         &into_ind; &into_uind;
  6.         &set_me;
  7.         &set_u;
  8.         &play
  9. }

複製代碼
改成這個



  1.         } else {
  2.                 &add_record("襲擊$uname!<br>獲得[奪取:$get_s、擊沉:$sink_s、資金:$get_money G、財寶:$rob_item]<br>被害[奪取:$uget_s、擊沉:$usink_s]");
  3.                 &add_record("受到$name襲擊!<br>被害[奪取:$get_s、擊沉:$sink_s、資金:$get_money G、財寶:$rob_item]<br>獲得[奪取:$uget_s、擊沉:$usink_s]",1)
  4.         }
  5.        
  6.         #NPC Test
  7.         if($uid == 00002){                                #change uid to NPC's id
  8.        
  9.         my $des_area = int(1001 + rand(9));
  10.         my $area_file = new Nfile("$datadir/$des_area\.dat",'read');
  11.         my @test_arealine = $area_file->read;
  12.        
  13.         my @area_array;
  14.        
  15.         foreach (@test_arealine) {
  16.                 ($test_move_num) = split(/<>/,$_);
  17.                 push (@area_array,$test_move_num);
  18.         }
  19.        
  20.         my $area_index = int(rand(scalar(@area_array)));
  21.         my $des_port = $area_array[$area_index];

  22.         $uarea = "$des_area";
  23.         $uport = "$des_port";
  24.        
  25.         }
  26.        
  27.        
  28.         &into_ind; &into_uind;
  29.         &set_me;
  30.         &set_u;
  31.         &play



複製代碼
 樓主| 發表於 2017-3-20 00:16:22 | 顯示全部樓層
補充~

如果只想在特定海域內移動

把這行

my $des_area = int(1001 + rand(9));

改成這個

my $des_area = $uarea;

這樣就好了^^
回復 支持 反對

使用道具 舉報

發表於 2017-3-20 15:08:33 | 顯示全部樓層
這寫法不錯, 應該是不會有Bug的
回復 支持 反對

使用道具 舉報

發表於 2017-3-21 18:30:19 | 顯示全部樓層
台中人2000 發表於 2017-3-21 18:01
問目前的玩家一個問題喔,現在遊戲中的NPC是自己生出來的還是之前就有的?

我看程式裡面沒有相關的設定?

那個不是你開出來的嗎?
是突然出現的0.0
回復 支持 反對

使用道具 舉報

發表於 2017-3-21 20:00:39 | 顯示全部樓層
大家都以為是台中人你開出來的耶......@@
回復 支持 反對

使用道具 舉報

發表於 2017-3-27 18:34:51 | 顯示全部樓層
這個程式編碼有漏洞,750艘會維持不變。要嘛改成17艘或是750艘會慢慢遞減
回復 支持 反對

使用道具 舉報

 樓主| 發表於 2017-3-27 19:28:11 | 顯示全部樓層
dog29329584 發表於 2017-3-27 18:34
這個程式編碼有漏洞,750艘會維持不變。要嘛改成17艘或是750艘會慢慢遞減

能貼一下戰報嗎?
理論上這個程式不會動到船隻設定

看有沒有少寫into_uind這個函式
回復 支持 反對

使用道具 舉報

發表於 2017-3-27 20:06:50 | 顯示全部樓層
我建議分兩隻NPC, 一隻是船的, 一隻是財寶的
回復 支持 反對

使用道具 舉報

發表於 2017-3-28 10:22:46 | 顯示全部樓層
台中人2000 發表於 2017-3-28 10:20
戰報?
這是甚麼

台中人大大請問你設定自動重新 重生的時間設定幾天了?
現在變成750條線= = 無限重新了, 這樣第一是很傷服務器, 會加大流量

第二玩家會變的超超超超級難取得寶物和船隻
回復 支持 反對

使用道具 舉報

發表於 2017-3-28 10:27:53 | 顯示全部樓層
teng 發表於 2017-3-28 10:22
台中人大大請問你設定自動重新 重生的時間設定幾天了?
現在變成750條線= = 無限重新了, 這樣第一是很傷 ...

750 條船~ 不是線
回復 支持 反對

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即註冊

本版積分規則

小黑屋|Archiver|排行榜|eGameX

GMT+8, 2017-6-24 23:41 , Processed in 0.029942 second(s), 6 queries , Gzip On, memcache On.

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回復 返回頂部 返回列表