???
???
097 Distro is very limited. Anyone have the 095 Distro or 096 Distro with complete scripts so one such as myself can merge them to 097? Or does someone care to share an already merged server?
Otherwise I need to script every mobile, monster and system left out of the 097 Distro, that will only take me 3 months if I stay on the computer 24/7 right? lol
Otherwise I need to script every mobile, monster and system left out of the 097 Distro, that will only take me 3 months if I stay on the computer 24/7 right? lol
Re: ???
It's been since february 2008 for me
But look further in the distro097 it's awesome the work in it. I would say to simply add the things you want in distro097 from older distro... That's what I do system by system, item by item.
But look further in the distro097 it's awesome the work in it. I would say to simply add the things you want in distro097 from older distro... That's what I do system by system, item by item.
Re: ???
I have my old UO:T2A shard from 095/096 that had all the skills and whatnot. If you would like them (or any specific package from them, such as Taming) to convert to 097, I can post them here. And if would be willing to re-post the converted 097 versions here so we can put them into Distro, that'd be swell. 
Re: ???
Actually I'm having troubles with the tamed functions for pets you can have.. I can send only few commands like attack. So yeah would be great to share so I could take a look and see if I can do anything with it... I will officially release few things I've done since 5 months at the moment I get a connection at home :p
Re: ???
I have no problem copying scripts from 095 to 097, except, there is no place to download the 095 or 096 distros. So if someone would be kind enough to upload it somewhere, or if the devs realize people may need it and add it to the download section of this site, that'd be great.
I have looked at the script work in this distro, it appears to have some slack it doesn't need, thats all im at liberty to say.

I have looked at the script work in this distro, it appears to have some slack it doesn't need, thats all im at liberty to say.
Re: ???
Criticism is easy.kwandobe wrote:I have no problem copying scripts from 095 to 097, except, there is no place to download the 095 or 096 distros. So if someone would be kind enough to upload it somewhere, or if the devs realize people may need it and add it to the download section of this site, that'd be great.
I have looked at the script work in this distro, it appears to have some slack it doesn't need, thats all im at liberty to say.
Edwards: Here's my pkg/skills/taming package plus scripts/ai/tamed.src. I haven't touched it since the first release of 096, but I'm sure you won't have much trouble converting things. I look forward to seeing the 097 versions of this in the Distro! kwandobe, feel free to take a crack at them as well, if you need taming. If yours is better scripted than Edwards' conversion, I'll be happy to add it to Distro.
[Link to files:] http://forums.polserver.com/viewtopic.php?f=8&t=2479
Cheers.
Re: ???
I am a very busy man, but I will work on this when I get the chance. Currently I am converting taming.src, but I don't know if I will be able to finish it or start work on another .src in the package tonight.
I promise to keep it as original as possible, except I may create a configuration file toggle (1 enabled, 0 disabled) change to allow creatures to always be happy if the server user so wishes. What do you think?
I will let you know of my progress as much as I can!
I promise to keep it as original as possible, except I may create a configuration file toggle (1 enabled, 0 disabled) change to allow creatures to always be happy if the server user so wishes. What do you think?
I will let you know of my progress as much as I can!
Re: ???
I looked through the code shortly after I uploaded. Wow! It could sure use a thorough cleaning!kwandobe wrote:I am a very busy man, but I will work on this when I get the chance. Currently I am converting taming.src, but I don't know if I will be able to finish it or start work on another .src in the package tonight.
I promise to keep it as original as possible, except I may create a configuration file toggle (1 enabled, 0 disabled) change to allow creatures to always be happy if the server user so wishes. What do you think?
I will let you know of my progress as much as I can!
As far as adding optional features, I don't think anyone will try to stop you.
Looking forward to see your work. Cheers!
Re: ???
Hrmmm which file is SKILLID_TAMING defined? That is the only thing keeping taming.src from compiling.
For the GetEffectiveSkill(who, SKILLID_TAMING) func this person used I replace it with AP_GetSkill(who, SKILLID_TAMING), think that works just as well?
Update: Found it, its ANIMAL_TAMING in this distro.
its in attributes\include\attributeConstants.inc for anyone that needs to know.
For the GetEffectiveSkill(who, SKILLID_TAMING) func this person used I replace it with AP_GetSkill(who, SKILLID_TAMING), think that works just as well?
Update: Found it, its ANIMAL_TAMING in this distro.
its in attributes\include\attributeConstants.inc for anyone that needs to know.
Re: ???
SkillIDs are identified in scripts/include/client.inc I believe. But the new distro may not use SkillIDs. SkillIDs are numbers that need to be converted into attribute names (very old, outdated, and inefficient). Just pass what you would pass for taming in that situation (I haven't seen the distros recently so I'm not entirely sure what it will be looking for).
Re: ???
Like CWO said, Skill IDs are no longer used. You will want to pass a string rather than a number and the value for taming is AnimalTaming.
All attribute identifiers can be found in \pol\pkg\systemss\attributes\config\attributes.cfg
All attribute identifiers can be found in \pol\pkg\systemss\attributes\config\attributes.cfg
Re: ???
I posted my old Musicianship scripts as well. Compared to Taming, they're pretty simple, and look much cleaner.
http://forums.polserver.com/viewtopic.php?f=8&t=2483
http://forums.polserver.com/viewtopic.php?f=8&t=2483
Re: ???
Thanks Luth, I will convert musicianship as well. Tonight I don't have a chance of even breathing on a script, maybe tommorow night I will have a chance. I work in retail so my hours are crazy this week.
Thank you all for your help, thank you Yukiko, and thank you cwo.
Thank you all for your help, thank you Yukiko, and thank you cwo.
Re: ???
Yukiko wrote:Like CWO said, Skill IDs are no longer used. You will want to pass a string rather than a number and the value for taming is AnimalTaming.
All attribute identifiers can be found in \pol\pkg\systemss\attributes\config\attributes.cfg
If I include attributes.cfg and use "AnimalTaming", im passing an array, do I want to pass an array? Thats what this config file is made up of, arrays.
Update: I think what you mean is to just use a string like CheckSkill(who, "AnimalTaming", difficulty + 10, points) instead of including attributes.cfg and doing like so CheckSkill(who, AnimalTaming, difficulty + 10, points), am I catching your drift?
In that case im not passing an array. Sorry im a slow thinker tonight.
Re: ???
When I Use: CheckSkill(who, "AnimalTaming", difficulty + 10, points)
I get: error errortext = "Invalid parameter type. Expected param 1 as Integer. got String"
I guess CheckSkill still wants us to use the skill numbers? But you guys said they are outdated and we dont use them?
I get: error errortext = "Invalid parameter type. Expected param 1 as Integer. got String"
I guess CheckSkill still wants us to use the skill numbers? But you guys said they are outdated and we dont use them?
Re: ???
Correct. The inbuilt CheckSkill function still wants skillids.
Assuming you are writing for the 097 distro, then use SkillCheck instead of CheckSkill.
The older inbuilt CheckSkill function was in use in the older distros, but the 097 distro doesn't use it at all. It rewrote the function to use the skill names and can be used in the same way.
Assuming you are writing for the 097 distro, then use SkillCheck instead of CheckSkill.
The older inbuilt CheckSkill function was in use in the older distros, but the 097 distro doesn't use it at all. It rewrote the function to use the skill names and can be used in the same way.
Re: ???
Ok, heres animaltaming.src except theres no tamed.src yet so it doesn't set the new script on the horse. I even figured out how to get the animal to attack you if you anger it enough by using "brainAI:npcCommands" include.
I have no idea how to start writing tamed.src at the moment. I am trying to figure out exactly how the new brain system works. I am used to those old one file npc control scripts, but I want the new system implemented, especially because it means less coding and a cleaner script.
Hey if anyone wants to write tamed.src, I would be obliged! lol
I have no idea how to start writing tamed.src at the moment. I am trying to figure out exactly how the new brain system works. I am used to those old one file npc control scripts, but I want the new system implemented, especially because it means less coding and a cleaner script.
Hey if anyone wants to write tamed.src, I would be obliged! lol
Code: Select all
use cfgfile;
use util;
use uo;
use os;
use attributes;
include ":brainAI:eventid";
include ":brainAI:npcCommands";
include ":spawnSystem:spawnerUtil";
include ":attributes:attributes";
include ":attributes:skills";
include "include/client";
program tame(who)
if(who.dead)
SendSysMessage(who, "You cannot tame a creature in your condition.");
return;
endif
var conf := ReadConfigFile(":BrainAI:npcdesc");
EraseObjProperty(who, "IsMeditating");
SendSysMessage(who, "Which creature do you wish to tame?" );
var thecreature := Target(who);
if(!thecreature)
SendSysMessage(who, "cancelled.");
return;
endif
var creaturestr := GetAttribute( thecreature, "strength");
if(!CheckLineOfSight(who, thecreature))
SendSysMessage(who, "You are unable to see or reach that creature!");
return;
endif
if(Distance(who,thecreature) > 5)
SendSysMessage(who, "You are not close enough to tame that creature!");
return;
endif
var elem := FindConfigElem(conf, fix_template(thecreature.npctemplate));
if(!elem)
SendSysMessage(who, "You cannot tame this!");
return;
endif
var difficulty := cInt(GetConfigInt(elem, "TameSkill"));
if(!difficulty)
SendSysMessage(who, "This creature is unable to be tamed!");
return;
endif
if (thecreature.script == "tamed")
SendSysMessage(who, "This creature looks pretty tame already!");
return;
endif
var points := (difficulty * 2);
if(GetObjProperty(thecreature, "prevtamed"));
if(difficulty > 20)
difficulty := difficulty - 20;
else
difficulty := 0;
endif
if(points > 20)
points := points - 20;
else
points := 0;
endif
endif
var ownerarray := GetObjProperty(thecreature, "LastOwners");
if(!ownerarray)
ownerarray := {};
endif
if(who.serial in ownerarray)
points := 0;
difficulty := 0;
elseif (AP_GetSkill(who, "AnimalTaming") < (difficulty - 10))
SendSysMessage(who, "You have no chance of taming this creature!");
return;
endif
var amt := len(ownerarray);
var holder := {};
foreach thing in ownerarray
if((thing != who.serial) and (amt < 10))
holder.append(thing);
else
amt := amt - 1;
endif
endforeach
ownerarray := holder;
ownerarray.append(who.serial);
SetObjProperty(thecreature, "LastOwners", ownerarray);
if(points != 0)
points := points * 10;
endif
var thename := get_name(thecreature.name);
var critterhp := GetVital(thecreature, "Hits");
var counter := 0;
Detach();
sleep(1);
while(counter < 4)
if(who.dead)
break;
else
critterhp := GetVital(thecreature, "Hits");
case(counter)
0: PrintTextAbove(who, "What a nice " + thename + ".");
1: PrintTextAbove(who, "I've always wanted a " + thename + " like you.");
2: PrintTextAbove(who, thename + ", will you be my friend?");
3: PrintTextAbove(who, "I wont hurt you.");
endcase
counter := counter + 1;
sleep(4);
if(GetVital(thecreature, "Hits") < (critterhp / 2))
SendSysMessage(who,"This creature is too angry to continue taming");
return;
endif
if(Distance(who,thecreature) > 5)
SendSysMessage(who, "You are not close enough to continue taming this creature!");
return;
endif
endif
endwhile
if(who.dead)
SendSysMessage(who, "You cannot continue to tame a creature in your condition.");
return;
endif
if(thecreature.script == "tamed")
SendSysMessage(who, "That creature looks pretty tame already.");
return;
endif
if(SkillCheck(who, "AnimalTaming", difficulty + 10, points))
SendSysMessage(who, "You successfully tame the " + thename);
Run_Script_To_Completion(":mobiles:death:npcdeath", thecreature);
// thecreature.script := "tamed";
SetObjProperty(thecreature, "master", who.serial);
SetObjProperty(thecreature,"script",thecreature.script);
SetObjProperty(thecreature,"prevtamed",1);
SetObjProperty(thecreature,"happiness", 30);
RestartScript(thecreature);
else
var npccfgfile := ReadConfigFile(":BrainAI:npcdesc");
var orneriness := npccfgfile[thecreature.npctemplate].orneriness;
if(!orneriness)
orneriness := 0;
endif
orneriness := orneriness * 5;
if(((RandomInt(99) + 1) + orneriness) > AP_GetSkill(who, "AnimalTaming"))
if ( creaturestr > 400 )
SendSysMessage(who, "You seem to have upset the beast!");
AI_Attack(thecreature, who);
endif
else
SendSysMessage(who, "You failed to tame the creature.");
endif
endif
endprogram
function get_name(thename)
if (find(thename, "an ",1) == 1)
return thename[4,len(thename)];
elseif (find(thename, "a ",1) == 1)
return thename[3,len(thename)];
else
return thename;
endif
endfunction
function fix_template(template)
if (find(template, ":brainai:",1) == 1)
return template[10,len(template)];
endif
endfunction
Re: ???
I noticed that using the SkillCheck function I have been unable to gain any skill from using the skill. I guess I will have to write a chance and set the skill higher myself in my scripts then?OldnGrey wrote:Correct. The inbuilt CheckSkill function still wants skillids.
Assuming you are writing for the 097 distro, then use SkillCheck instead of CheckSkill.
The older inbuilt CheckSkill function was in use in the older distros, but the 097 distro doesn't use it at all. It rewrote the function to use the skill names and can be used in the same way.