MikZ
-
Content Count
461 -
Joined
-
Last visited
Reputation Activity
-
MikZ reacted to Rebel in Rent NPC Shop (NST_CUSTOM)
have you consider to put it inside a box?
{ Id: 99999 AegisName: "Custom_Box" Name: "Custom Box" Type: "IT_CASH" Buy: 20 Weight: 10 Trade: { nodrop: true noselltonpc: true nocart: true nogstorage: true nomail: true noauction: true } Script: <" rentitem 12345,604800; "> }, - trader Rental01 1_M_01,{ OnInit: tradertype(NST_CUSTOM); sellitem Custom_Box, 2; end; OnCountFunds: setcurrency(#KAFRAPOINTS); end; OnPayFunds: if( #KAFRAPOINTS < @points ) end; #KAFRAPOINTS -= @points; purchaseok(); }
-
MikZ reacted to meko in Failed assertion Achievement
@MikZ this PR should fix your issue: https://github.com/HerculesWS/Hercules/pull/2227
-
MikZ reacted to 4144 in Plugin Makefile
wrong
Exists atleast 3 ways how build plugins.
1.
after building server run
make plugin.myplugin1 where myplugin1 is your plugin name
or you can add your plugin name into variable in make file
2.
add your plugins into make file. change
MYPLUGINS := $(MYPLUGINS) to
MYPLUGINS := $(MYPLUGINS) myplugin1 where myplugin1 is your plugin name
3.
use environment variables. run command
MYPLUGINS=myplugin1 make plugins where myplugin1 is your plugin name
-
MikZ reacted to Christian [epicRO] in Restock System
If you want to make Arrows and Bullets Auto-Equip after they have been restocked:
if (.@qu){ .@ru = restkid; ++ if (getiteminfo(.@ru, ITEMINFO_TYPE) == 10) autoequip(.@ru, 1); restock_item(.@ru,.@qu,.@fr); if (.@fr == 1) .@from$ = "Storage"; if (.@fr == 2) .@from$ = "Guild Storage"; sleep2 500; if (countitem(.@ru) == 0) { announce "Trying to restock "+.@qu+"x "+.@ru+" from "+.@from$+". Failed. Amount does not fit.",bc_self,0xFF8F01; } ++ if (getiteminfo(.@ru, ITEMINFO_TYPE) == 10) autoequip(.@ru, 0); restkid = 0; }
-
MikZ reacted to Christian [epicRO] in Restock System
It will check if the last of selected item was consumed and do ::OnRestock NPC Event to restock the items to the selected amount. Works very well and without any ms of lag. Thanks to @Dastgir
Fixed and corrected. Works fine on current branch.
How to enable:
Move "restock.c" to "src/plugins" and open "Makefile" with editor. add "restock" to line "MYPLUGINS = "
Move "atcommand_restock.txt" to "npc/custom" and add "npc/custom/atcommand_restock.txt" to your "scripts_custom.
conf" for autostart.Open file "conf/plugins.conf" and add " "restock", " to enable this plugin after you'll restart the map serve
Do "make all" on console. To enable all changes. Enjoy @restock and @restock2
If you want to disable @restock on Castles/WoE just configure your atcommand_restock.txt and do a mapcheck on "OnRestock:" like
getmapxy(.@playermap$, .@playerx, .@playery, UNITTYPE_PC); if (getmapflag(.@playermap$, "mf_gvg_castle") == 1) { dispbottom "Atcommand disabled on this map."; end; }
restock.c
atcommand_restock.txt
SQL Table:
CREATE TABLE `restock` ( `charid` INT(10) NOT NULL, `restockid` INT(6) NOT NULL, `restkq` INT(5) NOT NULL, `restkf` INT(10) NOT NULL DEFAULT '1' ) COLLATE='latin1_swedish_ci' ENGINE=MyISAM ;
-
MikZ reacted to hendra814 in Hunting Mission to Poring Coin
at this part
set #Mission_Points, #Mission_Points-@cost; change it into
delitem, 7539-@cost;
-
MikZ reacted to hendra814 in Hunting Mission to Poring Coin
find this
set #Mission_Points, #Mission_Points+.@Mission_Points; and replace into
getitem 7539,.@Mission_Points;
-
-
MikZ reacted to Dastgir in @security forgot code
That was not coded to prevent abuse.
Admin can check account_reg_num_db #secure_code
-
MikZ reacted to Dastgir in Admin Trade Permission
https://github.com/HerculesWS/Hercules/blob/stable/doc/permissions.txt
-
MikZ reacted to Aurelion314 in [Re-Release] Paradox Vote For Points
I ran into this as well and spent time finding the error. The script would add the inventory amount to the total count before updating storage. I've attached a fixed index.php. It goes in /vote_for_credits/modules/vote/index.php
index.php
-
MikZ reacted to xVec in Hercules Battlegrounds
Very sad because this will be a great way to get more people into Herc.. rAthena has a stable version of rAmod (Herc don't) and this is not necessary in there and check it now the rA forum, very active with a great comunity.
-
MikZ reacted to Rebel in Warper NPC for Pre-Re (Bug)
function Pick { .@warp_block = @warp_block; @warp_block = 0; .@select = select(@menu$); if (getarg(0) == "") { .@i = .@select; .@map$ = getarg(.@i); } else { .@i = .@select-getarg(1,0); .@map$ = getarg(0)+((.@i<10)?"0":"")+.@i; } if (.@warp_block & (1<<.@select)) { message strcharinfo(PC_NAME),"This map is not enabled in "+(RENEWAL?"":"Pre-")+"Renewal."; + close; end; } .@x = @c[.@i*2]; .@y = @c[.@i*2+1]; deletearray @c[0],getarraysize(@c); Go(.@map$,.@x,.@y); } function Restrict { if ((getarg(0) == "RE" && !RENEWAL) || (getarg(0) == "Pre-RE" && RENEWAL)) { if (getarg(1,0)) { @warp_block = 0; for (.@i = 1; .@i < getargcount(); .@i++) @warp_block = @warp_block | (1<<getarg(.@i)); } else { message strcharinfo(PC_NAME),"This map is not enabled in "+(RENEWAL?"":"Pre-")+"Renewal."; + close; end; } } return; } try this.. just added close after message ....
-
MikZ reacted to AnnieRuru in RACE TO 99 SQL BOARD
rathena has too many topic for this
https://rathena.org/board/topic/115772-race-to-99-per-class/
although, all of them doesn't use SQL table
I wonder why you need the SQL table for ?
what kind of information you want to display on your website ?
-
MikZ reacted to AnnieRuru in LOGIN REWARD VIA LAST MAC
yup you did correct
every 00:00 server time
and if let's say you start at 11:59pm Wednesday, and claim the reward on the Thursday at 1am, then you can't claim reward anymore on Thursday
I actually had experienced this system in some chinese mobile games app ...
so I made this script according to the chinese mobile game app I've played
-
MikZ got a reaction from AnnieRuru in LOGIN REWARD VIA LAST MAC
@AnnieRuru its okay.
I somehow just edit it with the common query command and change the ip to unique_id. Somehow it worked fine for daily login.
Wonder if you have any suggestion or tips to improve this. I don't kinda understand the script cuz im noob. but that this mean every 00:00 server time you will be able to get coin or 24hr from last talked to the npc?
prontera,164,173,5 script Daily Login 4_F_FAIRYKID4,{ // $ip_reward_daytime = 0; query_sql("SELECT `last_unique_id` from `login` WHERE `account_id` = "+getcharid(3),@lui$); mes "["+ strnpcinfo(NPC_NAME) +"]"; if ( $ip_reward_daytime != atoi( gettimestr("%Y%m%d", 20 ) ) ) { $ip_reward_daytime = atoi( gettimestr("%Y%m%d", 20 ) ); deletearray $ip_reward$; } .@size = getarraysize( $ip_reward$ ); while ( @lui$ != $ip_reward$[.@i] && .@i < .@size ) { ++.@i; } if ( .@i < .@size ) { mes "You have claimed the reward."; close; } if ( @ip_reward && @ip_reward + .countdown <= gettimetick(2) ) { mes "Here is the surprise reward"; getitem 25045, 1; $ip_reward$[ getarraysize( $ip_reward$ ) ] = @lui$; close; } if ( @ip_reward ) { mes "Countdown timer..."; .@timeleft = @ip_reward + .countdown - gettimetick(2); mes .@timeleft /3600 +" hour "+ .@timeleft %3600/60 +" min "+ .@timeleft %60 +" sec left"; close; } mes "Hello "+ strcharinfo(PC_NAME) +", I am here to give you a daily Surprise Reward. Do you want to have it?"; next; select "Yes, sure !!"; mes "["+ strnpcinfo(NPC_NAME) +"]"; mes "You can claim the reward after an hour."; close2; addtimer .countdown *1000, strnpcinfo(NPC_NAME) +"::OnClaimReward"; @ip_reward = gettimetick(2); end; OnClaimReward: dispbottom "You can claim Daily Login Reward now."; end; OnInit: .countdown = 1*60*60; // 5 hours // .countdown = 5; }
-
MikZ reacted to AnnieRuru in LOGIN REWARD VIA LAST MAC
the script you posted made by me ...
sorry as I don't own Gepard, I don't know how it works so I couldn't make this system for you
and what meko said was spot on,
just reminded the IP address detection method on this script can just bypass by restarting the modem
the mac address system though ...
sry maybe I was out from RO scene too long ?
2 years ago I heard that mac address is something that is only possible by adding a 3rd party program running in the background ...
and this makes me assume that Gepard is also something 3rd party program ... stuffs
-
MikZ reacted to meko in LOGIN REWARD VIA LAST MAC
IP addresses and mac addresses do not uniquely identify people. Most home internet users have dynamic IP addresses assigned by their ISP, so it changes over time, and some ISPs even assign a different one every single time the router is rebooted (ie: Orange). Even with a static IP, nothing prevents anyone from using a VPN, tor, or any other anonymity tool. IP addresses may also be shared: some schools, dormitories, and organizations have a single address for every single computer on its network, so you could end up mistaking hundreds of people as the same person. Some computers themselves are also shared (ie: with coworkers, family members, friends, …). As for mac addresses, they can very easily be spoofed, and one could even make a script to change their mac address every minute if they wanted to... so yeah, that's a bad idea too.
If this still does not discourage you from using mac addresses, feel free to add this "feature" to Hercules: https://github.com/HerculesWS/Hercules/issues/1734
There's really no silver bullet to really be sure of the identity of someone, but one of the approaches that kinda works is to make abuse costly on abusers, while not imposing a huge burden on non-abusers. What works best is doing a physical verification instead of a digital one when someone creates an account. For example, most social media platforms now ask you to provide and validate a phone number. This means if someone were to bypass this verification they would have to have more than one phone. Some sites, such as Paypal, go even further ask you for your credit card number (or bank account number) and then do a transaction on it (usually $1), to see if the card is valid. This means you would have to have more than one credit card if you want to bypass this verification, which implies physically going to your bank, making an appointment, and opening a new account. Some (such as Google) prefer to snail mail you an envelope containing a code, which you then have to enter on their website. To abuse this you would need more than one street address. Keep in mind that this only makes it harder on would-be abusers and that nothing can 100% fingerprint someone. Even DNA profiling isn't perfect.
-
MikZ reacted to AnnieRuru in Sample Questlog & Achievement script
Download: 1.1
sample quest log
Download: 1.1
sample daily quest
these are 5 sample quests using quest log system
this was actually made as a sample script inside a script support section in eathena forum
original topic from eathena
thanks to paradog eathena admin that makes eathena forum down, almost gonna remake everything from scratch
luckily I got a few segment here and there in my old hard-disk so doesn't take too much time to write this sample
Quest #1
typical talk to npc A, then npc B ... etc
demonstrate how to use *checkquest
Quest #2
collect item quest
just checkitem with it
I still don't know how to use the client to trace is the item collecting has completed or not
Quest #3
kill monster quest
demonstrate how to use *checkquest( x, HUNTING )
Quest #4
typical talk to npc A, then npc B ... BUT with a time limit
demonstrate how to use *checkquest( x, PLAYTIME )
Quest#5
if player having this quest, player can *getitem by killing this monster
see https://github.com/HerculesWS/Hercules/blob/stable/db/quest_db.conf#L45-L50
and I want to remind this is just a sample script
usually make for source modification on quest log system (now is 3rd time I think ?)
2 sample script for daily system
1. Daily item giver ...
although I think this should done with attendance system ...
2. Daily hunting ...
self explain ...
[109991] = { UI_Type = 0, group = "CHATTING", major = 4, minor = 0, title = "Tavern Helper", content = { summary = "Visit the Tavern Master", details = "Visit the Tavern Master in Prontera." }, resource = { [1] = { text = "Acolyte Trouble" }, [2] = { text = "Gemstone shortage" }, [3] = { text = "Poring Problem" }, [4] = { text = "Hand over the Artifact" }, [5] = { text = "Shining Rocker" } }, reward = { title = 991 }, score = 5 }, [109992] = { UI_Type = 1, group = "GOAL_ACHIEVE", major = 6, minor = 0, title = "Complete Daily Quest for 30 times", content = { summary = "Complete Daily Quest", details = "Complete Daily Quest for 30 times and you can earn some nice rewards!" }, resource = { [1] = { text = "Collect Daily Items 30 times", count = 30 }, [2] = { text = "Complete Daily Quest 30 times", count = 30 } }, reward = { title = 992, item = 513 }, score = 30 }, UI_TYPE
- display a bar like in the daily quest screenshot
- 0: in the [resource], doesn't support [count]
- 1: support [count]
group:
- read from data\texture\À¯ÀúÀÎÅÍÆäÀ̽º\achievement
major
- 1: General tab
- 2: Adventure tab
- 3: Battle tab
- 4: Quest tab
- 5: Memorial tab
- 6: Feat tab
-
MikZ reacted to AnnieRuru in CUSTOM ITEM SCRIPT FOR @GO
assuming you have this https://github.com/HerculesWS/Hercules/blob/stable/npc/mapflag/town.txt
prontera,150,185,5 script test 1_F_MARIA,{ input .@map$; if ( getmapusers( .@map$ ) == -1 ) dispbottom "no such map"; else if ( !getmapflag( .@map$, mf_town ) ) dispbottom "not a town"; else atcommand "@go "+ .@map$; // yeah lazy to note down the coordinate, so use atcommand end; }
-
MikZ reacted to AnnieRuru in King Of Emperium Hill ROYAL Rumble
script -> http://upaste.me/94e94979017edd8ef
plugin -> http://upaste.me/d74c497892f91a6d6
@MikZ next time should ask on the forum instead of bombard my PM box
and its your own topic too
-
MikZ reacted to Rebel in SKILL_DB MAXCOUNT
db/pre-re/skill_db.conf
db/re/skill_db.conf
SkillInstances: Skill instances (int, defaults to 0) (can be grouped by Levels) Notes: max amount of skill instances to place on the ground when player_land_skill_limit/monster_land_skill_limit is enabled. For skills that attack using a path, this is the path length to be used.
-
MikZ reacted to Alayne in Alayne's Scripts Collection
those variables means "start an event at 5, start an event at 6. If 0, then doesn't start, if 1 then start"
-
MikZ reacted to Alayne in Alayne's Scripts Collection
@MikZ resnametable have been added. Gonna look for the worldboss issue.
Edit: Allright, fixed and pushed. You can get the last version from my github, tell me if you find other issues
-
MikZ reacted to Alayne in Alayne's Scripts Collection
< Alayne's Script Collection >
After several asks, here's a link to my github
Feel free to comment or add anything that might be usefull and that I won't think of
I've decided to release my scripts here, it'll be easier to me so I can duplicate it on hercules and rathena rather than uploading twice. So sorry for multiple upload between there and download section
Don't mind the name Nyliar in the git, that's me too ^^
< Instances >
< Quests >
< Event >
< PvP Content >
< Utilities >
< Full Systems >
< Dungeons >
< Raid >
< Battleground >