Problem with gump id?

Get Help on scripting in POL with configurations, config setups, script trouble shooting, etc.
Post Reply
Eliath
New User
Posts: 14
Joined: Sun Aug 27, 2006 6:12 pm

Problem with gump id?

Post by Eliath »

Code: Select all

function FillInSkills (who)
	for i := 0 to 48
		var str := CSTR (GetAttributeBaseValue (who, GetAttributeIDBySkillID (i) ) );
		if (!str or !len (str))
			str := "0.0";
		else
			str [len(str), 1] := "." + str [len(str), 1];
			if (CDBL (str) < 1)
				str := "0" + str;
			endif
		endif
		var arraypos := i*2 + 32;
		var bonus := GetAttributeTemporaryMod (who, GetAttributeIDBySkillID (i));
		if (bonus)
			bonus := CSTR (bonus);
			bonus [len(bonus), 1] := "."+ bonus [len(bonus), 1];
			if (CDBL (bonus) < 1 and CDBL (bonus) > 0)
				str := "0" + bonus;
			endif
			str := str + " (" + bonus + ")";
		endif
		
		data[arraypos] := str;
	endfor
endfunction
Now this is an extract from a .info script which allows a gm to look at a players stats/skills the whole lot. This part of the script defines the current skill values and is displayed on the gump. The problem with it is that it doesn't work anymore, for some reason i cant think of. The error in gump window reads. 0error{ errortext = "Invalid parameter type" .} on each skill id line. From this and trial and error i was able to work out that the variable str is causing this error.

Note: some attribute id's have been changed for custom skills in the function GetattributeIdByskillId. So i think this could be the problem. As on a pol 95 this was the exact script from that package. Function for get attributeidbyskillid posted below:

Code: Select all

///////////////////
//  figures out the attribute associated with the given skillid
///////////////////

function GetAttributeIDBySkillID (skillid)
	if(typeof(skillid) := "Integer")
		return skillid;
	endif
	
	Case (skillid)
		SKILLID_ALCHEMY:
			return ATTRIBUTEID_ALCHEMY;
		SKILLID_ANATOMY:
			return ATTRIBUTEID_ANATOMY;
		SKILLID_ANIMALLORE:
			return ATTRIBUTEID_DRUIDRY;
		SKILLID_PARRY:
			return ATTRIBUTEID_PARRY;
		SKILLID_BLACKSMITHY:
			return ATTRIBUTEID_BLACKSMITHY;
		SKILLID_PEACEMAKING:
			return ATTRIBUTEID_PEACEMAKING;
		SKILLID_CAMPING:
			return ATTRIBUTEID_CAMPING;
		SKILLID_WOODWORKING:
			return ATTRIBUTEID_WOODWORKING;
		SKILLID_CARTOGRAPHY:
			return ATTRIBUTEID_CARTOGRAPHY;
		SKILLID_COOKING:
			return ATTRIBUTEID_COOKING;
		SKILLID_DETECTHIDDEN:
			return ATTRIBUTEID_DETECTHIDDEN;
		SKILLID_LEADERSHIP:
			return ATTRIBUTEID_LEADERSHIP;
		SKILLID_INVOCATION:
			return ATTRIBUTEID_INVOCATION;
		SKILLID_HEALING:
			return ATTRIBUTEID_HEALING;
		SKILLID_FISHING:
			return ATTRIBUTEID_ANIMALHARVESTING;
		SKILLID_HIDING:
			return ATTRIBUTEID_HIDING;
		SKILLID_PROVOCATION:
			return ATTRIBUTEID_PROVOCATION;
		SKILLID_INSCRIPTION:
			return ATTRIBUTEID_INSCRIPTION;
		SKILLID_LOCKPICKING:
			return ATTRIBUTEID_LOCKPICKING;
		SKILLID_MAGERY:
			return ATTRIBUTEID_MAGERY;
		SKILLID_MAGICRESISTANCE:
			return ATTRIBUTEID_MAGICRESISTANCE;
		SKILLID_TACTICS:
			return ATTRIBUTEID_TACTICS;
		SKILLID_MUSICIANSHIP:
			return ATTRIBUTEID_MUSICIANSHIP;
		SKILLID_POISONING:
			return ATTRIBUTEID_POISONING;
		SKILLID_ARCHERY:
			return ATTRIBUTEID_ARCHERY;
		SKILLID_NECROMANCY:
			return ATTRIBUTEID_NECROMANCY;
		SKILLID_STEALING:
			return ATTRIBUTEID_STEALING;
		SKILLID_TAILORING:
			return ATTRIBUTEID_TAILORING;
		SKILLID_TAMING:
			return ATTRIBUTEID_TAMING;
		SKILLID_TINKERING:
			return ATTRIBUTEID_TINKERING;
		SKILLID_TRACKING:
			return ATTRIBUTEID_TRACKING;
		SKILLID_SWORDSMANSHIP:
			return ATTRIBUTEID_SWORDSMANSHIP;
		SKILLID_MACEFIGHTING:
			return ATTRIBUTEID_MACEFIGHTING;
		SKILLID_FENCING:
			return ATTRIBUTEID_FENCING;
		SKILLID_WRESTLING:
			return ATTRIBUTEID_WRESTLING;
		SKILLID_LUMBERJACKING:
			return ATTRIBUTEID_PLANTHARVESTING;
		SKILLID_MINING:
			return ATTRIBUTEID_MINERALHARVESTING;
		SKILLID_MEDITATION:
			return ATTRIBUTEID_MEDITATION;
		SKILLID_STEALTH:
			return ATTRIBUTEID_STEALTH;
		SKILLID_VETERINARY:
			return ATTRIBUTEID_VETERINARY;
		SKILLID_BEGGING:
			return ATTRIBUTEID_CLERICY;




		//Unused skills
		SKILLID_ITEMID:
			return ATTRIBUTEID_ITEMID;
		SKILLID_ARMSLORE:
			return ATTRIBUTEID_ARMSLORE;
		SKILLID_BOWCRAFT:
			return ATTRIBUTEID_BOWCRAFT;
		SKILLID_FORENSICS:
			return ATTRIBUTEID_FORENSICS;
		SKILLID_HERDING:
			return ATTRIBUTEID_HERDING;
		SKILLID_SNOOPING:
			return ATTRIBUTEID_SNOOPING;
		SKILLID_TASTEID:
			return ATTRIBUTEID_TASTEID;
		SKILLID_REMOVETRAP:
			return ATTRIBUTEID_REMOVETRAP;
		default:
			return -1;
	endcase
endfunction
Eliath
New User
Posts: 14
Joined: Sun Aug 27, 2006 6:12 pm

Post by Eliath »

having serious problems with this, please help anyone?
User avatar
Tritan
Grandmaster Poster
Posts: 147
Joined: Sat Feb 04, 2006 8:17 am

Post by Tritan »

Sounds like the problem is with your attributes.inc file. You will need that entire include for this to work. I would try to put the original file back in place and start there again. Then make one change at a time to what you have now and see where it breaks, if it does at all.
User avatar
CWO
POL Expert
Posts: 1160
Joined: Sat Feb 04, 2006 5:49 pm

Post by CWO »

You changed around your attribute IDs... are they set to the correct values?

Basically the only thing in str that can return that error is the GetAttributeBaseValue which has 2 params... who, attribute
assuming who is a correct parameter, the attribute names are being returned wrong.
Post Reply