找回密码
 点一下
查看: 1564|回复: 16

求助啊 如何检测某一点位没有玩家后 停止刷兵

[复制链接]
发表于 2011-5-30 16:10:01 | 显示全部楼层 |阅读模式
比如 制作一张TD图 有8个口分别对应8个玩家 进游戏的时候 只有6个人 那么 游戏自动关闭对应的这2个通道刷兵 然后 中途又有一个玩家退出了 然后自动关闭这个玩家对应的通道刷兵 然后有一个玩家被全灭了 再关闭这个通道
请问 这个触发器的思路是什么啊 完全的菜鸟没头绪啊
发表于 2011-5-30 16:21:26 | 显示全部楼层
布林值验证玩家状态
回复

使用道具 举报

 楼主| 发表于 2011-5-30 16:23:00 | 显示全部楼层
布林值是什么
回复

使用道具 举报

发表于 2011-5-30 17:36:57 | 显示全部楼层
引用第2楼ch3133于2011-05-30 16:23发表的  :
布林值是什么  
布尔变量
弄个触发,某某玩家离开游戏后,让对应的布尔变量=false
然后在刷兵的触发里,判断这个布尔变量是否为ture,为false就不刷兵。

或者玩家离开游戏,直接把对应刷兵的触发关掉,这样更好一点
回复

使用道具 举报

 楼主| 发表于 2011-5-31 09:51:52 | 显示全部楼层
额 菜鸟 又学到点知识 谢谢
回复

使用道具 举报

发表于 2011-5-31 10:17:29 | 显示全部楼层
做TD的刷兵控制,推薦你用這個方法

設置布爾類型(布林值)變量數組,數組的大小等於玩家數。比如叫PlayerInGame[15]
然後在初始化的時候遍曆玩家,檢測玩家是否在遊戲,然後設置對應玩家編號的PlayerInGame[玩家編號]=true
然後設置個觸發,當任意玩家離開遊戲時發動,設置PlayerInGame[觸發的玩家的編號]=false
也可以設置任意玩家失敗的時候,設置PlayerInGame[觸發的玩家的編號]=false

然後在你的刷兵的語句前面加條件。
檢測你這一路對應的玩家的PlayerInGame[選中的玩家]是否為true,為true就刷兵,為false就忽略。

這樣開局的時候,有玩家的路才刷兵,沒玩家,玩家退出,玩家失敗都會停止對應路的刷兵。
回复

使用道具 举报

 楼主| 发表于 2011-5-31 11:18:02 | 显示全部楼层
额 都是资料 学习 收藏 去实践.. 太好了 哈哈 又进步了
回复

使用道具 举报

 楼主| 发表于 2011-6-1 12:03:02 | 显示全部楼层
引用第5楼angerking于2011-05-31 10:17发表的  :
做TD的刷兵控制,推薦你用這個方法

設置布爾類型(布林值)變量數組,數組的大小等於玩家數。比如叫PlayerInGame[15]
然後在初始化的時候遍曆玩家,檢測玩家是否在遊戲,然後設置對應玩家編號的PlayerInGame[玩家編號]=true
然後設置個觸發,當任意玩家離開遊戲時發動,設置PlayerInGame[觸發的玩家的編號]=false
.......
请问  这个初始化的时候 遍历玩家 怎么写 找不到啊....
回复

使用道具 举报

发表于 2011-6-1 12:51:52 | 显示全部楼层
不需要那么麻烦啊。。。
直接在刷兵的时候判断玩家在不在就好了啊。。。。
还弄变量多麻烦~~~
回复

使用道具 举报

发表于 2011-6-1 12:58:28 | 显示全部楼层
就效率方面而言,确实是设置个布尔变量最有效率。
回复

使用道具 举报

发表于 2011-6-1 13:17:54 | 显示全部楼层
判断布尔和判断玩家是否在,差不多吧?
回复

使用道具 举报

 楼主| 发表于 2011-6-1 14:42:00 | 显示全部楼层
额 我只是想知道怎么写 这个遍历玩家是否存在...  我要学的是这个方法啊  麻烦赐教
回复

使用道具 举报

发表于 2011-6-1 14:59:09 | 显示全部楼层

回 11楼(ch3133) 的帖子

看起來很難,其實很簡單……

玩家都是自帶一個屬性,是整數型的,0是默認的中立玩家,1-15都是可取值,你在玩家設置中開放幾個玩家就是幾個玩家。

動作-挑選每一個整數0到15
動作if語句
         條件設置,值1:玩家-玩家狀態   玩家:(被選中的整數)==  值2: 預設正在播放  (用這個來檢測玩家是否存在)
         動作 設置flag[(被選中的整數)]== true
         否則 設置flag[(被選中的整數)]== false

刷怪判斷flag[]就行了。玩家退出就再調用一次遍歷。將flag設置成和當前玩家狀態相同。


以這個語句來執行遍歷。

也就是說玩家1,就是第一個玩家,玩家5就是第5個玩家,直接循環整數i 0-15,對玩家i進行操作就Ok了


其實就是遊戲中默認了一個數組p[15]  0-15分別對應了16個玩家。所以對任何玩家的操作只用操作一個“玩家”[整數]
回复

使用道具 举报

发表于 2011-6-1 16:16:25 | 显示全部楼层
其实不用遍历0-15。玩家组动作里本来就可以枚举玩家组。

你可以枚举“所有活动玩家”这个玩家组,然后进行详细判断就好了。
回复

使用道具 举报

 楼主| 发表于 2011-6-1 16:56:30 | 显示全部楼层
这个理解了 那么 如果不做TD图 做个 防守的地图  8个玩家出生在8个矿位 这8个玩家出生的位置是随机的 那么 我改怎么关闭 对应点位的刷怪呢?
比如说 有出生点位1-8   与之相对应的 刷怪点1-8  通过你教我的方法 我遍历出目前活动的玩家为 2 4 6 7  但是 这4个玩家出生的点位不一定就是 出生点位 2 4 6 7 我该怎么关闭刷怪点呢?
回复

使用道具 举报

发表于 2011-6-1 17:02:13 | 显示全部楼层
不同人数下的初始点位置都是可设置的
回复

使用道具 举报

 楼主| 发表于 2011-6-1 17:03:44 | 显示全部楼层
楼上的是什么意思? 我是说 如果我要求的就是随机位置的情况下 这里应该怎么实现呢?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 点一下

本版积分规则

Archiver|移动端|小黑屋|地精研究院

GMT+8, 2024-12-24 20:54 , Processed in 0.035044 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表