-
Posts
614 -
Joined
-
Last visited
-
Days Won
10
Z3R0 last won the day on December 9 2021
Z3R0 had the most liked content!
About Z3R0
- Birthday 09/27/1984
Profile Information
-
Gender
Male
-
Location
Austin, TX
-
Server
Available
- Github: SEORoman
- Discord: DontHurtMe#1337
-
Interests
NPC Scripting, Web Dev
Contact Methods
- Website URL
-
Skype
Seo.roman.lopez
Recent Profile Visitors
9,333 profile views
Z3R0's Achievements
-
Glad you got it resolved. Sorry, I don't get on much during the weekends
-
Which part of the script actually breaks? The first menu? after you select it? More details are definitely needed
-
I might actually try and tackle this... I can already see quite a few ways this can be implemented...
-
itemdb_readdb: Invalid format (Script column) in line 111
Z3R0 replied to Get Backers's question in Database Support
First, this probably belongs in Support, NOT requests... setarray [email protected]$, "dbroom1", "dbroom2", "dbroom3"; if (inarray( [email protected]$, strcharinfo(3) )) { delitem 604,1; monster "this",-1,-1,"--ja--",-1,1,""; } else dispbottom "This item cannot be used within this are. please use the db room!"; },{},{} might make debugging a bit easier to see -
https://pastebin.com/sCJ905qt this should resolve it, see the first example, where I use strings, and combine multiple prizes with | and also specify multiple rewards with prizes... It's not "perfect" but it should get the job done (untested)
-
Above the else... But @part needs to change to @refine
-
Do you have hte script that you wrote?
-
after OnShower: OnShower: if (!getgmlevel() < 99) { end; }
-
fyi, I think I missed a closing } at the bottom (but if I edit it, it screws up the code...)
-
Sure I can rewrite it tonight and put some comments around the code
-
Use the 2nd one I wrote, not the first... the first had a glitch in it... check all map variables.. make sure they match :D
-
- script Sample -1,{ OnInit: set .amount, 40; // amount of item to shower set .item_id, 7227; // item id to shower set .item_id2, 1234; // next item id to shower bindatcmd "itemshower",strnpcinfo(3)+"::OnShower"; end; OnShower: getmapxy [email protected]$, [email protected], [email protected], UNITTYPE_PC; while ( .count < .amount ) { do { [email protected]_diff = [email protected] + rand(1,5); [email protected]_diff = [email protected] + rand(1,5); } while (!checkcell([email protected]$,[email protected]_diff,[email protected]_diff,cell_chkpass)); [email protected] = rand(2); makeitem [email protected]?.item_id:.item_id2,1,[email protected]$,[email protected]_diff,[email protected]_diff; set .count, .count + 1; } set .count, 0; end; This will make the command @itemshow ... start with the characters position, then it will consider a differential between 1 and 5 from their X,Y coordinates to "shower" around them...
-
- script Sample -1,{ OnInit: set .amount, 40; // amount of item to shower set .item_id, 7227; // item id to shower set .item_id2, 1234; // next item id to shower bindatcmd "itemshower",strnpcinfo(3)+"::OnShower"; end; OnShower: getmapxy [email protected]$, [email protected], [email protected], UNITTYPE_PC; while ( .count < .amount ) { do { [email protected]_diff = [email protected] + rand(1,5); [email protected]_diff = [email protected] + rand(1,5); } while (!checkcell([email protected]$,[email protected]_diff,[email protected]_diff,cell_chkpass)); [email protected] = rand(2); makeitem [email protected]?.item_id:.item_id2,1,.map$,[email protected],[email protected]; set .count, .count + 1; } set .count, 0; end; This will make the command @itemshow ... start with the characters position, then it will consider a differential between 1 and 5 from their X,Y coordinates to "shower" around them...
-
Of course, you could do something much simpler just.... set got_plat_skills, 1; // on a player when they receive them, and simply check it...
-
Untested, but makes for easy updating without a bunch of repetition... harboro1,128,200,6 script Platinum Skill Pusher 779,{ function SetSkills; function SetJobLevel; function Validate; mes "[Platinum Skill Pusher]"; mes "Pssst, ehy you!"; mes "Hand me ^0000FF100.000 zeny^000000 and you'll avoid a boring training, none will know!"; mes "Man, there's no refund... are you sure you want it?"; next; if (select("Yes Please:No") == 2) { mes "[Platinum Skill Pusher]"; mes "Have a nice day... dude!"; close; } if( Zeny < [email protected] ) { mes "...ehy dude, you need ^0000FF100.000 zeny^000000,"; mes "ask them to mom!"; close; } Validate(); set Zeny,Zeny -100000; callfunc "F_GetPlatinumSkills"; mes "[Platinum Skill Pusher]"; mes "Dehee thanks man...lazy people like you makes me rich buahah!"; close; OnInit: SetSkills(Job_Swordman, 144, 145, 146); SetJobLevel(Job_Swordman, 35); SetSkills(Job_Mage, 157); SetSkills(Job_Archer, 147, 148); SetSkills(Job_Acolyte, 156); SetSkills(Job_Merchant, 153, 154, 155); SetSkills(Job_Thief, 149, 150, 151, 152); SetSkills(Job_Knight, 1001); SetSkills(Job_Wizard, 1006); SetSkills(Job_Hunter, 1009); SetSkills(Job_Priest, 1014); SetSkills(Job_Blacksmith, 1012, 1013); SetSkills(Job_Assassin, 1003, 1004); SetSkills(Job_Crusader, 1002); SetSkills(Job_Sage, 1007, 1008, 1017, 1018, 1019); SetSkills(Job_Bard, 1010); SetSkills(Job_Dancer, 1011); SetSkills(Job_Monk, 1015, 1016); SetSkills(Job_Alchemist, 238); SetSkills(Job_Rogue, 238); set [email protected], 100000; end; // getarg(0) = Class ID // getarg(1+) = Skill ID function SetSkills { // Skip 0 because that's Class ID, not a Skill ID for([email protected] = 1; [email protected] <= getargcount(); [email protected]++) { setd(".job_" + getarg(0) + "_skills["+([email protected] - 1)+"]", getarg([email protected])); // .job_ClassID[0] = SkillID 1, [1] = SKill ID2 etc... } return; } // getarg(0) = Class ID // getarg(1) = Job Level function SetJobLevel { for([email protected] = 1; [email protected] <= getargcount(); [email protected]++) { setd("job_" + getarg(0) + "_level", getarg(1)); } return; } function Validate { if (getd(".job_" + Class + "_level")) { if (JobLevel < getd(".job_" + Class + "_level")) { mes "You do not meet the Job Level Requirements"; close; } } for([email protected] = 0; [email protected] < getarraysize(getd(".job_" + Class + "_skills")); [email protected]++) { if (getskilllv(getd(".job_" + Class + "_skills["[email protected]+"]"))) { mes "You have already received your skills"; close; } } return; } }