-
Posts
1691 -
Joined
-
Last visited
-
Days Won
77
Content Type
Profiles
Forums
Downloads
Jobs Available
Server Database
Third-Party Services
Top Guides
Store
Crowdfunding
Everything posted by sader1992
-
izlude,144,121,3 script JohnDoe NPC::JohnDoe 1_M_MERCHANT,{ mes "[JohnDoe]"; mes "Do you need some Novice Potions?"; switch(select("Yes, please.:I don't need them for now, thank you.")){ clear; case 1: .@TIME$ = "" + gettime(DT_YYYYMMDD); if(#JOHNDOE_DAILY$ == .@TIME$){ mes "you already got the Novice Potions for today"; mes "try again in the next day"; end; } mes "Here, take these."; getitem 569,250; #JOHNDOE_DAILY$ = .@TIME$; mes "Good luck!."; end; case 2: mes "Okay, good luck!"; end; } }
-
it's better you do it in the src , script base wont be as efficient. if you want , i can move the topic to the Source Support Section.
-
the script is a Disaster what the point of the script ? what the point of the hunger, thirst, sleep how the player gain or loss them ?
-
the error said it all you can't delete a quest from the player if the player doesn't have it in the first place you can't give a quest to the player if the player already have it
-
View File Sader Attendance Requirement this patch make the player must have a variable true to claim his attendance reward the variable is #Attendance_YYYYMMDD ofc the variable change each day this will allow you to create a script to make for example a quest that the player must do every day to claim the attendance like for example the player must kill 500 monster before he can claim his attendance or must gather items or must be x level or must player x amount of time in the day so he can claim the reward of all the above the file include an information script file that have 2 function , one to set the variable and one to get the variable value (if you want to use them , just add them to your rathena/npc/other/Global_Functions.txt) it also include 2 example quests for you to get some inspiration to create your own script TODO: create function for gepard Submitter sader1992 Submitted 07/27/2019 Category Source Modifications Video Content Author sader1992
-
Version 1.0.0
646 downloads
this patch make the player must have a variable true to claim his attendance reward the variable is #Attendance_YYYYMMDD ofc the variable change each day this will allow you to create a script to make for example a quest that the player must do every day to claim the attendance like for example the player must kill 500 monster before he can claim his attendance or must gather items or must be x level or must player x amount of time in the day so he can claim the reward of all the above the file include an information script file that have 2 function , one to set the variable and one to get the variable value (if you want to use them , just add them to your rathena/npc/other/Global_Functions.txt) it also include 2 example quests for you to get some inspiration to create your own script TODO: create function for gepardFree -
i didn't understand what you are saying this will warp a random player from the given map to "prontera",155,150 .@s = getmapunits(BL_PC,"map_name",.@names$); warp "prontera",155,150,getcharid(0,.@names$[rand(.@s)]);
-
any error/warning in the console ?
-
try this 62068,Sporing,SPoring,1,0,,0,,,,,0xFFFFFFFF,63,2,,,,,,{ progressbar "0x00FF00",1; if(mobcount(strcharinfo(3),"Summon_NPC::OnSummon")) { killmonster strcharinfo(3),"Summon_NPC::OnSummon"; } else { summon "Slave Poring",26127,100*60000,"Summon_NPC::OnSummon"; } },{},{} - script Summon_NPC -1,{ OnInit: set .Map$,"prt_fild01"; setmapflag .Map$,mf_loadevent; end; OnPCLoadMapEvent: if(strcharinfo(3) == .Map$ && mobcount( .Map$,"Summon_NPC::OnSummon") == 1 ){ killmonster.Map$,"Summon_NPC::OnSummon"; } end; OnSummon: end; }
-
you can't turn everything to the grf except the data folder the system folder or the lua files like iteminfo etc wont work with that , as the exe read them first before the grf ofc if your question only about the data folder , it's better to not leave any file inside the data folder and straight up ignoring the data folder so no edit will be done to the game files without editing the grf and with hard coding the grf names and removing the data.ini /encrypt your grf it's slightly better security for your client files. a security for your client files to not be easy to edit by everyone but there still some technicians to edit them anyway , but not everyone would thing about it if you want more security than you would need something like Gepard
-
Failed to compile - trade_traderequest was not declared in this scope
sader1992 replied to Eros's question in Source Support
you should open your own post!!! -
with the script i posted above it's impossible to fail with all the 250 you will get some and loss some make sure you are using the new script , maybe you didn't save the script or didn't reload the script
-
the script work for me , you should be more specific
-
the chance logic was incorrect btw if(rand(1,5) == 3) // this mean the chance is 1/5 if(rand(1,5) <= 3) // this mean the chance is 3/5 leave the mac quantity 250 or add sleep in the loop if you know what i mean prontera,164,171,4 script Potion Brewer 893,{ mes "[Potion Brewer Alisa]"; mes "Hello, "+strcharinfo(0)+"!"; mes "How may I help you?"; next; switch (select("Brew Grenade:Brew Acid:")) { case 1: input .@quantity; if(.@quantity > 250){ mes "the max quantity you can do at once is 250"; end; } clear; if (countitem(713) < .@quantity || countitem(970) < .@quantity || countitem(1059) < .@quantity ) { mes "You're lacking of requirements."; close; } for(.@i=0;.@i<.@quantity;.@i++){ if(rand(1,5) <= 3) { .@count++; } } delitem 713,.@quantity; delitem 970,.@quantity; delitem 1059,.@quantity; getitem 7135,.@count; end; } end; }
-
setarray .@gqname$[0],"Kill Mantis","Kill Bees","Kill Soils","Kill Porings"; .@null$ = "NULL"; while(countinarray(.@gqname$[0], .@null$) != 2) .@gqname$[rand(getarraysize(.@gqname$))] = .@null$; switch(select(replacestr(implode(.@gqname$, ":"), .@null$, ""))) { case 1: mes("mantis"); close; case 2: mes("bees"); close; case 3: mes("soils"); close; case 4: mes("porings."); close; }
-
-
what the item script ?
-
when you @summon = no event label = mobcount command with a label wont work you should make sure that the monster have a label for the script to work
-
oh sorry , i miss-read the topic i see there is a messing Bracket in the script , also there is no need to check for the charid as it's not 0 for sure, but you better check for the map name (before the monster count) also are you sure about the event name ? so in your script case the npc name is "Summon" and the event is "Onprt_fild01" == Summon::Onprt_fild01 - script Sample -1,{ OnInit: set .Map$,"prt_fild01"; setmapflag .Map$,mf_loadevent; end; OnPCLoadMapEvent: if(strcharinfo(3) == .Map$ && mobcount( .Map$,"Summon::On"+strcharinfo(3)) == 1 ){ killmonster.Map$,"Summon::On"+strcharinfo(3); } end; }
-
i would suggest you add the error you get , if you want a faster answer
-
I need Updated item id number ( For The Wing ) Pre_Re
sader1992 replied to VanRo999's question in Database Support
your topic doesn't make sense i suggest to read more about items you can start from here https://github.com/rathena/rathena/wiki/Custom-Items -
Please if you have a problem with an official script and you have the official information , consider reporting the issue in rAthena Github Moved to the right section.
-
https://github.com/rathena/rathena/blob/master/npc/custom/etc/floating_rates.txt
-
prontera,0,0,0 script poring_count 444,{ .@rank = query_sql("SELECT `char_id`,`char_name`,`kills` FROM `poring_kill_rank` where `kills` > '0' order by `kills` DESC", .@charid,.@name$,.@kills); .@ndx = inarray(.@name$, strcharinfo(0)); if(inarray(.@name$, strcharinfo(0)) != -1){ mes "^0024E8[YOU] :^000000 (" + (.@ndx +1) + ") : " + .@kills[.@ndx] + " Poring Kills"; } mes "[TOP 10] :"; for(.@i=0;.@i<min(.@rank,9);.@i++){ mes (.@i + 1) + " ^0024E8" + .@name$[.@i] + "^000000 ^FF0000" + .@kills[.@i] + "^000000 Poring Kills."; } end; OnNPCKillEvent: if(killedrid == 1002){ query_sql("SELECT `kills` FROM `poring_kill_rank` WHERE `char_id` = '" + getcharid(0) + "'", .@kills); if(.@kills){ query_sql("UPDATE `poring_kill_rank` SET `kills` = '" + ++.@kills +"' WHERE `char_id` = '" + getcharid(0) + "'"); }else{ query_sql("INSERT INTO `poring_kill_rank` (`char_id`,`char_name`,`kills`) VALUES ('" + getcharid(0) + "','" + strcharinfo(0) + "','" + ++.@kills + "')"); } } end; OnInit: query_sql("CREATE TABLE IF NOT EXISTS `poring_kill_rank` (`char_id` INT NOT NULL,`char_name` VARCHAR(30) NOT NULL,`kills` INT NOT NULL) ENGINE=MyISAM"); } to reset, just remove all the entries in poring_kill_rank table