PDA

View Full Version : #scribespells <level>


kathgar
07-03-2002, 11:37 AM
}
else if (strcasecmp(sep.arg[0], "#scribespells")==0 ) {
if(sep.arg[1][0]==0) {
Message(0,"FORMAT: #scribespells &lt;level>");
}
if((sep.arg[1][0] &lt; 1) || (sep.arg[1][0] > 60))
Message(0,"ERROR: Enter a level between 1 and 60 inclusive.");
else {
Message(0, "Scribing spells to spellbook");
cout &lt;&lt; "Scribing spells " &lt;&lt; endl;
int bookcount =0;
for (int i = 0; i &lt; SPDAT_RECORDS; i++)
{
if (spells[i].classes[(pp.class_ - 1)] &lt;= sep.arg[1][0])
{
if(bookcount &lt;=255)
{
if(spells[1].name[0]!=' ')
{pp.spell_book[bookcount]=i;
bookcount++;}
}
}else break;
}
}
}


put that in zone's client.cpp in the commands.. like line 1697

very horrible way to do it.. but adding spelllists for every class world take a lot of mem.. on every zone server..can't make files when zone reads, because then each zone does it..

Ariak
07-04-2002, 09:25 AM
Good idea!

kathgar
07-04-2002, 03:16 PM
It works, mostly

It puts all of you spells up to 50.. with a few UNKNOWN SPELLS(i think I got rid of them).. but then there are many spells such as Manabolt.. Mechanic Dislocation I-X.. that I cannot find anywhere in the spdat.eff file.. also.. some others spells get thrown in.. such as Thunderclap.. which is a wizard spell.. to a shaman.. obviously, there is more than just spdat.eff at work here.. need more research


ED
the client is using spells_en.txt for local display.. so spells that aren't in spdat.eff.. but are blank or otherwise invalid, will be displayed differently to the client.. which uses spells_en.. interesting..

Zio
07-23-2002, 05:54 PM
Nice. Will make alot of people happy when they don't get castspell and have to summon all their spells.

Ariak
07-24-2002, 07:37 AM
Summoning + Scribing spells up to 60 is ridiculous! It can take an hour. #1 reason I DO NOT play casters, at all.

Hope this will be implemented soon!

Zio
07-27-2002, 11:54 PM
yayay. use this on FH server.

All i can say is...

PWN :D