Dastgir
-
Content Count
3803 -
Joined
-
Last visited
-
Days Won
248
Reputation Activity
-
Dastgir got a reaction from Like it~* in How to convert to a plugin?
Seems interesting.
I would be interested in doing some of these, though not promising if I would do it.
1) May be possible
2) I won't be touching it, it seems possible only with workarounds.
3) Possible
4) Possible
5) Wont be touching it, possible with workaround/ function overload.
6) Possible.
7) I Insist keeping that part as source.
But I insist try and learn and do it with Trial and error method
-
Dastgir got a reaction from Like it~* in Auraset
File Name: Auraset
File Submitter: Dastgir
File Submitted: 24 Mar 2014
File Category: Plugins
For Building Plugins:
Windows: http://herc.ws/wiki/Building_HPM_Plugin_for_MSVC
Linux: http://herc.ws/wiki/Building_HPM_Plugin_for_gcc
Usage:
Atcommand:
(usage: @aura <aura1> {<aura2> <aura3>})
(aura1,aura2 are optional)
ScriptCommand:
(usage: aura aura1{,aura2,aura3}
aura1 is compulsory, while aura2,aura3 are optional.
aura1,aura2,aura3 are AuraID's
NOTE: 1) This effects are permanent(unless the effect is not, which is clientside) and if you want to remove it, either do "@aura 0 0 0" or by Script (aura(0,0,0))
2) If you type aura(586,-1,240), the 2nd aura will remain same, while first and third aura will change.
You can check/set User's AuraID's by following variables
USERAURA - Aura1
USERAURA1 - Aura2
USERAURA2 - Aura3
You can also change aura by changing these variables.
Some Useful aura Combinations:
{ 586, -1, -1 },{ 586, 362, -1 },{ 586, 362, 240 },{ 418, -1, -1 },{ 486, -1, -1 },{ 485, -1, -1 },{ 239, -1, -1 },{ 240, -1, -1 },{ 241, -1, -1 },{ 620, -1, -1 },{ 202, -1, -1 },{ 362, -1, -1 },{ 678, -1, -1 },{ 679, -1, -1 },{ 680, -1, -1 },{ 239, 418, -1 },{ 239, 486, -1 },{ 239, 485, -1 },{ 240, 418, -1 },{ 240, 486, -1 },{ 240, 485, -1 },{ 241, 418, -1 },{ 241, 486, -1 },{ 241, 485, -1 },{ 620, 418, -1 },{ 620, 486, -1 },{ 620, 485, -1 },{ 239, 418, 202 },{ 239, 486, 202 },{ 239, 485, 202 },{ 240, 418, 202 },{ 240, 486, 202 },{ 240, 485, 202 },{ 241, 418, 202 },{ 241, 486, 202 },{ 241, 485, 202 },{ 620, 418, 202 },{ 620, 486, 202 },{ 620, 485, 202 },{ 239, 418, 362 },{ 239, 486, 362 },{ 239, 485, 362 },{ 240, 418, 362 },{ 240, 486, 362 },{ 240, 485, 362 },{ 241, 418, 362 },{ 241, 486, 362 },{ 241, 485, 362 },{ 620, 418, 362 },{ 620, 486, 362 },{ 620, 485, 362 },{ 239, 418, 678 },{ 239, 486, 678 },{ 239, 485, 678 },{ 240, 418, 678 },{ 240, 486, 678 },{ 240, 485, 678 },{ 241, 418, 678 },{ 241, 486, 678 },{ 241, 485, 678 },{ 620, 418, 678 },{ 620, 486, 678 },{ 620, 485, 678 },{ 680, 679, 678 },
I guess no further explanation is needed.
Click here to download this file
-
Dastgir got a reaction from happles in Questions about FLUX CP (installing)
how can i add new user in phpmyadmin today if theres no privilege If there's no privilege, you cannot add new user.
how to allowed ip because im having error like the picture below The Image you attached shows access denied, that means you have put wrong password.
Allowing IP Query:
GRANT ALL ON db.* TO user@'IP' IDENTIFIED BY 'password';
Is the phpmyadmin that i need to configure is on the webhost or in the vps? Its in the WebHost(whereas you can install it on VPS too accompanied with some web-server)
if in the vps how to access it? should i install phpmyadmin even though i already install mysql essential etc and tools. PhpMyAdmin is GUI for MySQL. you can still use mysql from "mysql -u user -pPASSWORD" from putty(if linux vps)
please can i have anyone to talk to about this im stuck for 3 days You can ask @Community, and we will be glad to help you.
-
Dastgir got a reaction from simplexjay2 in Plugin Collections
Hello Community,
I am feeling like, there's many plugin on forum, but not been actively used, due to out-of-date plugin
I have updated Shikazu's Plugin first(as it was requested on the thread from 25th April), maybe Shikazu busy on his rl.
Also I have included My Plugins there.
I would like to add more plugins there(which are not updated on hercules forum <- please suggest if you find some outdated plugin and want me to update it )
List of Plugins and Owners:
https://github.com/dastgir/HPM-Plugins/blob/master/README.md
Repository: https://github.com/dastgir/HPM-Plugins
Thanks.
-
Dastgir got a reaction from Sephus in [Plugin] Map-Char Communication
Now, its time to show examples of how map-char communication can be made,
this is essential as there's no example anywhere about this, so here it is...
https://raw.githubusercontent.com/dastgir/HPM-Plugins/master/src/plugins/packet_sample.c
Above is the example of Communication between Map-Char Server
Here's Description of what All Functions does:
map_sendtochar: Sends Packet to the char-server packet_test(Command): Sets common_value and calls map_sendtochar char_receive_packet: CharServer Function to receive packets(see declaration in plugin_init)
ScreenShot:
-
Dastgir got a reaction from AnnieRuru in [GUIDE] Adding New Items without itemInfo.lub
Hello Community,
Once Again, I was doing something and found something unusual, the kRO have other methods of loading Items too....
They also load some idnum tables but with different names
Unidentified items goes to
eventnum2itemdisplaynametable.txt , eventnum2itemdesctable.txt , eventnum2itemresnametable.txt
Identified items:
eventidnum2itemdisplaynametable.txt , eventidnum2itemdesctable.txt , eventidnum2itemresnametable.txt
(Just add event prefix to all file names )
Points to Remember:
This file is loaded before itemInfo, so if you have same item in itemInfo, resname and displayname will be overwritten with one on itemInfo, while both Description will appear one below one. It Works, and I have tested. These Files go inside GRF(data folder) as idnum tables used to..(before) Works on All clients with itemInfo.lub support
How it Looks When Overwritten:
-
Dastgir got a reaction from Shatowolf in @joinbg and Tribe system / Clan System/Faction System/RACE System
This is .dll plugin.
You have to do one edit after installing this plugin,
go to pc.h and find
struct map_session_data { below it add
int faction; //FactionMOD Recompile, you are done.
Plugin Include 2 script commands:
setfaction(FactionID);getfaction();
FactionSystem.zip
-
Dastgir got a reaction from Tristan in Warp Hit Delay
File Name: Warp Hit Delay
File Submitter: Dastgir
File Submitted: 12 Jan 2015
File Category: Plugins
It is warp delay plugin
Once you get a hit(not a miss) , you will be attached by a timer of x seconds, only after that you will be able to warp(be it be any wings,warp command,go command, npc or skill)
You can have a battle_config on any of the files in conf/battle/ with
warp_delay_mob: Seconds*1000warp_delay_pet: Seconds*1000warp_delay_homun: Seconds*1000warp_delay_merc: Seconds*1000warp_delay: Seconds*1000 //For Playerswarp_delay_others: Seconds*1000 //(For All Other Hits except mob/pet/homunc/merc)
Building Plugin for Linux: http://herc.ws/wiki/Building_HPM_Plugin_for_gcc
Building Plugin for Windows: http://herc.ws/wiki/Building_HPM_Plugin_for_MSVC
P.S: You need HPMHooking Enabled.
Click here to download this file
-
Dastgir got a reaction from Mirage in Dastgir's Services
Hello Hercules Community,
I am offering my Services to you @ some expense of money.
Works for Emulator: Hercules/rAthena/Others(if any)
Services:
Scripting. (Min Price:5$ ) Source Modification(/Addition).(Min Price: 5$) Converting to/Creating a Plugin[Hercules Specific].(Min Price: 5$) Migrating Your Server. (Min Price: 10$) Adding Custom Items/Maps/Mobs. (Min Price: 5$) Creating/Adding New Skills. (Min Price: 10$) Changing of Emulator (Min Price: 10$) ClientSide Things. (Min Price: 5$) Fixing Errors. (Min Price: 5$) Script Review. Consulting And Anything else, that you want, just drop me a PM
Maximum Price: Depends on Complexity of the Work
What Else:
Free Support for Service bought from me.
Contact Info:
Post Here Via PM Payment Methods:
PayPal Only PM me if you want any other payment method, and I might check If I can have it.
Status: AVAILABLE
-
Dastgir got a reaction from fiction in dDelays(Anti NoDelays) - Releasing this weekend
Hello Community,
What is dDelays?
You should have heard about Delays hack by editing out grf or whatsoever method..
This will make the delays hard-coded and will not be able to use those hacks.
Site https://ddelays.dastgir.tech/ Price Introductory Offer:
Weekly: 1.25$
Monthly: 5$
Quarterly: 18$
Beta Date 27th October 2019 (Sunday) Payment Method PayPal / PayTM / Others(Message in discord) Discord
For Any kind of support/question/payment related query: https://discord.gg/sb4mkdH Emulators Hercules (Fully Supported). Other Emulator Support coming by 3rd November 2019 (Sunday)
-
Dastgir reacted to Anisotropic Defixation in Warp Hit Delay
This would be more useful if it triggered when the player does damage, not when the player gets damaged, or maybe both options could be present.
-
Dastgir got a reaction from Legend in i need little help of scripting a freebies npc
new_1-1,51,67,3 script ShadowRO Gifter 10039,{
mes "[ShadowRO Gift]";
mes "Hi, Welcome to Shadow Ragnarok Online !";
if (#gotgift) {
mes "You have already claimed your gift.";
close;
}
mes "Do you want your gift ?";
next;
switch(select("Sure !", "Hmmm..")) {
case 1:
mes "[ShadowRO Gift]";
mes "Have Fun,";
mes "Remember, the job master will meet you in the middle of prontera.";
next;
mes "[ShadowRO Gift]";
mes "See You !";
next;
savepoint "prontera",116,73;
getitem 755, 1;
#gotgift = 1;
warp "prontera",116,73;
end;
case 2:
mes "[ShadowRO Gift]";
mes "... !?";
close;
}
}
-
Dastgir got a reaction from Legend in Permanant Group Changer
File Name: Permanant Group Changer
File Submitter: Dastgir
File Submitted: 22 Jul 2014
File Category: Utility
This is a command "@adjgroup2" From which you can give a character new GroupID, no matter he is online or offline.
The New Group is changed permanently.
Usage:
@adjgroup2 <GroupID> <PlayerName>
If PlayerName contains Spaces, Just put it with spaces, without Quotes.
Click here to download this file
-
Dastgir got a reaction from Legend in Card announce
atleast a little edit might be required, just to get itemID into script from getrandgroupitem.
In that case:
Script.c:
/* getrandgroupitem <container_item_id>,<quantity> */ BUILDIN(getrandgroupitem) { struct item_data *data = NULL; struct map_session_data *sd = NULL; int nameid = script_getnum(st, 2); int count = script_getnum(st, 3); if( !(data = itemdb->exists(nameid)) ) { ShowWarning("buildin_getrandgroupitem: unknown item id %d\n",nameid); script_pushint(st, 1); } else if ( count <= 0 ) { ShowError("buildin_getrandgroupitem: qty is <= 0!\n"); script_pushint(st, 1); } else if ( !data->group ) { ShowWarning("buildin_getrandgroupitem: item '%s' (%d) isn't a group!\n",data->name,nameid); script_pushint(st, 1); } else if( !( sd = script->rid2sd(st) ) ) { ShowWarning("buildin_getrandgroupitem: no player attached!! (item %s (%d))\n",data->name,nameid); script_pushint(st, 1); } else { int i, get_count, flag; struct item it; memset(&it,0,sizeof(it)); nameid = itemdb->group_item(data->group); it.nameid = nameid; it.identify = itemdb->isidentified(nameid); if (!itemdb->isstackable(nameid)) get_count = 1; else get_count = count; for (i = 0; i < count; i += get_count) { // if not pet egg if (!pet->create_egg(sd, nameid)) { if ((flag = pc->additem(sd, &it, get_count, LOG_TYPE_SCRIPT))) { clif->additem(sd, 0, 0, flag); if( pc->candrop(sd,&it) ) map->addflooritem(&sd->bl, &it, get_count, sd->bl.m, sd->bl.x, sd->bl.y, 0, 0, 0, 0); } } } script_pushint(st, 0); } return true; } To
/* getrandgroupitem <container_item_id>,<quantity> */ BUILDIN(getrandgroupitem) { struct item_data *data = NULL; struct map_session_data *sd = NULL; int nameid = script_getnum(st, 2); int count = script_getnum(st, 3); if( !(data = itemdb->exists(nameid)) ) { ShowWarning("buildin_getrandgroupitem: unknown item id %d\n",nameid); script_pushint(st, 1); } else if ( count <= 0 ) { ShowError("buildin_getrandgroupitem: qty is <= 0!\n"); script_pushint(st, 1); } else if ( !data->group ) { ShowWarning("buildin_getrandgroupitem: item '%s' (%d) isn't a group!\n",data->name,nameid); script_pushint(st, 1); } else if( !( sd = script->rid2sd(st) ) ) { ShowWarning("buildin_getrandgroupitem: no player attached!! (item %s (%d))\n",data->name,nameid); script_pushint(st, 1); } else { int i, get_count, flag; struct item it; memset(&it,0,sizeof(it)); nameid = itemdb->group_item(data->group); it.nameid = nameid; it.identify = itemdb->isidentified(nameid); if (!itemdb->isstackable(nameid)) get_count = 1; else get_count = count; for (i = 0; i < count; i += get_count) { // if not pet egg if (!pet->create_egg(sd, nameid)) { if ((flag = pc->additem(sd, &it, get_count, LOG_TYPE_SCRIPT))) { clif->additem(sd, 0, 0, flag); if( pc->candrop(sd,&it) ) map->addflooritem(&sd->bl, &it, get_count, sd->bl.m, sd->bl.x, sd->bl.y, 0, 0, 0, 0); } } } script_pushint(st, nameid); } return true; } * just script_pushint(st, 0) is changed above *
Then you can do from script side as follows in item_db script section:
.@item = getrandgroupitem(12246, 1); if (.@item > 1) { announce strcharinfo(PC_NAME) +" Got "+ getitemname(.@item) +" From MVA", bc_all; } -
Dastgir got a reaction from dfabsgwapings in Card announce
atleast a little edit might be required, just to get itemID into script from getrandgroupitem.
In that case:
Script.c:
/* getrandgroupitem <container_item_id>,<quantity> */ BUILDIN(getrandgroupitem) { struct item_data *data = NULL; struct map_session_data *sd = NULL; int nameid = script_getnum(st, 2); int count = script_getnum(st, 3); if( !(data = itemdb->exists(nameid)) ) { ShowWarning("buildin_getrandgroupitem: unknown item id %d\n",nameid); script_pushint(st, 1); } else if ( count <= 0 ) { ShowError("buildin_getrandgroupitem: qty is <= 0!\n"); script_pushint(st, 1); } else if ( !data->group ) { ShowWarning("buildin_getrandgroupitem: item '%s' (%d) isn't a group!\n",data->name,nameid); script_pushint(st, 1); } else if( !( sd = script->rid2sd(st) ) ) { ShowWarning("buildin_getrandgroupitem: no player attached!! (item %s (%d))\n",data->name,nameid); script_pushint(st, 1); } else { int i, get_count, flag; struct item it; memset(&it,0,sizeof(it)); nameid = itemdb->group_item(data->group); it.nameid = nameid; it.identify = itemdb->isidentified(nameid); if (!itemdb->isstackable(nameid)) get_count = 1; else get_count = count; for (i = 0; i < count; i += get_count) { // if not pet egg if (!pet->create_egg(sd, nameid)) { if ((flag = pc->additem(sd, &it, get_count, LOG_TYPE_SCRIPT))) { clif->additem(sd, 0, 0, flag); if( pc->candrop(sd,&it) ) map->addflooritem(&sd->bl, &it, get_count, sd->bl.m, sd->bl.x, sd->bl.y, 0, 0, 0, 0); } } } script_pushint(st, 0); } return true; } To
/* getrandgroupitem <container_item_id>,<quantity> */ BUILDIN(getrandgroupitem) { struct item_data *data = NULL; struct map_session_data *sd = NULL; int nameid = script_getnum(st, 2); int count = script_getnum(st, 3); if( !(data = itemdb->exists(nameid)) ) { ShowWarning("buildin_getrandgroupitem: unknown item id %d\n",nameid); script_pushint(st, 1); } else if ( count <= 0 ) { ShowError("buildin_getrandgroupitem: qty is <= 0!\n"); script_pushint(st, 1); } else if ( !data->group ) { ShowWarning("buildin_getrandgroupitem: item '%s' (%d) isn't a group!\n",data->name,nameid); script_pushint(st, 1); } else if( !( sd = script->rid2sd(st) ) ) { ShowWarning("buildin_getrandgroupitem: no player attached!! (item %s (%d))\n",data->name,nameid); script_pushint(st, 1); } else { int i, get_count, flag; struct item it; memset(&it,0,sizeof(it)); nameid = itemdb->group_item(data->group); it.nameid = nameid; it.identify = itemdb->isidentified(nameid); if (!itemdb->isstackable(nameid)) get_count = 1; else get_count = count; for (i = 0; i < count; i += get_count) { // if not pet egg if (!pet->create_egg(sd, nameid)) { if ((flag = pc->additem(sd, &it, get_count, LOG_TYPE_SCRIPT))) { clif->additem(sd, 0, 0, flag); if( pc->candrop(sd,&it) ) map->addflooritem(&sd->bl, &it, get_count, sd->bl.m, sd->bl.x, sd->bl.y, 0, 0, 0, 0); } } } script_pushint(st, nameid); } return true; } * just script_pushint(st, 0) is changed above *
Then you can do from script side as follows in item_db script section:
.@item = getrandgroupitem(12246, 1); if (.@item > 1) { announce strcharinfo(PC_NAME) +" Got "+ getitemname(.@item) +" From MVA", bc_all; } -
Dastgir got a reaction from bhaskara. in Job Spoiler
Hello Community,
I was busy during last few months, and now I have been working on this thing to get supported on Hercules,
Here's few screenshots:
Spoiler 2: (Only 4 skills coded)
-
Dastgir got a reaction from Nashruful in Freebies NPC [ Modified ]
prontera,150,150,5 script freebie_set 999,{if (#freebie_set){ mes "You have already claimed your freebies"; close;}OnPCLoginEvent: if (#freebie_set){ end; } mes "Select Freebie Set"; switch(select("STR:INT:VIT:LUK:DEX:AGI")){ case 1: getitem STR_SET1,1; getitem STR_SET2,1; #freebie_set = 1; break; case 2: getitem INT_SET1,1; getitem INT_SET2,1; #freebie_set = 2; break; case 3: getitem VIT_SET1,1; #freebie_set = 3; break; case 4: getitem LUK_SET1,1; #freebie_set = 4; break; case 5: getitem DEX_SET1,1; #freebie_set = 5; break; case 6: getitem AGI_SET1,1; #freebie_set = 6; break; } close;} setting #freebie_set to different values will give you ability to track which set the player as chosen like to check
if (#freebie_set==6){ mes "You have already taken AGI Set as Freebies"; } -
Dastgir got a reaction from Nashruful in QUEST SHOP NPC
If you mean TCG Shop, here it is
prontera,153,152,1 trader TCGShop 4_F_EDEN_OFFICER,{ OnInit: tradertype(NST_CUSTOM); sellitem Red_Potion,2; //Sell Red Potion for 2z sellitem Orange_Potion; //Sell Orange Potion with default price. /* Add All Items to be sold here */ end;OnCountFunds: setcurrency(countitem(TCG_Card)); end;OnPayFunds: if( countitem(TCG_Card) < @price ) end; delitem TCG_Card,@price; purchaseok(); end;} -
Dastgir got a reaction from ShadowChaser in 2016-02-03aRagexeRE
Manually hex it, new ragexe could be released *soon* -
Dastgir got a reaction from ShadowChaser in 2016-02-03aRagexeRE
Yes, it's also available in 2015-10 clientd
-
Dastgir got a reaction from Harmony in [2014-10-22b] Unable to see normal weapon sprites when attacking
I guess itemInfo not having proper ClassNum?
-
Dastgir got a reaction from Singularity in [Question] Exe for eamod
Personal tip: eAmod is buggy and that one is not updated from long time. I suggest you to use some other emulator
-
Dastgir got a reaction from x13th in Char server stopped
Hercules accepts any kind of contribution, since all the projects of RO are GPL licensed, you are free to modify/Share it , provided that you give proper credit to them. So you don't need to be the author to share it, you just need to provide proper credit of where you have taken the source from... And everything else is fine.
-
Dastgir got a reaction from n0tttt in [Question] Exe for eamod
Personal tip: eAmod is buggy and that one is not updated from long time. I suggest you to use some other emulator
-
Dastgir got a reaction from rayleigh in Gravity error without message
Those 2 announcement might be the one xD
Some clients do have problem with announcing pattern, like some client cant handle colon ":" on announcement and so on...
Those 2 announcement might be having some symbol or special character which client might not be able to process properly.
Other than that, everything is fine