Dastgir
Script Developers-
Content Count
3805 -
Joined
-
Last visited
-
Days Won
250
Content Type
Profiles
Forums
Downloads
Staff Applications
Calendar
Everything posted by Dastgir
-
For Linux: http://upaste.me/2220e2^ this change is required.
-
Updated: https://github.com/dastgir/HPM-Plugins/blob/master/src/plugins/costumeitem.c ( I wonder why new topics are made if its for existing plugin support, and owner of plugin is active, could have been asked in respective plugin topic )
-
Updated costumeitem, no longer gives any stats : https://github.com/dastgir/HPM-Plugins/blob/master/src/plugins/costumeitem.c
-
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:
-
Try changing graphics setting?
-
Maybe those scripts have something else too, which is making your map-server to freeze,Multiple OnPcLogin hardly would do that... Check OnInit Part, most likely, thats the part if you can't login due to script.
-
Community Help Needed for Quick Development.
Dastgir replied to Dastgir's topic in Development Discussion
Thats too easy, if someone makes a replay(or packet capture), with just moving around the map, we can get to know exact monster count by checking unique GID -
Rebellion is not implemented in Hercules
-
Maybe some other plugin is causing it? Or your cashshop db is giving error?
-
The first occurred case is stored, so if server first reads a script which have ONQUIT, and you have OnQuit too, it will show you to change to ONQUIT.
-
https://github.com/dastgir/HPM-Plugins/blob/master/src/plugins/hit-delay.c This was updated many days before
-
Community Help Needed for Quick Development.
Dastgir replied to Dastgir's topic in Development Discussion
Just run your client with -Replay parameter.You can convert it to video file only by playing replay in your client and recording its screen.. Why not just record the screen while taking the QUEST or using the NPC haha. Skip the client replay system entirely. (Windows 10 also has a built-in Game DVR capabilities, so I recommend that ) I'm willing to help scripting the quests as well once we have some data Skip the client replay system entirely. Replay System have some benefit, as of feeling the quest, and replaying as needed, and easy to copy -
Community Help Needed for Quick Development.
Dastgir replied to Dastgir's topic in Development Discussion
Anything is better than Nothing... -
A full tutorial to update to latest hercules
Dastgir replied to mrlongshen's question in General Server Support
I use following way git commit -am"Change Commit Msg"git pullgit commit will save all your changes with the commit message as mentioned.git pull will fetch new content and try to merge it with yours, if conflict is found, it would show the files where conflict is there.. Manually solve the conflicts then type git commit -m ^ Only if conflict is there(there will be instruction though to do this.) Other method is squash and pop, w/e, both will save your changes. -
Type this: yum install pcre-develThen reconfigure and clean recompile by ./configuremake cleanmake all
-
1) pass packets for communication between map/login server...
-
Add a simple mes, that if you don't activate security, you will be disconnected. The close button is from client, and we can't do anything for it.
-
Search for new mobs around the download section(i remember there's few)
-
Community Help Needed for Quick Development.
Dastgir replied to Dastgir's topic in Development Discussion
So you have portion of the script ready? -
Yes, that was normal... Here's with your request: /* By Dastgir/Hercules Use Plugin too along with this script(Found in https://github.com/dastgir/HPM-Plugins)*/- script Security -1,{OnInit: bindatcmd("security",strnpcinfo(0)+"::OnSecurity",0,99); /* Config */ .max_attempt = 5; //3 Times Wrong Attempt = Ban. .ban_hour = 1; //Hours to ban .allowed = 1|2|4|8|16|32|64|128|512|1024|2048|4096; //Allowed Settings.. end;OnKick: if (!#security) { atcommand "@kick "+strcharinfo(0); } end; OnPCLoginEvent: if ($security){ if (!#security){ addtimer 1000, strnpcinfo(3) +"::OnKick"; callsub OnPlayerMenu; } } close;OnSecurity: if (getgmlevel()){ mes "[^FFA500 Security System ^000000]"; mes "Hello GM, How may I help you?"; callsub OnGMMenu; end; } OnPlayerMenu: // Don't Change Order. setarray .@restrictions$,"Can't Drop Item", // 1 "Can't receive Trade Requests", // 2 "Can't send Trade Request", // 4 "Can't open Guild Storage", // 8 "Can't take item from guild storage", // 16 "Can't add item to guild storage", // 32 "Can't sell items", // 64 "Can't use Vending", // 128 "Can't delete items by any means", // 256 "Can't buy items", // 512 "Can't Send Guild Invite", // 1024 "Can't Receive Guild Invite", // 2048 "Can't Leave the guild"; // 4096 while (1){ mes "[^FFA500 Security System ^000000]"; mes "Security Status: "+ ((#security>0)?"^00FF00On^000000":"^FF0000Off^000000"); mes "Status: "; for (.@i = 0; .@i < getarraysize(.@restrictions$); .@i++){ .@bit = (1<<.@i); if (.allowed&.@bit) mes .@restrictions$[.@i] + " - "+ ((#secure_opt&.@bit)?"^00FF00On^000000":"^FF0000Off^000000"); } switch(select("Info",((#security>0)?"Dea":"A")+"ctivate the Security","Settings","Close")){ case 4: close; case 3: next; mes "[^FFA500 Security System ^000000]"; if (!#security){ mes "^FF0000You don't have security enabled^000000"; next; break; } mes "Enter your ^FF0000OLD^000000 Security Code"; mes "^FF0000- Wrong Code more than "+ .max_attempt +" times can result into ban.^000000"; mes "Chances Left: "+ (.max_attempt-security_maxtry); input .@security; next; mes "[^FFA500 Security System ^000000]"; if (#secure_code != .@security){ mes "Wrong Code..."; security_maxtry++; if (security_maxtry >= .max_attempt){ atcommand "@ban +"+.ban_hour+"h ""+strcharinfo(0)+"""; //Ban the Player for 1 hour. security_maxtry = 0; //Reset After tha Ban end; } close; } next; security_maxtry = 0; mes "[^FFA500 Security System ^000000]"; mes "Choose Restrictions to Enable/Disable"; .@menu$ = "^00FF00Enable All^000000:^FF0000Disable All^000000:"; .@opt = 0; for (.@i = 0; .@i < getarraysize(.@restrictions$); .@i++){ .@bit = (1<<.@i); if (.allowed&.@bit){ .@index[.@opt] = .@i; .@opt++; .@content$ = .@restrictions$[.@i] + " - "+ ((#secure_opt&.@bit)?"^00FF00On^000000":"^FF0000Off^000000"); .@menu$ = .@menu$ + "" + .@content$ +":"; mes .@content$; } } .@t_menu = select(.@menu$)-1; next; if (.@t_menu == 1){ mes "[^FFA500 Security System ^000000]"; if (!#secure_opt){ mes "You already have all Settings disabled."; next; break; } mes "Are you Sure you want to disable all?"; if (select("Yes:No..") == 2){ next; mes "[^FFA500 Security System ^000000]"; mes "As you wish.."; next; break; } next; mes "[^FFA500 Security System ^000000]"; mes "All Settings Disabled"; #secure_opt = 0; next; break; } else if (.@t_menu == 0){ mes "[^FFA500 Security System ^000000]"; if (#secure_opt >= .allowed){ mes "You already have all Settings enabled."; next; break; } mes "Are you Sure you want to enable all?"; if (select("Yes:No..") == 2){ next; mes "[^FFA500 Security System ^000000]"; mes "As you wish.."; next; break; } next; mes "[^FFA500 Security System ^000000]"; mes "All Settings Enabled"; #secure_opt = .allowed; next; break; } .@t_menu -= 2; .@menu = .@index[.@t_menu]; mes "[^FFA500 Security System ^000000]"; mes .@restrictions$[.@menu]; mes "Are you sure you want to "+ ((#secure_opt&(1<<.@menu))?"Disable":"Enable") +" this?"; if (select("Yes:No..") == 2){ next; mes "[^FFA500 Security System ^000000]"; mes "As you wish.."; next; break; } next; mes "[^FFA500 Security System ^000000]"; mes "Setting "+ ((#secure_opt&(1<<.@menu))?"Disabled":"Enabled"); if (#secure_opt&(1<<.@menu)) #secure_opt -= 1<<.@menu; else #secure_opt += 1<<.@menu; next; break; case 2: next; mes "[^FFA500 Security System ^000000]"; if (#security){ mes "Enter your ^FF0000OLD^000000 Security Code"; mes "^FF0000- Wrong Code more than "+ .max_attempt +" times can result into ban.^000000"; mes "Chances Left: "+ (.max_attempt-security_maxtry); input .@security; next; mes "[^FFA500 Security System ^000000]"; if (#secure_code != .@security){ mes "Wrong Code..."; security_maxtry++; if (security_maxtry >= .max_attempt){ atcommand "@ban +"+.ban_hour+"h ""+strcharinfo(0)+"""; //Ban the Player for 1 hour. security_maxtry = 0; //Reset After tha Ban end; } close; } mes "Security Deactivated."; #security = 0; security_maxtry = 0; close; } mes "Insert your ^00FF00NEW^000000 Security Code"; mes "^FF0000- Must be 4-8 Digits^000000"; mes "^FF0000- Only numerics are allowed(0-9)^000000"; mes "^FF0000- Don't use 0 in beginning of security code^000000"; input .@security; next; mes "[^FFA500 Security System ^000000]"; if (.@security < 1000 || .@security > 99999999){ mes "Security code must be of 4-8 digits."; next; break; } mes "^00FF00 Re-insert the Security Code ^000000"; input .@secu2; next; mes "[^FFA500 Security System ^000000]"; if (.@secu2 != .@security){ mes "Security Code Mismatch.."; next; break; } mes "Security Code Set"; #secure_code = .@security; #security = 1; next; break; case 1: next; mes "[^FFA500 Security System ^000000]"; mes "Security Code can be of 4-8 Digits."; mes "When Security Code is enabled, you can do following settings as a security step:"; for (.@i = 0; .@i < getarraysize(.@restrictions$); .@i++){ .@bit = (1<<.@i); if (.allowed&.@bit) mes "^FF0000- "+ .@restrictions$[.@i] +"^000000"; } next; break; } } end; OnGMMenu: switch(select("Player Menu: Settings")){ case 1: next; callsub OnPlayerMenu; end; case 2: next; mes "[^FFA500 Security System ^000000]"; mes "Force Player to set @security?"; mes "Status: "+ (($security>0)?"^00FF00On^000000":"^FF0000Off^000000"); .@menu = select((($security>0)?"^00FF00Disable^000000":"^FF0000Enable^000000"),"Cancel"); if (.@menu == 2) close; next; mes "[^FFA500 Security System ^000000]"; if ($security) $security = 0; else $security = 1; mes "Force Security Setting Set."; close; } end;}
-
Community Help Needed for Quick Development.
Dastgir replied to Dastgir's topic in Development Discussion
Just run your client with -Replay parameter.You can convert it to video file only by playing replay in your client and recording its screen.. -
How to change Client version in Linux Centos 7
Dastgir replied to GM Clerk's question in General Server Support
It's same method? Change from src/common/mmo.h -
Thats wrong configuration of plugin, though it's just a warning... You can do this to avoid these warning for plugin Right-click project, select "Properties". Click "Build". Switch "Treat warnings as errors" from "All" to "Specific warnings" or "None".
-
Lub is compiled format, while lua is uncomoiled one, what you have is lua files with changed extension... I had say show itemDB for that entry/itemInfo/accname/accessoryid(without tripping), so we might be able to help you fully. With half info, we can just predict what's problem, rather than giving a solution
-
the c++ category on the plugin properties is gone..!!
Dastgir replied to xlaws27's question in Plugin Support
Add atleast 1 file to project , and it will be shown.