Jump to content

Z3R0

Members
  • Posts

    615
  • Joined

  • Last visited

  • Days Won

    11

Everything posted by Z3R0

  1. // The purpose of this thread is simply to state a little information about yourselves so that everyone may know just a little bit more about "who" the "you" is... Name: Roman Lopez IV Nickname: Z3R0 Role: Scripting Moderator Age: 27 Location: Austin, TX, USA Bio: I've been scripting and a part of the eA community for ~6 years... I've had my "away" time every now and then, when I feel I need a break, however, no matter what I do, no matter where I go, all I can think to myself is "heh, that would make a cool npc"... Now that things have gotten under control with new moderation and administrators that do not leave, my plans on leaving have been nullified to staying on full time. Family: I am engaged to a wonder woman (see my siggy for pics), I have a beautiful baby girl, 2 1/2 years old... Although she may not be my blood, she has my heart. Occupation: I'm the Systems Administrator for my Family's Financial Business. Favorite Quote: "The Right Thing, at the Wrong Time, is the Wrong Thing" - Joshua Harris
  2. Z3R0

    Rawr!

    Actually, this new board did not "really" start until about November 14th... The board was created much earlier than the public release announcement of the plans to change
  3. I would totally re do this... you are only spawning mvp's in 1 map... thus you don't need to run the OnNPCKillEvent everytime something is dead and determine the map, you just need to add a trigger... // Assuming you want to spawn ALL these NPC's in prontera... (crazy btw) // If Not, I've started a .maps$ array, that will house every map name the npc release each corresponding MVP ID - script mvp spawned -1,{ OnInit: // Set Spawn Map set .map$, "prontera"; //setarray .maps$[0],"prontera","geffen",//etc setarray .mvpID[0],1511,1674,1785,1039,1874,1272,1719,1046,1389,1112,1115,1658,1957,1418,1871,1252,1786,1086,1885,1649,1651,1832,1492,1734,1251,1779,1688,1646,1373,1147,1059,1150,1956,1087,1190,1038,1157,1159,1052,1623,1917,1650,1583,1389,1312,1751,1685,1630,1648; // If using the array .maps$ change hte below .map$ to .maps$[.@i] for(set .i,0; .i<getarraysize(.mvpID); set .i,.i+1) { monster .map$,0,0,""+getmonsterinfo(.mvpID[.i],0)+"",.mvpID[.i],1,"spawned::OnMVPKill"; } end; OnMVPKill: // Uncomment if using the multiple map technique // getmapxy(.@map$, .@x, .@y, 0); // If Using the multiple map (change the below .map$) to .@map$ monster .map$,0,0,""+getmonsterinfo(.mvpID[@i],0)+"",.mvpID[@i],1; end; }
  4. ah good find! My bad... I'm in the middle of two projects... (NPC Script Requests + PHP Project) so they tend to blend at times... lol thanks for the find Updated // I Was just talking with Brian about this last night actually... // Create the Category Array setarray .@main_menu$[0],"Sword","Bow","Dagger"; // Item ID's (The Number 0 is the Index of the Category "Sword") setarray .@equip_0[0],1,2,3,4,5,6,7,8,9; // Item ID's (The Number 1 is the Index of the Category "Bow") setarray .@equip_1[0],1,2,3,4,5,6,7,8,9; // Item ID's (The Number 2 is the Index of the Category "Dagger") setarray .@equip_2[0],1,2,3,4,5,6,7,8,9; // Create Item Hunt Group Arrays (By Category) // For adding Zeny, use Item ID 0, and in Amount, use Amount of Zeny setarray .@items_0[0],0,502,503; setarray .@items_amount_0[0],1000,2,3; setarray .@items_1[0],501,502,503; setarray .@items_amount_1[0],1,2,3; setarray .@items_2[0],501,502,503; setarray .@items_amount_2[0],1,2,3; // Display Categories to Player and Store Answer as Index (-1 Stores as Array Index) set .@category, select(.@main_menu$) - 1; // Now Build the Menu Based on This Selection for (set .@a, 0; .@a < getarraysize(getd(".@equip_" + .@category)); set .@a, .@a + 1) { set .@item_name$, getitemname(getd(".@equip_" + .@category + "[" + .@a + "]")); set .@sub_menu$, .@sub_menu$ + (.@sub_menu$ == "" ? .@item_name$ : ":" + .@item_name$); } // Now Offer the New Menu to the Player as Index (-1 Stores as Array Index) set .@item_choice, select(.@sub_menu$) - 1; // Determine If Player Has Required Items for (set .@a, 0; .@a < getarraysize(getd(".@items_" + .@category)); set .@a, .@a + 1) { set .@item_id, getd(".@items_" + .@category + "[" + .@a + "]"); set .@item_requires, getd(".@items_amount_" + .@category + "[" + .@a + "]"); if (.@item_id) { set .@player_has, countitem(.@item_id); set .@item_name$, getitemname(.@item_id); if (.@player_has < .@item_requires) { set .@errors$[getarraysize(.@errors$)], "You Still Need " + (.@item_requires - .@player_has) + " " + .@item_name$ + ((.@item_requires - .@player_has) > 1 ? "'s." : "."); } } else { // Is Zeny if (Zeny < .@item_requires) { set .@errors$[getarraysize(.@errors$)], "You Still Need " + (.@item_requires - Zeny) + " z."; } } } // Determine Errors to Display if (getarraysize(.@errors$)) { for (set .@a, 0; .@a < getarraysize(.@errors$); set .@a, .@a + 1) { mes .@errors$[.@a]; } close; } // Now For Debugging Purposes mes "Item ID Chosen: " + getd(".@equip_" + .@category + "[" + .@item_choice + "]"); mes "Item Name: " + getitemname(getd(".@equip_" + .@category + "[" + .@item_choice + "]")); // Take Items Away for (set .@a, 0; .@a < getarraysize(getd(".@items_" + .@category)); set .@a, .@a + 1) { delitem getd(".@items_" + .@category + "[" + .@a + "]"), getd(".@items_amount_" + .@category + "[" + .@a + "]"); } // Give Item getitem getd(".@equip_" + .@category + "[" + .@item_choice + "]"), 1; close; }
  5. Z3R0

    eA Theme

    All that is, is probably some css adjustments... theme's don't change anything in the core section... I will take a look at it... since I would like to implement the select text in pulse, along with the other Warning, Info, Success, Error Moderator+ BBCode's
  6. Z3R0

    Hellow!

    Welcome to the Revolution Judas!
  7. oooo me likey Few questions... since my avatar is 'L' from Deathnote, could you swap the guy's image? Also, I would like Zero to be Z3R0 Z (three) R (zero) == (numbers not letters)
  8. Editted: Added The Ability to Add Zeny to the Mix // I Was just talking with Brian about this last night actually... // Create the Category Array setarray .@main_menu$[0],"Sword","Bow","Dagger"; // Item ID's (The Number 0 is the Index of the Category "Sword") setarray .@equip_0[0],1,2,3,4,5,6,7,8,9; // Item ID's (The Number 1 is the Index of the Category "Bow") setarray .@equip_1[0],1,2,3,4,5,6,7,8,9; // Item ID's (The Number 2 is the Index of the Category "Dagger") setarray .@equip_2[0],1,2,3,4,5,6,7,8,9; // Create Item Hunt Group Arrays (By Category) // For adding Zeny, use Item ID 0, and in Amount, use Amount of Zeny setarray .@items_0[0],0,502,503; setarray .@items_amount_0[0],1000,2,3; setarray .@items_1[0],501,502,503; setarray .@items_amount_1[0],1,2,3; setarray .@items_2[0],501,502,503; setarray .@items_amount_2[0],1,2,3; // Display Categories to Player and Store Answer as Index (-1 Stores as Array Index) set .@category, select(.@main_menu$) - 1; // Now Build the Menu Based on This Selection for (set .@a, 0; .@a < getarraysize(getd(".@equip_" + .@category)); set .@a, .@a + 1) { set .@item_name$, getitemname(getd(".@equip_" + .@category + "[" + .@a + "]")); set .@sub_menu$, .@sub_menu$ + (.@sub_menu$ == "" ? .@item_name$ : ":" + .@item_name$); } // Now Offer the New Menu to the Player as Index (-1 Stores as Array Index) set .@item_choice, select(.@sub_menu$) - 1; // Determine If Player Has Required Items for (set .@a, 0; .@a < getarraysize(getd(".@items_" + .@category)); set .@a, .@a + 1) { .@item_id, getd(".@items_" + .@category + "[" + .@a + "]"); .@item_requires, getd(".@items_amount_" + .@category + "[" + .@a + "]"); if (.@item_id) { .@player_has, countitem(.@item_id); .@item_name$, getitemname(.@item_id); if (.@player_has < .@item_requires) { set .@errors$[getarraysize(.@errors$)], "You Still Need " + (.@item_requires - .@player_has) + " " + .@item_name$ + ((.@item_requires - .@player_has) > 1 ? "'s." : "."); } } else { // Is Zeny if (Zeny < .@item_requires) { set .@errors$[getarraysize(.@errors$)], "You Still Need " + (.@item_requires - Zeny) + " z."; } } } // Determine Errors to Display if (getarraysize(.@errors$)) { for (set .@a, 0; .@a < getarraysize(.@errors$); set .@a, .@a + 1) { mes .@errors$[.@a]; } close; } // Now For Debugging Purposes mes "Item ID Chosen: " + getd(".@equip_" + .@category + "[" + .@item_choice + "]"); mes "Item Name: " + getitemname(getd(".@equip_" + .@category + "[" + .@item_choice + "]")); // Take Items Away for (set .@a, 0; .@a < getarraysize(getd(".@items_" + .@category)); set .@a, .@a + 1) { delitem getd(".@items_" + .@category + "[" + .@a + "]"), getd(".@items_amount_" + .@category + "[" + .@a + "]"); } // Give Item getitem getd(".@equip_" + .@category + "[" + .@item_choice + "]"), 1; close;
  9. Edit: Added Error Support to Notify Player of Amount of Items Still Missing // I Was just talking with Brian about this last night actually... // Create the Category Array setarray .@main_menu$[0],"Sword","Bow","Dagger"; // Item ID's (The Number 0 is the Index of the Category "Sword") setarray .@equip_0[0],1,2,3,4,5,6,7,8,9; // Item ID's (The Number 1 is the Index of the Category "Bow") setarray .@equip_1[0],1,2,3,4,5,6,7,8,9; // Item ID's (The Number 2 is the Index of the Category "Dagger") setarray .@equip_2[0],1,2,3,4,5,6,7,8,9; // Create Item Hunt Group Arrays (By Category) setarray .@items_0[0],501,502,503; setarray .@items_amount_0[0],1,2,3; setarray .@items_1[0],501,502,503; setarray .@items_amount_1[0],1,2,3; setarray .@items_2[0],501,502,503; setarray .@items_amount_2[0],1,2,3; // Display Categories to Player and Store Answer as Index (-1 Stores as Array Index) set .@category, select(.@main_menu$) - 1; // Now Build the Menu Based on This Selection for (set .@a, 0; .@a < getarraysize(getd(".@equip_" + .@category)); set .@a, .@a + 1) { set .@item_name$, getitemname(getd(".@equip_" + .@category + "[" + .@a + "]")); set .@sub_menu$, .@sub_menu$ + (.@sub_menu$ == "" ? .@item_name$ : ":" + .@item_name$); } // Now Offer the New Menu to the Player as Index (-1 Stores as Array Index) set .@item_choice, select(.@sub_menu$) - 1; // Determine If Player Has Required Items for (set .@a, 0; .@a < getarraysize(getd(".@items_" + .@category)); set .@a, .@a + 1) { .@player_has, countitem(getd(".@items_" + .@category + "[" + .@a + "]")); .@item_requires, getd(".@items_amount_" + .@category + "[" + .@a + "]"); .@item_name$, getitemname(getd(".@items_" + .@category + "[" + .@a + "]")); if (.@player_has < .@item_requires) { set .@errors$[getarraysize(.@errors$)], "You Still Need " + (.@item_requires - .@player_has) + " " + .@item_name$ + ((.@item_requires - .@player_has) > 1 ? "'s." : "."); } } // Determine Errors to Display if (getarraysize(.@errors$)) { for (set .@a, 0; .@a < getarraysize(.@errors$); set .@a, .@a + 1) { mes .@errors$[.@a]; } close; } // Now For Debugging Purposes mes "Item ID Chosen: " + getd(".@equip_" + .@category + "[" + .@item_choice + "]"); mes "Item Name: " + getitemname(getd(".@equip_" + .@category + "[" + .@item_choice + "]")); // Take Items Away for (set .@a, 0; .@a < getarraysize(getd(".@items_" + .@category)); set .@a, .@a + 1) { delitem getd(".@items_" + .@category + "[" + .@a + "]"), getd(".@items_amount_" + .@category + "[" + .@a + "]"); } // Give Item getitem getd(".@equip_" + .@category + "[" + .@item_choice + "]"), 1; close;
  10. This is NOT the full NPC, however, you can test this out, in a basic NPC, modifying these array values and test it out This will allow for 128 Categories 128 Items Per Category All easily Editable without having to make crazy changes to the core code // I Was just talking with Brian about this last night actually... // ****************************** START EDIT AREA ********************************* // Create the Category Array setarray .@main_menu$[0],"Sword","Bow","Dagger"; // Item ID's (The Number 0 is the Index of the Category "Sword") setarray .@equip_0[0],1,2,3,4,5,6,7,8,9; // Item ID's (The Number 1 is the Index of the Category "Bow") setarray .@equip_1[0],1,2,3,4,5,6,7,8,9; // Item ID's (The Number 2 is the Index of the Category "Dagger") setarray .@equip_2[0],1,2,3,4,5,6,7,8,9; // Create Item Hunt Group Arrays (By Category) setarray .@items_0[0],501,502,503; setarray .@items_amount_0[0],1,2,3; setarray .@items_1[0],501,502,503; setarray .@items_amount_1[0],1,2,3; setarray .@items_2[0],501,502,503; setarray .@items_amount_2[0],1,2,3; // ****************************** END EDIT AREA ********************************* // *********************** CORE CODE STARTS HERE ******************************* // Display Categories to Player and Store Answer as Index (-1 Stores as Array Index) set .@category, select(.@main_menu$) - 1; // Now Build the Menu Based on This Selection for (set .@a, 0; .@a < getarraysize(getd(".@equip_" + .@category)); set .@a, .@a + 1) { set .@item_name$, getitemname(getd(".@equip_" + .@category + "[" + .@a + "]")); set .@sub_menu$, .@sub_menu$ + (.@sub_menu$ == "" ? .@item_name$ : ":" + .@item_name$); } // Now Offer the New Menu to the Player as Index (-1 Stores as Array Index) set .@item_choice, select(.@sub_menu$) - 1; // Determine If Player Has Required Items for (set .@a, 0; .@a < getarraysize(getd(".@items_" + .@category)); set .@a, .@a + 1) { if (countitem(getd(".@items_" + .@category + "[" + .@a + "]")) < getd(".@items_amount_" + .@category + "[" + .@a + "]")) { mes "You Do Not Have All The Items"; close; } } // Now For Debugging Purposes mes "Item ID Chosen: " + getd(".@equip_" + .@category + "[" + .@item_choice + "]"); mes "Item Name: " + getitemname(getd(".@equip_" + .@category + "[" + .@item_choice + "]")); // Take Items Away for (set .@a, 0; .@a < getarraysize(getd(".@items_" + .@category)); set .@a, .@a + 1) { delitem getd(".@items_" + .@category + "[" + .@a + "]"), getd(".@items_amount_" + .@category + "[" + .@a + "]"); } // Give Item getitem getd(".@equip_" + .@category + "[" + .@item_choice + "]"), 1; close; // **************************** END CORE CODE *****************************
  11. I'm not saying it can't be done in a nice fashion... it most likely can, I just don't have the time just yet to develop something that clean... maybe sometime tonight or this weekend I can look into it. I tend to script everything "soft-coded" which is what every scripter "SHOULD" do... By this I mean, no variable used is "hard-coded" into the main code, everything should be easily editable in a nice config file, and only the core code should be used for the mechanics... A lot of people shy away from that, and that's why things like this are hard to make or change...
  12. sub categories,get into a whole new market... as for right now, that's where I'm at, I'm currently in the process of working on another script, so I will have to get back to you on this one... unless someone wants to take it up
  13. This is probably about 50-60px; high, so I was thinking somethng like 60-75px I want it more of a banner type look, than say a HUGE graphic, my bad I guess
  14. Agreed Low / Mid / High / Outrageously Stupid Categorize for Easier Searching
  15. Looks like someone's curious about google's tracker or w/e eh ? +5 Google Accounts
  16. and Godlezz strikes his first src help on eathena... we knew you'd be a good addition ;0
  17. Well, I actually don't have a limit unlike normal users, however standard siggy size? something like raz's (don't need it to be animated...) perhaps about 15-20px bigger though... Would like it to say at least... "Z3R0" "Scripting Moderator" -> and if accepted (as the one I will use) i ask that you keep the file that you can edit on hand for when we actually decide on an emu name
  18. I kind of have to agree on this... or at least put this one in a "custom" type scenario... I don't know... but it definitely needs to be offered... string manipulation is sexy...
  19. all static images, png or jpg (good web quality) for use on maybe a site or something
  20. Actually my daughter, is not "My" daughter, she is my fiance's and her ex's... Unfortunately, the dad is not around much, maybe once a month, so to her, I'm daddy.
  21. I am sorry I have not been able to get to the CodeBox source code today... Work has been very busy. I WILL get this done tonight, however, I have family matters that come first. Daughter until 8:00pm, Then time with the fiance, and then RO Time But have no fear, this will get fixed tonight! So Tomorrow, clear your cache's and refresh those browsers and prepare to "Select Text"! haha Z3R0
  22. Number One: All Item and Equipment in Current GRF or Whatever it's called (from RO) I want all images, items, equipment, npc's and everything! Number Two: An Awesome siggy! (Name with Z3R0) I like the colors blue / black... surprise me!
  23. ah yes, sorry about that, I ended up going a different route in the middle of the script, and forgot to change that to an OR ( || ) and not AND ( && ) Nice find
  24. We are not "really" looping through an array... we are looping between 1 and the number of items... however, it should either be 0 and a < for (set .@a, 0; .@a < @bought_quantity[@i]; set .@a, .@a + 1) { rentitem .@bought_namedid[@i], <INSERT NUMBER OF SECONDS HERE>; } or 1 and a <= for (set .@a, 1; .@a <= @bought_quantity[@i]; set .@a, .@a + 1) { rentitem .@bought_namedid[@i], <INSERT NUMBER OF SECONDS HERE>; } sorry about that
  25. we did have CSS applied to the button... somehow that got washed away as well
×
×
  • Create New...