PLease help titleCheck.src
Posted: Fri Aug 30, 2019 10:08 am
Hi everyone, please tell me, I can’t adjust the titles, it is necessary that at 50 skills the Beginner skill should give, at 65 skill the Student
PR 90 Journeyman
PR 105 Expert
At 115 Adept
At 125 Master
At 150 Grandmaster
I understand it like that
use uo;
use os;
use cfgfile;
include "include/attributes";
program TitleCheck(who)
var current;
var highskill := Cint(GetObjProperty(who, "HighSkill"));
var max_skill := 0;
var holder := highskill;
if(highskill)
max_skill := GetBaseSkillBaseValue(who, highskill);
endif
foreach attributeid in GetAttributeIdsWithoutStatIds()
current := GetAttributeBaseValue(who, attributeid);
if( current > max_skill )
max_skill := current;
holder := GetSkillIdByAttributeId(attributeid);
endif
endforeach
SetObjProperty(who, "HighSkill", holder);
var title := "";
var fame := Cint(GetObjProperty(who, "Fame"));
if((max_skill >= 300) and (fame > 5000))
var cfg := ReadConfigFile(":*:skills");
var elem := FindConfigElem(cfg, holder);;
title := CStr(elem.Title);
if(max_skill < 400 )
title := ", Neophyte " + title;
elseif(max_skill < 500 )
title := ", Novice " + title;
elseif(max_skill < 650 )
title := ", Apprentice " + title;
elseif(max_skill < 900 )
title := ", Journeyman " + title;
elseif(max_skill < 105 )
title := ", Expert " + title;
elseif(max_skill < 1150 )
title := ", Adept " + title;
elseif(max_skill < 1250 )
title := ", Master " + title;
elseif(max_skill <150)
title := ", Grandmaster " + title;
endif
else
title := "";
endif
who.title_suffix := title;
endprogram
PR 90 Journeyman
PR 105 Expert
At 115 Adept
At 125 Master
At 150 Grandmaster
I understand it like that
use uo;
use os;
use cfgfile;
include "include/attributes";
program TitleCheck(who)
var current;
var highskill := Cint(GetObjProperty(who, "HighSkill"));
var max_skill := 0;
var holder := highskill;
if(highskill)
max_skill := GetBaseSkillBaseValue(who, highskill);
endif
foreach attributeid in GetAttributeIdsWithoutStatIds()
current := GetAttributeBaseValue(who, attributeid);
if( current > max_skill )
max_skill := current;
holder := GetSkillIdByAttributeId(attributeid);
endif
endforeach
SetObjProperty(who, "HighSkill", holder);
var title := "";
var fame := Cint(GetObjProperty(who, "Fame"));
if((max_skill >= 300) and (fame > 5000))
var cfg := ReadConfigFile(":*:skills");
var elem := FindConfigElem(cfg, holder);;
title := CStr(elem.Title);
if(max_skill < 400 )
title := ", Neophyte " + title;
elseif(max_skill < 500 )
title := ", Novice " + title;
elseif(max_skill < 650 )
title := ", Apprentice " + title;
elseif(max_skill < 900 )
title := ", Journeyman " + title;
elseif(max_skill < 105 )
title := ", Expert " + title;
elseif(max_skill < 1150 )
title := ", Adept " + title;
elseif(max_skill < 1250 )
title := ", Master " + title;
elseif(max_skill <150)
title := ", Grandmaster " + title;
endif
else
title := "";
endif
who.title_suffix := title;
endprogram