Jump to content

Vach

Members
  • Posts

    326
  • Joined

  • Last visited

Everything posted by Vach

  1. I wanted to post back and let others know I solved this issue. If you would like to know instructions for your own purposes, feel free to post.
  2. HOLY REPLIES BATMAN...! Euphy: No Euphy, I use .gat. XD Dunno why... old habits die hard I guess. Like I want my scripts to be backwards "compatible" or some crap (in my mind...). Although a script I wrote requires .gat to be added... because checking the existing map name returns a value that has .gat attached. Wooo... should that be a bug? Thanks for the comments! The only part I still wanted to ask about to make sure I'm understanding is the use of .@j. And I understand the bit usage; but that basically means that there can't ever be more than 32 shops. =P I think that's okay though... lol. Also, clever use of loops and "!" there, with the bit, very cool. Anyway, for .@j, this: // Store shop number in an array. set .@j[getarraysize(.@j)], .@i+1; ... // Call shop based on menu option selected. // select(.@menu$)-1 : returns menu array element. // .@j[]-1 : array element in relation to .Shops$ array. // .Shops$[] : stores shop names. callshop .Shops$[.@j[select(.@menu$)-1]-1],1; Since you are taking -1 away from .@j when it is called, why must you add +1 to .@i in the loop? And how can getarraysize() return an array index that hasn't been made yet? I'm assuming it is used here to return a value equal to the loop so everything can be uniform. Wait, does it return the array size in +1 values? So an array with only a "0" index would be size 1? Then that makes perfect sense and is awesome. Otherwise, essentially what .@j is doing in the callshop line is pointing to the index of the appropriate shop name, since they don't change in order? The last loop in the function skips numbers if they are true. So .@j's job is to simply point to the appropriate string name of the shop. Do I have that right? Emistry: But how does the value of .@shop_list[0] being equal to or less than .@i determine the shop color? What if we want the first shop in the array to be red (AKA, Daggers)? Annie: Nope, still lost. XD Everyone Else: Thanks so much for all your comments and help! I'm glad everyone got so interested. =P
  3. Would you be willing to share what you currently have? I am needing a couple of those myself.
  4. Yea... I practically knew it was something I screwed up. Thanks!
  5. Those are the parts of code I mentioned I commented out, and I was still receiving renewal behavior. I'm guessing it wasn't compiling right if I wasn't receiving the changes. And those are the only files that would need to be changed to get old swall behavior?
  6. I want to re-enable the old pre-renewal safety wall math, where it is based off of skill level and hits instead of giving the wall HP. Does anyone know the magic trick to doing this without officially disabling renewal mode in the configuration .h files? I edited battle.c and skill.c, commenting out all the renewal code, but that didn't work. I had 15 tiny aggressive monsters attacking my safety wall and it still took forever to go down. Which section of the code am I missing?
  7. So this isn't a live update yet in the SVN?
  8. I'm waiting until the Code Revision Reversion goes into effect before I update again, I just wanted to let you know.
  9. OMMMMMMGGGGGGG BRAIN PASTE. Annie your script scares me, seems larger than the rest... but maybe it is more efficient and I just don't understand it. XD In an effort to further my scripting knowledge, I am going to ask some questions on the scripts that didn't melt my brain (don't hate me Annie!). Euphy: I think I understand what's going on here. You set the shops that are moved to the front in the switch in the beginning using a function, which essentially follows the same switch I had it just is reorganized and looks nicer. The function actually runs the NPC (text and menu, etc). The part where I get confused is the function definition. I understand the part where you dynamically create the menu text which will be used in the callshop select usage. And ".@j" is used to actually set the number used to call the shop (the order that the menu options are in numbers). Since, select returns a number the player picks. The part where I lose it is the second loop. That's a bit variable right, with bit shifting (which we have discussion previously)? In hindsight I didn't even know "getargcount()" existed, which will help me improve a couple of my more dynamic scripts. So the second loop sets the rest of the .@menu$ variable so that all the other shops exist in the menu... but I can't seem to understand the dynamics of what's going on in that if statement. You're checking if the previous bit variable is true for each initial "slot" in the menu? Emistry: This looks like it's missing some of the class checks (Jobs), but I think I am meant to edit it after I understand it? So does this essentially repeat the method I was using by creating the arrays ahead of time, but in much more efficient fashion? After that I get confused. So the loop creates the menu variable for use with select(), but it's checking whether the shop name is red or blue based on the value of .@shop_list[0]? Only the item in index 0? What is the significance of index zero in this case? And the -1 to the .@shop_list variable at the end of the 'set' is because .@i is set to 1 initially, correct? Essentially, .@shop_name$ helps create the menu "list" and is then used to dynamically call the right shop with callshop, and we create a list of items that matches .@shop_list to .@menu$. Or more specifically the other way around. I'm just not understanding how that one loop determines which way to color the menu variable. I think I understand how the correct shop is called, however. Those variables never change.
  10. Hey everyone. I wrote this shop script to merge all my weapon shops into one NPC and have that NPC make a dynamic menu that changes the color and order of the menu options based on your class. However, due to my knowledge of arrays and NPC menu structure... the script became large for something so simple. So I wanted to post it here and see if anyone knew a way of simplifying this: /* Dynamic Weapon Shop NPC // Scripted by Vach // ==================================== This script checks the players class and then opens a list of shops with the higher shops on the list being applicable to their class. Players can still access the other shops, to buy weapons for friends or just look around. // ======= LOG ======================== 11/03/2012 - Script Creation 12/03/2012 - Fixed some errors and made the interface cleaner */ prt_in.gat,172,140,3 script Weapons Shop 951,{ // Reference material //set .@ShopTag[1],"Daggers"; //set .@ShopTag[2],"Swords"; //set .@ShopTag[3],"Spears"; //set .@ShopTag[4],"Axes"; //set .@ShopTag[5],"Maces"; //set .@ShopTag[6],"Wands"; //set .@ShopTag[7],"Bows"; //set .@ShopTag[8],"Knuckles"; //set .@ShopTag[9],"Instruments"; //set .@ShopTag[10],"Whips"; //set .@ShopTag[11],"Books"; //set .@ShopTag[12],"Guns"; //set .@ShopTag[13],"Huuma and Kunai"; //set .@ShopTag[14],"Katars"; //setarray .@ShopTag$[1],"Daggers","Swords","Spears","Axes","Maces","Wands","Bows","Knuckles","Instruments","Whips","Books","Guns","Huuma and Kunai","Katars"; //setarray .@Shops$[1],"( ^0000FFDaggers^000000 )","( ^0000FFSwords^000000 )","( ^0000FFSpears^000000 )","( ^0000FFAxes^000000 )","( ^0000FFMaces^000000 )","( ^0000FFWands^000000 )","( ^0000FFBows^000000 )","( ^0000FFKnuckles^000000 )","( ^0000FFInstruments^000000 )","( ^0000FFWhips^000000 )","( ^0000FFBooks^000000 )","( ^0000FFGuns^000000 )","( ^0000FFHuuma and Kunai^000000 )","( ^0000FFKatars^000000 )"; //set .@MaxShops,14; // Total Array size (shops) // ^0000FF - Blue // ^FF0000 - Red switch (BaseClass) { case Job_Novice: setarray .@ShopTag$[1],"Daggers","Swords","Spears","Axes","Maces","Wands","Bows","Knuckles","Instruments","Whips","Books","Guns","Huuma and Kunai","Katars"; setarray .@Shops$[1],"( ^FF0000Daggers^000000 )","( ^FF0000Swords^000000 )","( ^0000FFSpears^000000 )","( ^0000FFAxes^000000 )","( ^0000FFMaces^000000 )","( ^0000FFWands^000000 )","( ^0000FFBows^000000 )","( ^0000FFKnuckles^000000 )","( ^0000FFInstruments^000000 )","( ^0000FFWhips^000000 )","( ^0000FFBooks^000000 )","( ^0000FFGuns^000000 )","( ^0000FFHuuma and Kunai^000000 )","( ^0000FFKatars^000000 )"; break; case Job_Swordman: setarray .@ShopTag$[1],"Swords","Spears","Daggers","Axes","Maces","Wands","Bows","Knuckles","Instruments","Whips","Books","Guns","Huuma and Kunai","Katars"; setarray .@Shops$[1],"( ^FF0000Swords^000000 )","( ^FF0000Spears^000000 )","( ^0000FFDaggers^000000 )","( ^0000FFAxes^000000 )","( ^0000FFMaces^000000 )","( ^0000FFWands^000000 )","( ^0000FFBows^000000 )","( ^0000FFKnuckles^000000 )","( ^0000FFInstruments^000000 )","( ^0000FFWhips^000000 )","( ^0000FFBooks^000000 )","( ^0000FFGuns^000000 )","( ^0000FFHuuma and Kunai^000000 )","( ^0000FFKatars^000000 )"; break; case Job_Mage: setarray .@ShopTag$[1],"Wands","Daggers","Swords","Spears","Axes","Maces","Bows","Knuckles","Instruments","Whips","Books","Guns","Huuma and Kunai","Katars"; setarray .@Shops$[1],"( ^FF0000Wands^000000 )","( ^0000FFDaggers^000000 )","( ^0000FFSwords^000000 )","( ^0000FFSpears^000000 )","( ^0000FFAxes^000000 )","( ^0000FFMaces^000000 )","( ^0000FFBows^000000 )","( ^0000FFKnuckles^000000 )","( ^0000FFInstruments^000000 )","( ^0000FFWhips^000000 )","( ^0000FFBooks^000000 )","( ^0000FFGuns^000000 )","( ^0000FFHuuma and Kunai^000000 )","( ^0000FFKatars^000000 )"; break; case Job_Archer: setarray .@ShopTag$[1],"Bows","Daggers","Swords","Spears","Axes","Maces","Wands","Knuckles","Instruments","Whips","Books","Guns","Huuma and Kunai","Katars"; setarray .@Shops$[1],"( ^FF0000Bows^000000 )","( ^0000FFDaggers^000000 )","( ^0000FFSwords^000000 )","( ^0000FFSpears^000000 )","( ^0000FFAxes^000000 )","( ^0000FFMaces^000000 )","( ^0000FFWands^000000 )","( ^0000FFKnuckles^000000 )","( ^0000FFInstruments^000000 )","( ^0000FFWhips^000000 )","( ^0000FFBooks^000000 )","( ^0000FFGuns^000000 )","( ^0000FFHuuma and Kunai^000000 )","( ^0000FFKatars^000000 )"; break; case Job_Acolyte: setarray .@ShopTag$[1],"Maces","Wands","Daggers","Swords","Spears","Axes","Bows","Knuckles","Instruments","Whips","Books","Guns","Huuma and Kunai","Katars"; setarray .@Shops$[1],"( ^FF0000Maces^000000 )","( ^FF0000Wands^000000 )","( ^0000FFDaggers^000000 )","( ^0000FFSwords^000000 )","( ^0000FFSpears^000000 )","( ^0000FFAxes^000000 )","( ^0000FFBows^000000 )","( ^0000FFKnuckles^000000 )","( ^0000FFInstruments^000000 )","( ^0000FFWhips^000000 )","( ^0000FFBooks^000000 )","( ^0000FFGuns^000000 )","( ^0000FFHuuma and Kunai^000000 )","( ^0000FFKatars^000000 )"; break; case Job_Merchant: setarray .@ShopTag$[1],"Axes","Daggers","Maces","Swords","Spears","Wands","Bows","Knuckles","Instruments","Whips","Books","Guns","Huuma and Kunai","Katars"; setarray .@Shops$[1],"( ^FF0000Axes^000000 )","( ^FF0000Daggers^000000 )","( ^FF0000Maces^000000 )","( ^FF0000Swords^000000 )","( ^0000FFSpears^000000 )","( ^0000FFWands^000000 )","( ^0000FFBows^000000 )","( ^0000FFKnuckles^000000 )","( ^0000FFInstruments^000000 )","( ^0000FFWhips^000000 )","( ^0000FFBooks^000000 )","( ^0000FFGuns^000000 )","( ^0000FFHuuma and Kunai^000000 )","( ^0000FFKatars^000000 )"; break; case Job_Thief: setarray .@ShopTag$[1],"Daggers","Bows","Swords","Spears","Axes","Maces","Wands","Knuckles","Instruments","Whips","Books","Guns","Huuma and Kunai","Katars"; setarray .@Shops$[1],"( ^FF0000Daggers^000000 )","( ^FF0000Bows^000000 )","( ^0000FFSwords^000000 )","( ^0000FFSpears^000000 )","( ^0000FFAxes^000000 )","( ^0000FFMaces^000000 )","( ^0000FFWands^000000 )","( ^0000FFKnuckles^000000 )","( ^0000FFInstruments^000000 )","( ^0000FFWhips^000000 )","( ^0000FFBooks^000000 )","( ^0000FFGuns^000000 )","( ^0000FFHuuma and Kunai^000000 )","( ^0000FFKatars^000000 )"; break; default: // Set default to avoid errors setarray .@ShopTag$[1],"Daggers","Swords","Spears","Axes","Maces","Wands","Bows","Knuckles","Instruments","Whips","Books","Guns","Huuma and Kunai","Katars"; setarray .@Shops$[1],"( ^0000FFDaggers^000000 )","( ^0000FFSwords^000000 )","( ^0000FFSpears^000000 )","( ^0000FFAxes^000000 )","( ^0000FFMaces^000000 )","( ^0000FFWands^000000 )","( ^0000FFBows^000000 )","( ^0000FFKnuckles^000000 )","( ^0000FFInstruments^000000 )","( ^0000FFWhips^000000 )","( ^0000FFBooks^000000 )","( ^0000FFGuns^000000 )","( ^0000FFHuuma and Kunai^000000 )","( ^0000FFKatars^000000 )"; break; } // Override original shops if any of these are "True" switch (BaseJob) { case Job_Priest: setarray .@ShopTag$[1],"Maces","Wands","Books","Knuckles","Daggers","Swords","Spears","Axes","Bows","Instruments","Whips","Guns","Huuma and Kunai","Katars"; setarray .@Shops$[1],"( ^FF0000Maces^000000 )","( ^FF0000Wands^000000 )","( ^FF0000Books^000000 )","( ^FF0000Knuckles^000000 )","( ^0000FFDaggers^000000 )","( ^0000FFSwords^000000 )","( ^0000FFSpears^000000 )","( ^0000FFAxes^000000 )","( ^0000FFBows^000000 )","( ^0000FFInstruments^000000 )","( ^0000FFWhips^000000 )","( ^0000FFGuns^000000 )","( ^0000FFHuuma and Kunai^000000 )","( ^0000FFKatars^000000 )"; break; case Job_Assassin: setarray .@ShopTag$[1],"Daggers","Katars","Swords","Spears","Axes","Maces","Wands","Bows","Knuckles","Instruments","Whips","Books","Guns","Huuma and Kunai"; setarray .@Shops$[1],"( ^FF0000Daggers^000000 )","( ^FF0000Katars^000000 )","( ^FF0000Swords^000000 )","( ^0000FFSpears^000000 )","( ^0000FFAxes^000000 )","( ^0000FFMaces^000000 )","( ^0000FFWands^000000 )","( ^0000FFBows^000000 )","( ^0000FFKnuckles^000000 )","( ^0000FFInstruments^000000 )","( ^0000FFWhips^000000 )","( ^0000FFBooks^000000 )","( ^0000FFGuns^000000 )","( ^0000FFHuuma and Kunai^000000 )"; break; case Job_Monk: setarray .@ShopTag$[1],"Maces","Knuckles","Daggers","Swords","Spears","Axes","Wands","Bows","Instruments","Whips","Books","Guns","Huuma and Kunai","Katars"; setarray .@Shops$[1],"( ^FF0000Maces^000000 )","( ^FF0000Knuckles^000000 )","( ^0000FFDaggers^000000 )","( ^0000FFSwords^000000 )","( ^0000FFSpears^000000 )","( ^0000FFAxes^000000 )","( ^0000FFWands^000000 )","( ^0000FFBows^000000 )","( ^0000FFInstruments^000000 )","( ^0000FFWhips^000000 )","( ^0000FFBooks^000000 )","( ^0000FFGuns^000000 )","( ^0000FFHuuma and Kunai^000000 )","( ^0000FFKatars^000000 )"; break; case Job_Sage: setarray .@ShopTag$[1],"Books","Wands","Daggers","Swords","Spears","Axes","Maces","Bows","Knuckles","Instruments","Whips","Guns","Huuma and Kunai","Katars"; setarray .@Shops$[1],"( ^FF0000Wands^000000 )","( ^FF0000Books^000000 )","( ^0000FFDaggers^000000 )","( ^0000FFSwords^000000 )","( ^0000FFSpears^000000 )","( ^0000FFAxes^000000 )","( ^0000FFMaces^000000 )","( ^0000FFBows^000000 )","( ^0000FFKnuckles^000000 )","( ^0000FFInstruments^000000 )","( ^0000FFWhips^000000 )","( ^0000FFGuns^000000 )","( ^0000FFHuuma and Kunai^000000 )","( ^0000FFKatars^000000 )"; break; case Job_Rogue: setarray .@ShopTag$[1],"Daggers","Swords","Bows","Spears","Axes","Maces","Wands","Knuckles","Instruments","Whips","Books","Guns","Huuma and Kunai","Katars"; setarray .@Shops$[1],"( ^FF0000Daggers^000000 )","( ^FF0000Swords^000000 )","( ^FF0000Bows^000000 )","( ^0000FFSpears^000000 )","( ^0000FFAxes^000000 )","( ^0000FFMaces^000000 )","( ^0000FFWands^000000 )","( ^0000FFKnuckles^000000 )","( ^0000FFInstruments^000000 )","( ^0000FFWhips^000000 )","( ^0000FFBooks^000000 )","( ^0000FFGuns^000000 )","( ^0000FFHuuma and Kunai^000000 )","( ^0000FFKatars^000000 )"; break; case Job_Bard: setarray .@ShopTag$[1],"Bows","Instruments","Daggers","Swords","Spears","Axes","Maces","Wands","Knuckles","Whips","Books","Guns","Huuma and Kunai","Katars"; setarray .@Shops$[1],"( ^FF0000Bows^000000 )","( ^FF0000Instruments^000000 )","( ^FF0000Daggers^000000 )","( ^0000FFSwords^000000 )","( ^0000FFSpears^000000 )","( ^0000FFAxes^000000 )","( ^0000FFMaces^000000 )","( ^0000FFWands^000000 )","( ^0000FFKnuckles^000000 )","( ^0000FFWhips^000000 )","( ^0000FFBooks^000000 )","( ^0000FFGuns^000000 )","( ^0000FFHuuma and Kunai^000000 )","( ^0000FFKatars^000000 )"; break; case Job_Dancer: setarray .@ShopTag$[1],"Bows","Whips","Daggers","Swords","Spears","Axes","Maces","Wands","Knuckles","Instruments","Books","Guns","Huuma and Kunai","Katars"; setarray .@Shops$[1],"( ^FF0000Bows^000000 )","( ^FF0000Whips^000000 )","( ^FF0000Daggers^000000 )","( ^0000FFSwords^000000 )","( ^0000FFSpears^000000 )","( ^0000FFAxes^000000 )","( ^0000FFMaces^000000 )","( ^0000FFWands^000000 )","( ^0000FFKnuckles^000000 )","( ^0000FFInstruments^000000 )","( ^0000FFBooks^000000 )","( ^0000FFGuns^000000 )","( ^0000FFHuuma and Kunai^000000 )","( ^0000FFKatars^000000 )"; break; case Job_Gunslinger: setarray .@ShopTag$[1],"Guns","Daggers","Swords","Spears","Axes","Maces","Wands","Bows","Knuckles","Instruments","Whips","Books","Huuma and Kunai","Katars"; setarray .@Shops$[1],"( ^FF0000Guns^000000 )","( ^0000FFDaggers^000000 )","( ^0000FFSwords^000000 )","( ^0000FFSpears^000000 )","( ^0000FFAxes^000000 )","( ^0000FFMaces^000000 )","( ^0000FFWands^000000 )","( ^0000FFBows^000000 )","( ^0000FFKnuckles^000000 )","( ^0000FFInstruments^000000 )","( ^0000FFWhips^000000 )","( ^0000FFBooks^000000 )","( ^0000FFHuuma and Kunai^000000 )","( ^0000FFKatars^000000 )"; break; case Job_Ninja: setarray .@ShopTag$[1],"Huuma and Kunai","Daggers","Swords","Spears","Axes","Maces","Wands","Bows","Knuckles","Instruments","Whips","Books","Guns","Katars"; setarray .@Shops$[1],"( ^FF0000Huuma and Kunai^000000 )","( ^0000FFDaggers^000000 )","( ^0000FFSwords^000000 )","( ^0000FFSpears^000000 )","( ^0000FFAxes^000000 )","( ^0000FFMaces^000000 )","( ^0000FFWands^000000 )","( ^0000FFBows^000000 )","( ^0000FFKnuckles^000000 )","( ^0000FFInstruments^000000 )","( ^0000FFWhips^000000 )","( ^0000FFBooks^000000 )","( ^0000FFGuns^000000 )","( ^0000FFKatars^000000 )"; break; case Job_Taekwon: // Taekwon is defaulted just in case. setarray .@ShopTag$[1],"Daggers","Swords","Spears","Axes","Maces","Wands","Bows","Knuckles","Instruments","Whips","Books","Guns","Huuma and Kunai","Katars"; setarray .@Shops$[1],"( ^0000FFDaggers^000000 )","( ^0000FFSwords^000000 )","( ^0000FFSpears^000000 )","( ^0000FFAxes^000000 )","( ^0000FFMaces^000000 )","( ^0000FFWands^000000 )","( ^0000FFBows^000000 )","( ^0000FFKnuckles^000000 )","( ^0000FFInstruments^000000 )","( ^0000FFWhips^000000 )","( ^0000FFBooks^000000 )","( ^0000FFGuns^000000 )","( ^0000FFHuuma and Kunai^000000 )","( ^0000FFKatars^000000 )"; break; default: // Do nothing break; } mes "[ ^0000FFWeapon Shop^000000 ]"; mes "Please choose your desired shop."; set .@menu,select(.@Shops$[1],.@Shops$[2],.@Shops$[3],.@Shops$[4],.@Shops$[5],.@Shops$[6],.@Shops$[7],.@Shops$[8],.@Shops$[9],.@Shops$[10],.@Shops$[11],.@Shops$[12],.@Shops$[13],.@Shops$[14]); callshop .@ShopTag$[.@menu],1; close; } - shop Daggers -1,1203:-1,1201:-1,1202:-1,1206:-1,1204:-1,1205:-1,1209:-1,1207:-1,1208:-1,1212:-1,1210:-1,1211:-1,1215:-1,1213:-1,1214:-1,1218:-1,1216:-1,1217:-1,1221:-1,1219:-1,1220:-1,1222:-1,1226:-1,1245:-1,1246:-1,1247:-1,1248:-1,1249:-1,13000:-1,13003:-1,13004:-1 - shop Swords -1,1103:-1,1101:-1,1102:-1,1106:-1,1104:-1,1105:-1,1109:-1,1107:-1,1108:-1,1112:-1,1110:-1,1111:-1,1113:-1,1114:-1,1121:-1,1119:-1,1120:-1,1122:-1,1125:-1,1123:-1,1128:-1,1126:-1,1127:-1,1129:-1,1149:-1,1146:-1,1147:-1,1118:-1,1116:-1,1117:-1,1153:-1,1151:-1,1152:-1,1156:-1,1154:-1,1155:-1,1159:-1,1157:-1,1158:-1,1160:-1,1162:-1,1163:-1,31172:-1,1172:-1 - shop Spears -1,1403:-1,1401:-1,1402:-1,1406:-1,1404:-1,1405:-1,1409:-1,1407:-1,1408:-1,1411:-1,1453:-1,1451:-1,1452:-1,1456:-1,1454:-1,1455:-1,1459:-1,1457:-1,1458:-1,1462:-1,1460:-1,1461:-1,1465:-1,1463:-1,1464:-1 - shop Axes -1,1303:-1,1301:-1,1302:-1,1353:-1,1351:-1,1352:-1,1356:-1,1354:-1,1355:-1,1359:-1,1357:-1,1358:-1,1362:-1,1360:-1,1361:-1 - shop Maces -1,1503:-1,1501:-1,1502:-1,1506:-1,1504:-1,1505:-1,1509:-1,1507:-1,1508:-1,1512:-1,1510:-1,1511:-1,1519:-1,1520:-1,1521:-1,1513:-1,1514:-1,1515:-1,1516:-1,1517:-1,1518:-1,1522:-1,1532:-1 - shop Wands -1,1603:-1,1601:-1,1602:-1,1606:-1,1604:-1,1605:-1,1609:-1,1607:-1,1608:-1,1612:-1,1610:-1,1611:-1,1617:-1,1618:-1,1619:-1,1620:-1 - shop Bows -1,1703:-1,1701:-1,1702:-1,1706:-1,1704:-1,1705:-1,1709:-1,1707:-1,1708:-1,1712:-1,1710:-1,1711:-1,1713:-1,1715:-1,1714:-1,1716:-1,1726:-1,1721:-1 - shop Knuckles -1,1801:-1,1802:-1,1803:-1,1804:-1,1805:-1,1806:-1,1807:-1,1808:-1,1809:-1,1810:-1,1811:-1,1812:-1 - shop Instruments -1,1901:-1,1902:-1,1903:-1,1904:-1,1905:-1,1906:-1,1907:-1,1908:-1,1909:-1,1910:-1,1921:-1,1911:-1,1912:-1,1913:-1 - shop Whips -1,1950:-1,1951:-1,1952:-1,1953:-1,1954:-1,1955:-1,1956:-1,1957:-1,1958:-1,1959:-1,1960:-1,1961:-1,1963:-1 - shop Books -1,1550:-1,1551:-1,1552:-1,1553:-1,1568:-1,1554:-1,1569:-1,1570:-1,1556:-1,1571:-1,1557:-1,1578:-1 - shop Guns -1,13102:-1,13103:-1,13150:-1,13151:-1,13152:-1,13163:-1,13164:-1,13165:-1,13166:-1,13154:-1,13155:-1,13168:-1,13169:-1 - shop Huuma and Kunai -1,13010:-1,13011:-1,13007:-1,13008:-1,13012:-1,13013:-1,13006:-1,13300:-1,13301:-1,13302:-1,13303:-1,13311:-1,13313:-1,13314:-1,13315:-1,13312:-1 - shop Katars -1,1250:-1,1251:-1,1252:-1,1253:-1,1254:-1,1255:-1 One alternative would be make the label name be the shop name that is called... but then I lose the colors and the formatting unless I make some uniquely clever string scrubber to filter out the color and everything. Essentially, just not having to call an enormous switch in the beginning would be good. =P
  11. Keep an eye on that other thread, it hasn't been updated or fixed yet.
  12. I'VE BEEN LOOKING FOR THAT!!! AHHHHHH!!! -smacks forehead- More to your point... I scoured through party.conf to try and find it!
  13. Use a sourceforge SVN library. Search the forums, there are a few topics about it.
  14. I don't agree with this at all. The main reason for changing it to the spaces was to make the code look uniform in specific editors... but the fact of the matter is - the code looked the same in a particular editor after it was initially made for each person that looks at it. Therefore, people who use MSVS are used to the visual studio look, regardless of tabs, and those who are doing it in Linux see the same thing regardless... and so on and so forth. It only really comes into effect when you are comparing your work with someone else's on a different platform... which I've never understood was that huge of a concern. Like, why make more work for everyone just to make the code look "prettier"? That being said, I agree with Brian's original assessment. The spaces are more problems than they are worth in addition to breaking diffs. This includes file size and association with programs that default to tabs and the other stuff he said much better in his post. XD
  15. Yes, I am in agreement with Brian and others voting for tabs. At this time, changing it to spaces inconsistently breaks many source modifications that people have already put in... even minor ones. For example, I put a single line source modification, with 1 number changed (200 instead of 2000)... and it broke in this update. The entire file was conflicted because Tortoise did not recognize the line anymore. It also makes any files that I have source modded in the past, even just adding new blocks that don't even affect the source, also cause conflicts. For now I'm not going to update until I know for sure that this is what we are going with; but me personally... please bring the tabs back.
  16. There was a huge change a couple revisions ago, I had over 10 conflictions... Some of which weren't even important or nothing more than white space. I haven't had issues with this patch since then... But I did a ton of the updating manually. I'll take a look more closely this evening and let you know what I find.
  17. EDIT: There is actually something I would need this for soon, actually, that I discovered; making consensus on this modification more urgent for me. Essentially, I need to check if a player is in combat and prevent them from using certain items until they are not in combat. Anyone have any ideas? UPDATE: I found this in clif.c void clif_parse_QuitGame(int fd, struct map_session_data *sd) { /* Rovert's prevent logout option fixed [Valaris] */ if( !sd->sc.data[sC_CLOAKING] && !sd->sc.data[sC_HIDING] && !sd->sc.data[sC_CHASEWALK] && !sd->sc.data[sC_CLOAKINGEXCEED] && (!battle_config.prevent_logout || DIFF_TICK(gettick(), sd->canlog_tick) > battle_config.prevent_logout) ) { set_eof(fd); clif_disconnect_ack(sd, 0); } else { clif_disconnect_ack(sd, 1); } } Based off my original theory... I'm assuming something in there is checking if combat was more recent (or maybe I'm in the wrong function); but I am not experienced enough with the source code yet and don't want to make an assumption.
  18. No, you need to install the differential (source mod), compile, and then configure the database file as instructed in the first post. I wouldn't necessarily consider this intermediate, but if you're not familiar with source modifications I wouldn't use it.
  19. An interesting and useful check. I can imagine using this myself for something different, but just as cool. Although I don't know where it is in the source, a good place to put the check would be in the same check that doesn't let you disconnect unless you don't get attacked or attack for 10 seconds. Could be simple I think? I'm not perfectly sure, though.
  20. Sweet, this is basically a replacement for any other custom weapon modifications (such as replacing existing weapons). And you modified the functions or just fixed them? I wonder if these LUAs would work with 06-18.
  21. Change the line in the skill_db to correspond with targeting enemies instead of yourself. For example, with magnum break: 7,0,6,4,3,0x2,2,50,1,no,0,0,0,weapon,2, SM_MAGNUM,Magnum Break Change column 4, "inf", to 1 (Enemy). So it looks like this instead: 7,0,6,1,3,0x2,2,50,1,no,0,0,0,weapon,2, SM_MAGNUM,Magnum Break
  22. Ah, but otherwise this is exactly what was in the data.grf? That's really interesting, as it provides a unique way to control which sprites are displayed. Incidentally I have no idea what sprites those numbers are pointing to...
  23. Thanks! I will test it now. This is really interesting. From what I can see, it is displaying the same weapon sprites that I could see before... which I guess is the extent of those "alternative" sprites. Strange though, I definitely remember there being more Katars... but at least now I know why I couldn't see them before - the weapon tables are not up to date or at least accurate. I bet this file should be much longer. I'm thinking that the community should start supporting this, because it would make adding custom weapons similar to how they could be added on Xray. You could add your own View ID and assign it a sprite value that is attached to the Item ID. Anyone else seeing that in these files? I'm assuming it would be a massive chore to get this properly update though, so that absolutely every view ID matches the source files. Is this a direct decompile? Or have you changed it?
  24. I would love updated decompiled shadow tables... Or luas in general.
  25. Oh yea of course, that's already been done. It is selectable if the skill is acquired normally, but not with items.
×
×
  • Create New...