Project1
标题:
偷盗技能……
[打印本页]
作者:
xia0082
时间:
2008-12-10 22:37
标题:
偷盗技能……
我使用了特殊战斗效果的脚本来实现偷盗技能,但是并不能偷到东西,我是完全按照注解来射定的名字
比如:敌人n w 1 1
可是总是提示我没有东西可偷,而且我有透视技能查看过了,可偷盗的物品是没有的。这是为什么呢?
而且这个脚本虽然功能很强大,但是偷盗技能一定要在怪物名字后面出现这些字母,战斗的时候全都看光了,这本身也就失去了偷盗的乐趣,感觉实在不好用啊 [LINE]1,#dddddd[/LINE]
版务信息:本贴由楼主自主结贴~
作者:
xia0082
时间:
2008-12-11 02:07
请问没人能帮我解决这个问题吗?
作者:
3nξhα0_lim
时间:
2008-12-11 02:09
提示:
作者被禁止或删除 内容自动屏蔽
作者:
xia0082
时间:
2008-12-11 02:15
谢谢LS,东西是有了,可以为什么我偷不到?
一直提示我没什么东西可偷???
作者:
xia0082
时间:
2008-12-11 02:24
放上偷盗的这段代码
#===================================================
#ノーマルアイテムの指定
#エネミーネームに -n種類 ID 個数(-na 10 10) と入れて指定。
#種類は、i(アイテム) w(武器) a(防具)のいずれか一つ
#個数は省略可能、自動で1扱い。
#また、ドロップアイテムと同一にしたい場合は
#エネミーネームに -nd 個数(-nd 2) と入れて指定。
#個数は省略可能、自動で1扱い。
#===================================================
def normal_item
return get_item_from_name("n")#オプション"n"の文字列から取得
end
#===================================================
#レアアイテムの指定
#エネミーネームに -r種類 ID 個数(-na 10 10) と入れて指定。
#種類は、i(アイテム) w(武器) a(防具)のいずれか一つ
#個数は省略可能、自動で1扱い。
#また、ドロップアイテムと同一にしたい場合は
#エネミーネームに -rd 個数(-nd 2) と入れて指定。
#個数は省略可能、自動で1扱い。
#===================================================
def rare_item
return get_item_from_name("r")#オプション"r"の文字列から取得
end
#===================================================
#*Nameからアイテムを抜き出す処理
#===================================================
def get_item_from_name(opt)
names = $data_enemies[@enemy_id].name.split(/-/)
if names.size > 1
for i in 1...names.size
if names[i][0,1] != opt
next
end
names[i].sub!(/^.(.*)/){$1}
ary = names[i].split(/ /)
if ary[0][0,1] == "g"
cgy = "g"
id = 0
if ary[1].nil?
ary[1] = "1"
elsif ary[1].sub!(/^([0-9]+)/){$1}.nil?
ary[1] = "1"
end
possession = {"Category"=>cgy, "ID"=>id, "Num"=>ary[1].to_i}
return possession
elsif ary[0][0,1] == "d"
cgy = ""
id = 0
if self.item_id != 0
cgy = "i"
id = self.item_id
elsif self.weapon_id != 0
cgy = "w"
id = self.weapon_id
elsif self.armor_id != 0
cgy = "a"
id = self.armor_id
else
return nil
end
if ary[1].nil?
ary[1] = "1"
elsif ary[1].sub!(/^([0-9]+)/){$1}.nil?
ary[1] = "1"
end
possession = {"Category"=>cgy, "ID"=>id, "Num"=>ary[1].to_i}
return possession
elsif !ary[0].sub!(/^([iwa])/){$1}.nil? && !ary[1].sub!(/^([0-9]+)/){$1}.nil?
if ary[2].nil? || ary[2].sub!(/^([0-9]+)/){$1}.nil?
ary[2] = "1"
end
possession = {"Category"=>ary[0], "ID"=>ary[1].to_i, "Num"=>ary[2].to_i}
return possession
end
end
end
return nil
end
#===================================================
#スティールエフェクト
#===================================================
def steal_effect(user, skill) # 引数skillを追加
pos = self.normal_item
if !@item_possession || pos.nil?
@effect_message = "没有东西可偷。"
#self.damage = "Miss"
return false
end
#盗み成功判定 アジリティが同一で50%、2倍で100%
if rand(100) <= ((user.agi+0.01)/(self.agi+0.01))*100/2
r_pos = self.rare_item
#レアアイテム判定
if !r_pos.nil? && rand(10) <= 1
pos = r_pos
end
case pos["Category"]
when "i"
item = $data_items[pos["ID"]]
if item.nil?
print "这个物品不存在!"
return false
end
$game_party.gain_item(item.id, pos["Num"])
when "w"
item = $data_weapons[pos["ID"]]
if item.nil?
print "这个物品不存在!"
return false
end
$game_party.gain_weapon(item.id, pos["Num"])
when "a"
item = $data_armors[pos["ID"]]
if item.nil?
print "这个物品不存在!"
return false
end
$game_party.gain_armor(item.id, pos["Num"])
when "g"
# ゴールド獲得
$game_party.gain_gold(pos["Num"])
end
if pos["Category"] == "g"
@effect_message = "#{pos["Num"]}#{$data_system.words.gold}偷到!"
else
@effect_message = "#{item.name}#{pos["Num"]}个偷到!"
end
@item_possession = false
self.damage = "Steal!" if self.damage == "Miss"
return true
else
@effect_message = "没有东西可偷???"
#self.damage = "Miss
return false
end
return false # 念のためfalse返す処理追加
# 多分なくてもifの結果(false)が返ると思うけど…
end
end
复制代码
作者:
xia0082
时间:
2008-12-11 06:11
顶起!
作者:
3nξhα0_lim
时间:
2008-12-11 06:19
提示:
作者被禁止或删除 内容自动屏蔽
作者:
xia0082
时间:
2008-12-11 08:08
这是一段关于偷盗的,完成的很长,我有修改过一些不过也只是很简单的东西而已,应该不会有什么影响才对
我贴不下整个的
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1