|
发表于 2007-7-12 13:10:33
|
显示全部楼层
LS说的那段没问题
如果字符串中没有空格的话,应该只有人类和巨魔能正确判断
[codes=jass]
function GetClass takes unit u returns string
local string class=GetUnitName(u)
if(SubStringBJ(class,1,11)=="矮人 |cFF8") or (SubStringBJ(class,1,12)=="兽人 |cFF805")then
set class="战士"
elseif(SubStringBJ(class,1,11)=="矮人 |cFF0") or (SubStringBJ(class,1,12)=="被遗忘者 |cFF0")then
set class="猎人"
elseif(SubStringBJ(class,1,13)== "人类 |cFFFF8")then
set class="圣骑士"
elseif(SubStringBJ(class,1,11)=="兽人 |cFFFF8")then
set class="萨满"
elseif(SubStringBJ(class,1,13)=="人类 |cFF80F") or (SubStringBJ(class,1,11)=="巨魔 |cFF8")then
set class="法师"
elseif(SubStringBJ(class,1,13)=="人类 |cFFFFF") or (SubStringBJ(class,1,12)=="被遗忘者 |cFFF")then
set class="牧师"
elseif(SubStringBJ(class,1,17)=="暗夜精灵 |cFFFFF") or (SubStringBJ(class,1,11)=="巨魔 |cFFF")then
set class="盗贼"
elseif(SubStringBJ(class,1,13)=="人类 |cFF800") or (SubStringBJ(class,1,11)=="兽人 |cFF800")then
set class="术士"
elseif(SubStringBJ(class,1,17)=="暗夜精灵 |cFFFF8") or (SubStringBJ(class,1,2)=="Ta")then
set class="德鲁伊"
endif
return class
endfunction
[/codes]
SubStringBJ的第2,3个参数是子字符串的起始和结束位置。
和后面的字符串比较一下就很明显了。 |
|