Jump to content

Dastgir

Script Developers
  • Content Count

    3803
  • Joined

  • Last visited

  • Days Won

    249

Everything posted by Dastgir

  1. Seems like you are missing db/constants.confOr you updated the source but haven't recompiled. And we were talking of applying SQL upgrade(as per topmost warning in the 1st post, 2nd pic)
  2. Just to mention, XenForo and IPB are paid forums...
  3. If I remember well, you need to put your client somewhere on HaShield Server too,
  4. Maybe you have wrong client date in SRC/common/mmo.h
  5. Tell host to install the pcre pcre has been made necessary for hercules.
  6. You need to install pcre on the machine CentOS: yum install pcre-devel Debian Based System: apt-get install libpcre3-dev Tip: Don't go with host which can't even give you ssh access
  7. See the errors, you are missing several upgrades file (2nd pic) import those files (Located at sql-files/upgrades/ ), and try again
  8. Is that someone me? xDNice, thanks for it
  9. Gepard looks for all files in RO for, and if it finds the file unwanted for RO, it tells you to delete it, so removing all files mentioned by gepard will do the work
  10. It's not an overall protection, its just a no delay protection
  11. Don't patch with hklm to hkcu, and about the error, you don't have System/Font folder inside RO
  12. Dastgir

    Erro dos2unix

    chmod a+x configure Then ./configure Or yum install dos2unix dos2unix configure
  13. Change .third_classes = 1; // Enable third classes/Extended Classes? (1: yes / 0: no) To .third_classes = 0; // Enable third classes/Extended Classes? (1: yes / 0: no)
  14. New features get added to newer ragexe's I would recommend 2014-02-05 if you want to use it in production server, if its just for you, then use 2015-05-15
  15. The summoner skill is too unbalanced.. I am waiting for some PR to get merged before making PR of this... This PR will only include few skills as mentioned above.
  16. Updated Timeline till 16.1 (Still few more to go)
  17. For 1st link i think its not work anymore. 2nd link u gv i already have it.. Not i not sure if its still work or not.. Because got player report it still can bypass.. AFAIK, 2nd one is server sided (wondering how player bypass it)
  18. Beta testing will be starting from 20th, and after we thoroughly test it, there would be launch(also I am just planning simple website for guides)
  19. Dastgir

    Item_db.conf

    Script: <" bonus2 bSubRace,RC_Player,10; if(BaseClass==Job_Merchant){ bonus2 bSkillAtk,485,10; bonus bAspdRate,5; } else if(BaseClass==Job_Thief) { bonus2 bAddEle,Ele_Holy,10; bonus bAspdRate,5; } else if(BaseJob==Job_Rogue) { bonus bDex,8; bonus bInt,12; } else if(BaseJob==Job_Ninja) { bonus bDex,12; bonus bInt,12; } "> You forgot bracketsif works for one statement only, if you want more than one, then use curly brackets
  20. @is it way possible? let me know i want this source mod also just PM ME.The answer is no, unless you find a way to modify the client
  21. Use NEMO They have Patch called "Extended NPC Box/ Extend NPC Box" that might help you
  22. // ~~~~~ show time left in days, hours, minutes and seconds ~~~~~ function script timeleft__ { if ( ( .@left = getarg(0) ) <= 0 ) return getarg(0); .@day = .@left / 86400; .@hour = .@left % 86400 / 3600; .@min = .@left % 3600 / 60; .@[member=SEC] = .@left % 60; if ( .@day ) return .@day +" day "+ .@hour +" hour"; else if ( .@hour ) return .@hour +" hour "+ .@min +" min"; else if ( .@min ) return .@min +" min "+ .@[member=SEC] +" sec"; else return .@[member=SEC] +" sec"; } prontera,152,178,3 script szfjkii 406,{ mes "- each difficulty have 10 levels", "- each difficulty have given time to finish the instance", "- for Normal: 30 minutes", "- for Hard: 45 minutes", "- for Nightmare: 60 minutes", "- for Hardcore: 90 minutes"; next; // can re-enter if already generated if( getcharid(1) && instance_mapname(.map_inst$) != "" ) { if ( select( "Enter", "Cancel" ) -1 ) { mes "See ya."; close; } if ( has_instance( .map_inst$ ) == "" ) { mes "Your group is already registered at an other instance."; close; } getpartymember getcharid(1), 1; if ( $@partymembercount > .max_players ) { mes "Maximum of "+ .max_players +" members in the party"; close; } // check job if a player is invited if( .same_job ) { .@self = getcharid(3); for( .@i = 0; .@i < $@partymembercount; .@i++ ) { if( isloggedin( $@partymemberaid[ .@i ], $@partymembercid[ .@i ] ) ) { attachrid( $@partymemberaid[ .@i ] ); .@job_name$ = .@job_name$ + jobname(Class) +"|"; } } attachrid( .@self ); if( countstr( .@job_name$, jobname(Class) ) > 1 ) { mes "sorry there is 2 same job in the party, you can't enter."; close; } } // check delay if a player is invited for( .@i = 0; .@i < getarraysize( getd( ".char_id"+ getcharid(1) ) ); .@i++ ) if( getd( ".char_id"+ getcharid(1) +"["+ .@i +"]" ) == getcharid(0) ) { .@pass = 1; break; } if( !.@pass ) { if( gettimetick(2) < Delay_instance ) { mes "sorry you must wait "+ callfunc( "timeleft__", Delay_instance - gettimetick(2) ) +" before enter"; close; } .@size = getarraysize( getd( ".char_id"+ getcharid(1) ) ); setd( ".char_id"+ getcharid(1) +"[ "+ .@size +" ]", getcharid(0) ); Delay_instance = gettimetick(2) + 3600 * 3; } instance_announce has_instance2(.map_inst$), strcharinfo(0)+" of the party "+ getpartyname( getcharid(1) ) +" is entering in the instance.",bc_map; warp has_instance( .map_inst$ ),50,50; end; } if ( select ( "Normal", "Hard", "Hardcore", "Nightmare", "Leave" ) == 5 ) {// using @menu for instancing mes "See ya."; close; } else if( !getcharid(1) ) { mes "You need to be in party ( Maximum of "+ .max_players +" members )."; close; } // check delay of players in the party getpartymember getcharid(1), 1; getpartymember getcharid(1), 2; .@self = getcharid(3); for( .@i = 0; .@i < $@partymembercount; .@i++ ) { if( isloggedin( $@partymemberaid[ .@i ], $@partymembercid[ .@i ] ) ) { attachrid( $@partymemberaid[ .@i ] ); if( gettimetick(2) < Delay_instance ) { .@name$ = strcharinfo(0); .@time = Delay_instance - gettimetick(2); attachrid( .@self ); mes "sorry "+ .@name$ +" must wait "+ callfunc( "timeleft__", .@time ) +" before enter"; close; } else if( compare( .@job_name$, jobname(Class) ) && .same_job ) { .@name$ = strcharinfo(0); .@job$ = jobname(Class); attachrid( .@self ); mes "sorry, "+ .@name$ +" is "+ .@job$ +" and there is already a "+ .@job$ +" in the party"; close; } .@job_name$ = .@job_name$ + jobname(Class) +"|"; } } attachrid( .@self ); if ( $@partymembercount > .max_players ) { mes "Maximum of "+ .max_players +" members in the party"; close; } else if( getpartyleader( getcharid(1),2 ) != getcharid(0) ) { mes "I only talk to your leader."; close; } mes "If the instance is successfully generated all your party will be warp inside. Get ready"; next; .@inst_id = instance_create(.name_inst$, getcharid(1)); if( .@inst_id < 0 ){ mes "Failed. Contact a GM."; close; } if ( instance_attachmap( .map_inst$, .@inst_id ) == "") { mes "^0000ff"+ .name_inst$ +" ^000000- Reservation Failed!"; instance_destroy(.@inst_id); close; } instance_set_timeout .timelimit[ @menu ], .timeidle, .@inst_id; instance_init .@inst_id; instance_attach .@inst_id; 'diff$ = .diff$[ @menu ]; 'party_id = getcharid(1); 'time_inst = gettimetick(2) + .timelimit[ @menu ]; 'inst_id = .@inst_id; 'max_players = .max_players; donpcevent instance_npcname( "Inst_cust" ) +"::Oninstancing"; sleep2 50; getpartymember getcharid(1), 1; getpartymember getcharid(1), 2; .@self = getcharid(3); if( .same_job ) { .@job_name$ = ""; for( .@i = 0; .@i < $@partymembercount; .@i++ ) { if( isloggedin( $@partymemberaid[ .@i ], $@partymembercid[ .@i ] ) ) { attachrid( $@partymemberaid[ .@i ] ); .@job_name$ = .@job_name$ + jobname(Class) +"|"; } } } // dispbottom .@job_name$; for( .@i = 0; .@i < $@partymembercount; .@i++ ) { if( isloggedin( $@partymemberaid[ .@i ], $@partymembercid[ .@i ] ) ) { attachrid( $@partymemberaid[ .@i ] ); if( gettimetick(2) >= Delay_instance && countstr( .@job_name$, jobname(Class) ) <= 1 ) { Delay_instance = gettimetick(2) + 3600 * 3; .@size = getarraysize( getd( ".char_id"+ getcharid(1) ) ); setd( ".char_id"+ getcharid(1) +"[ "+ .@size +" ]", getcharid(0) ); warp has_instance( .map_inst$ ),50,50; } } } // warpparty has_instance( .map_inst$ ),50,50, getcharid(1); close; OnDelete: deletearray getd( ".char_id"+ getvariableofnpc( .party_id, "Inst_cust") ); end; OnInit: .same_job = 1; // DON'T allow 2 same job to enter in the instance .map_inst$ = "1@guild"; // instance map's name .name_inst$ = "Custom instance"; // instance name display .timeidle = 300; // time (sec) to re-enter in the instance when all players outside .max_players = 4; // max players in the party // time limit (sec) of the instance per level - Normal, Hard, Hardcore, Nightmare setarray .timelimit[ 1 ], 1800, 2700, 3600, 4500; // Difficulty's names - Don't touch setarray .diff$[ 1 ], "Normal", "Hard", "Hardcore", "Nightmare"; end; } 1@guild,0,0,0 script Inst_cust -1,{ function Countpartyonline; function Reward; OnInit: .npc_enter$ = "szfjkii"; // name of the NPC to enter in the instance // Number ( monsters / round / difficulty ) initialized setarray .mob_init_Normal[ 1 ], 1, 2, 3, 4, 5, 6, 7, 8, 9, 10; setarray .mob_init_Hard[ 1 ], 2, 3, 4, 5, 6, 7, 8, 9, 10, 12; setarray .mob_init_Hardcore[ 1 ], 3, 4, 5, 6, 7, 8, 9, 10, 11, 13; setarray .mob_init_Nightmare[ 1 ], 5, 6, 7, 8, 9, 10, 12, 14, 16, 20; // Hero ( points / round / difficulty ) - using #hero_points variable setarray .hero_points_Normal[ 1 ], 100,110,120,130,140,150,160,170,180,200; setarray .hero_points_Hard[ 1 ], 120,140,160,180,200,220,240,260,280,300; setarray .hero_points_Hardcore[ 1 ], 150,180,210,240,270,300,330,360,390,420; setarray .hero_points_Nightmare[ 1 ], 200,250,300,350,400,450,500,550,600,700; // Time (min) / round / difficulty setarray .time_Normal[ 1 ], 1,2,3,4,5,6,7,8,9,10; setarray .time_Hard[ 1 ], 2,4,6,8,10,12,14,16,18,20; setarray .time_Hardcore[ 1 ], 3,6,9,12,15,18,21,24,27,30; setarray .time_Nightmare[ 1 ], 4,8,12,16,20,24,28,32,36,40; // Mob ID / round // Level : Normal setarray .mob_ID_Normal_round1[ 0 ], 1002,1005,1004;// poring, hornet, familiar setarray .mob_ID_Normal_round2[ 0 ], 1002,1005; setarray .mob_ID_Normal_round3[ 0 ], 1002,1005,1004; setarray .mob_ID_Normal_round4[ 0 ], 1002,1005,1004; setarray .mob_ID_Normal_round5[ 0 ], 1002,1005,1004,1005; setarray .mob_ID_Normal_round6[ 0 ], 1002,1005,1004; setarray .mob_ID_Normal_round7[ 0 ], 1002,1005,1004; setarray .mob_ID_Normal_round8[ 0 ], 1002,1005,1004; setarray .mob_ID_Normal_round9[ 0 ], 1002,1005,1004; setarray .mob_ID_Normal_round10[ 0 ], 1002,1005,1004; // Level : Hard setarray .mob_ID_Hard_round1[ 0 ], 1002,1005,1004; setarray .mob_ID_Hard_round2[ 0 ], 1002,1005,1004; setarray .mob_ID_Hard_round3[ 0 ], 1002,1005,1004; setarray .mob_ID_Hard_round4[ 0 ], 1002,1005,1004; setarray .mob_ID_Hard_round5[ 0 ], 1002,1005,1004; setarray .mob_ID_Hard_round6[ 0 ], 1002,1005,1004; setarray .mob_ID_Hard_round7[ 0 ], 1002,1005,1004; setarray .mob_ID_Hard_round8[ 0 ], 1002,1005,1004; setarray .mob_ID_Hard_round9[ 0 ], 1002,1005,1004; setarray .mob_ID_Hard_round10[ 0 ], 1002,1005,1004; // Level : Hardcore setarray .mob_ID_Hardcore_round1[ 0 ], 1002,1005,1004; setarray .mob_ID_Hardcore_round2[ 0 ], 1002,1005,1004; setarray .mob_ID_Hardcore_round3[ 0 ], 1002,1005,1004; setarray .mob_ID_Hardcore_round4[ 0 ], 1002,1005,1004; setarray .mob_ID_Hardcore_round5[ 0 ], 1002,1005,1004; setarray .mob_ID_Hardcore_round6[ 0 ], 1002,1005,1004; setarray .mob_ID_Hardcore_round7[ 0 ], 1002,1005,1004; setarray .mob_ID_Hardcore_round8[ 0 ], 1002,1005,1004; setarray .mob_ID_Hardcore_round9[ 0 ], 1002,1005,1004; setarray .mob_ID_Hardcore_round10[ 0 ], 1002,1005,1004; // Level : Nightmare setarray .mob_ID_Nightmare_round1[ 0 ], 1002,1005,1004; setarray .mob_ID_Nightmare_round2[ 0 ], 1002,1005,1004; setarray .mob_ID_Nightmare_round3[ 0 ], 1002,1005,1004; setarray .mob_ID_Nightmare_round4[ 0 ], 1002,1005,1004; setarray .mob_ID_Nightmare_round5[ 0 ], 1002,1005,1004; setarray .mob_ID_Nightmare_round6[ 0 ], 1002,1005,1004; setarray .mob_ID_Nightmare_round7[ 0 ], 1002,1005,1004; setarray .mob_ID_Nightmare_round8[ 0 ], 1002,1005,1004; setarray .mob_ID_Nightmare_round9[ 0 ], 1002,1005,1004; setarray .mob_ID_Nightmare_round10[ 0 ], 1002,1005,1004; .round_max = 10; // round max end; // Instance start // -------------- Oninstancing: sleep 10000; // New round // --------- LStart: 'round++; instance_announce 'inst_id, 'round + ( 'round % 10 == 1 ? "st" : ( 'round % 10 == 2 ? "nd" : ( 'round % 10 == 3 ? "rd" : "th" ) ) ) +" round in :", bc_map; for( .@i = 5; .@i > 0; .@i-- ) { instance_announce 'inst_id, .@i +"" ,bc_map; sleep 1000; } donpcevent instance_npcname( "Inst_cust" ) +"::OnTimevent";// initialize time limit for the round goto OnRound; // Monster is dead : check player on map + reward if 0 mob // ------------------------------------------------------- OnMobDead: if( instance_check_party( 'party_id,'max_players +1 ) ) {// check if there are more than 4 players in the party instance instance_announce 'inst_id, "To much players. End of instance.", bc_map; 'round = .round_max + 1; goto L_pr; } 'count = mobcount( strnpcinfo(4), instance_npcname( "Inst_cust", 'inst_id ) +"::OnMobDead" ); instance_announce instance_id(0), 'count +" monsters left" ,bc_map; if( !'count ) { instance_announce 'inst_id, "All monsters on the "+ 'round + ( 'round % 10 == 1 ? "st" : ( 'round % 10 == 2 ? "nd" : ( 'round % 10 == 3 ? "rd" : "th" ) ) ) +" level have been defeated.", bc_map; Reward();// hero points / round / difficulty if( 'round == .round_max ) { 'round = .round_max + 1; goto L_end; } goto LStart; } end; // Random (spawn / round / difficulty) // ----------------------------------- OnRound: .@spawn = 'count = Countpartyonline() + getd( ".mob_init_"+ 'diff$ +"[ "+ 'round +" ]" );// spawn count = ( monster initialized / round / difficulty ) + number players online in party instance_announce 'inst_id, "you have "+ getd( ".time_"+ 'diff$ +"[ "+ 'round +" ]" ) +" min to finish this round in "+ 'diff$ +" mode. "+ .@spawn +" mobs are spawned",bc_map; while( .@spawn ) {// spawned ( monster / round / difficulty ) randomly .@[member=Rand] = rand( 1,.@spawn );// number mobs .@spawn = .@spawn - .@[member=Rand]; .@i = rand( getarraysize( getd( ".mob_ID_"+ 'diff$ +"_round"+ 'round ) ) );// ID mob monster "1@guild",0,0,"--ja--", getd( ".mob_ID_"+ 'diff$ +"_round"+ 'round +"[ "+ .@i +" ]" ), .@[member=Rand], instance_npcname( strnpcinfo(0),'inst_id )+"::OnMobDead"; } end; // End of instance // --------------- L_end: instance_announce 'inst_id, "Congratulation you have finished the instance in "+ callfunc( "timeleft__", 'time_inst - gettimetick(2) ), bc_map; OnTimevent:// time limit / round / difficulty awake instance_npcname( "Inst_cust" ); if( 'round <= .round_max ) { sleep 1; 'tmp = 'round; sleep 1000 * 60 * getd( ".time_"+ 'diff$ +"[ "+ 'round +" ]" ); if( 'round != 'tmp ) end; instance_announce 'inst_id, "you take to much time.", bc_map; } L_pr: instance_warpall "prontera", 152,178, 'inst_id; .party_id = 'party_id; donpcevent .npc_enter$ +"::OnDelete"; sleep 500; instance_destroy 'inst_id; end; // Functions // --------- function Countpartyonline { getpartymember 'party_id, 1; getpartymember 'party_id, 2; for( .@i = 0; .@i < $@partymembercount; .@i++ ) { if( isloggedin( $@partymemberaid[ .@i ], $@partymembercid[ .@i ] ) && getarg( 0,1 ) ) .@j++; // else if( isloggedin( $@partymemberaid[ .@i ], $@partymembercid[ .@i ] ) && !getarg( 0,1 ) ) { // attachrid( $@partymemberaid[ .@i ] ); // Delay_instance = gettimetick(2) + 3600 * 3; // } } return .@j; } function Reward { getpartymember 'party_id, 1; getpartymember 'party_id, 2; .@tmp$ = strcharinfo(3); for( .@i = 0; .@i < $@partymembercount; .@i++ ) if( isloggedin( $@partymemberaid[ .@i ], $@partymembercid[ .@i ] ) ) { attachrid( $@partymemberaid[ .@i ] ); if( strcharinfo(3) == .@tmp$ ) { #hero_points = #hero_points + getd( ".hero_points_"+ 'diff$ +"[ "+ 'round +" ]" ); dispbottom "Gained : "+ getd( ".hero_points_"+ 'diff$ +"[ "+ 'round +" ]" ) +" Hero Points. Total : "+ #hero_points; } } return; } // function Delayparty { // Countpartyonline( 0 ); // return; // } } 1@guild mapflag nowarp 1@guild mapflag partylock 1@guild mapflag nowarpto 1@guild mapflag noteleport 1@guild mapflag nosave SavePoint 1@guild mapflag nomemo 1@guild mapflag nobranch 1@guild mapflag monster_noteleport (Haven't looked into other parts except the instance commands)
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.