Jump to content

Technoken

Members
  • Posts

    505
  • Joined

  • Days Won

    8

Community Answers

  1. Technoken's post in [Q] Emperium was marked as the answer   
    You can do this by replacing mob_mode. Check this link https://github.com/rathena/rathena/blob/master/doc/mob_db_mode_list.txt#L156
  2. Technoken's post in Restrict people from repatching client was marked as the answer   
    You can use grf encryption using grf tool and md5 client hash to prevent your client exe from being modified.
    about the maya purple hack you can switch this to no but it will screw the game animation.
    https://github.com/rathena/rathena/blob/master/conf/battle/client.conf#L185
    Packet obfuscation also block packet spamming so this will help you avoid rpe and wpe.
    But still gameguard like Gepard Shield is the best option if you can spare some $. 
  3. Technoken's post in Hourly reward item script need help was marked as the answer   
    I actually don't see any problem that will stop the after the 12 consecutive hours is executed.
    I checked the script and 
    if(@consecutive_hour == 5) { should be
    if(@consecutive_hour == 12) { If you want the reward to be received after 12 hours.
     
    The script also stops the hourly reward when the player is vending. If you want to only stop the reward when the player logged out remove this code from the script.
    OnTimer30000: //Check if Vending (normal or @at) if(checkvending() >= 1) { dispbottom "The hourly badge rewards has stopped because you were vending . Please relog if you wish to start again."; stopnpctimer; end; }  
    The only thing I see which causes the hourly reward to stop is the player might did vending after the consecutive hour is executed.
  4. Technoken's post in Costume Exploding Crimson Flame view id was marked as the answer   
    You can use @auraset2 to set the aura of the character without affecting the default aura.
    EDIT:
    also try this one 
    31089,C_Exploding_Crimson_Flame,Costume Exploding Crimson Flame,4,0,,0,,,,0,0xFFFFFFFF,63,2,2048,,1,0,0,{},{ while(isequipped(31089)){ specialeffect2 418; sleep2 3000; } },{}  
  5. Technoken's post in Automatic Speed Change on the map was marked as the answer   
    Try 
    - script autospeed -1,{ OnInit: setarray .map_list$[0],"prontera","payon"; // Map lists .map_size = getarraysize(.map_list$); for( .@i = 0; .@i < .map_size; .@i++ ) { .@map$ = .map_list$[.@i]; setmapflag .@map$,mf_loadevent; } end; OnPCLoadMapEvent: for( .@i = 0; .@i < .map_size; .@i++ ) { if( strcharinfo(3) == .map_list$[.@i] ) { atcommand "@speed 1"; @speed = 1; } } end; OnPCStatCalcEvent: if( !@speed )end; for( .@i = 0; .@i < .map_size; .@i++ ) { if( strcharinfo(3) == .map_list$[.@i] ) end; // don't remove speed } atcommand "@speed 150"; // Put normal speed here @speed = 0; end; }  
  6. Technoken's post in Woe Announcer was marked as the answer   
    On your npc/guild/agit_main.txt
    replace these codes
    // Respawn the Emperium, and display new owners. sleep 500; // Slow down script execution slightly. if( agitcheck() ) donpcevent "Agit#"+strnpcinfo(2)+"::OnStartArena"; sleep 7000; announce "The [" + getcastlename(strnpcinfo(2)) + "] castle has been conquered by the [" + getguildName(.@GID) + "] guild.",bc_all|bc_woe; end; to
    set .@breaker$, strcharinfo(0); // Respawn the Emperium, and display new owners. sleep 500; // Slow down script execution slightly. if( agitcheck() ) donpcevent "Agit#"+strnpcinfo(2)+"::OnStartArena"; sleep 7000; announce "The [ " + getcastlename(strnpcinfo(2)) + " ] castle's emperium has been destroyed by [ "+.@breaker$+" ] and conquered by the [ " + getguildName(.@GID) + " ] guild.",bc_all|bc_woe; end;  
  7. Technoken's post in H> SRC error on Headgear to costume. was marked as the answer   
    Maybe your current trunk doesn't support Shadow equipments.
    If you're not willing to update it to the latest rAthena git. Try to remove the shadow equipments in this part https://github.com/Sehrentos/rathena/commit/21a1a32203b6a48664c97bfd93b0ae09de80d06e#diff-08420bab8271f3965304fee42cf4b865R76
    replace it with this code
    static unsigned int equip_pos[EQI_MAX] = { EQP_ACC_L, EQP_ACC_R, EQP_SHOES, EQP_GARMENT, EQP_HEAD_LOW, EQP_HEAD_MID, EQP_HEAD_TOP, EQP_ARMOR, EQP_HAND_L, EQP_HAND_R, EQP_COSTUME_HEAD_TOP, EQP_COSTUME_HEAD_MID, EQP_COSTUME_HEAD_LOW, EQP_COSTUME_GARMENT, EQP_AMMO }; But still I would recommend updating it to the latest git hash since you won't have enough support for svn revisions.
  8. Technoken's post in remaining time was marked as the answer   
    Are you referring to the 2 hours hunt delay? And you want to see how much time you got before re-taking the quest?
    Try
    bindatcmd "hunt","Monster Challenge::OnhuntHour"; OnhuntHour: mes "^0033ff[ War Server ]^000000"; mes "Reward Hourly Points : ^FF0000[ "+#HourlyPoints+" ]^000000"; mes " "; mes ""+( HuntDelay - gettimetick(2) )+" seconds remaining."; end;  
  9. Technoken's post in how to make ALL ITEM refinable? was marked as the answer   
    Try to remove this code on your refine.txt NPC
    //Check if the item is refinable... if(!getequipisenableref(.@part)) { mes "["+ .@npc_name$ +"]"; mes "I don't think I can"; mes "refine this item at all..."; close; }  
  10. Technoken's post in Problem with HP was marked as the answer   
    The HP shown on client side is 1 because I think it was the official. But in server side your HP is 0.
    You can check this link about that https://github.com/rathena/rathena/issues/758
    Regarding those errors, it was because item ID 19031 and 18813 doesn't exist on your item_db.txt
  11. Technoken's post in GM SUIT SPRITE was marked as the answer   
    When you diff your client using nemo. Just tick the "Remove GM Sprites.
    And on your clientinfo.xml those account ID inside <admin></admin> brackets will have yellow name and chat.
  12. Technoken's post in How to disable bloody branch and dead branch was marked as the answer   
    Check your npc/scripts_mapflags.conf if there is npc: npc/mapflag/nobranch.txt
  13. Technoken's post in Hourly Points was marked as the answer   
    - script hourlypoints -1,{ OnPCLoginEvent: if (getgmlevel() > 0) end; attachnpctimer ""+strcharinfo(0)+""; initnpctimer; end; OnTimer60000: set @minute, @minute + 1; //Check for 1 Minute if(@minute == 60){ set @minute,0; set Hourly_Points, Hourly_Points + 10; dispbottom "You received 10 Hourly Points by staying ingame for 1 hour. You now have "+Hourly_Points+" Hourly Points."; set @consecutive_hour, @consecutive_hour + 1; } //Check for 3 hours consecutive if(@consecutive_hour == 3) { set @consecutive_hour,0; set Hourly_Points, Hourly_Points + 30; dispbottom "You received 30 additional Hourly Points by staying ingame for 3 consecutive hours. You now have "+Hourly_Points+" Hourly Points."; } stopnpctimer; initnpctimer; end; } EDIT:
    Even vendors are going to gain hourly points.
  14. Technoken's post in FluxCP error's even when permission is set was marked as the answer   
    I already fixed this by removing/deleting suexec from Centos 7.
    https://palatana.wordpress.com/2014/09/25/disable-suexec-in-apache/
    Thanks to @Akkarin
    Thanks also for those who helped. 
  15. Technoken's post in Kiel Card was marked as the answer   
    Change the script of the kiel card
    from
    { bonus bDelayRate,-30; },{},{} to
    { bonus bDelayRate,(-30/isequippedcnt(4403)); },{},{}  
  16. Technoken's post in special_enchanter was marked as the answer   
    Try to replace
    setarray .@position$[1], "Headgear","Armor","Shield","Invalid","Garment","Footgear"; set .@menu$,""; deletearray .@arr; set .@j, 1; for( set .@i,1; .@i <= 6; set .@i,.@i+1 ) { if ((.@i == 3) && (getiteminfo(getequipid(3),5) == 32) && (getequipisequiped(.@i))) { // Only catch shields set .@menu$, .@menu$ + .@position$[.@i] + "-" + "[" + getequipname(.@i) + "]"; set .@arr[.@j], .@i; set .@j, .@j + 1; set .@menu$, .@menu$ + ":"; } if(getequipisequiped(.@i) && (.@i != 4) && (.@i != 3)) { set .@menu$, .@menu$ + .@position$[.@i] + "-" + "[" + getequipname(.@i) + "]"; set .@arr[.@j], .@i; set .@j, .@j + 1; set .@menu$, .@menu$ + ":"; } } if (.@menu$ == "") { mes "["+strnpcinfo(1)+"]"; mes "Errr wait. Oh Sorry but you must have armors equipped to enchant them!"; close; } // Calibrating menu set .@part, select(.@menu$); if (.@arr[.@part] == 1) set .@part, 1; else if (.@arr[.@part] == 2) set .@part, 2; else if (.@arr[.@part] == 3) set .@part, 3; else if (.@arr[.@part] == 5) set .@part, 5; else if (.@arr[.@part] == 6) set .@part, 6; TO
    setarray .@indices[1], EQI_HEAD_TOP, EQI_ARMOR, EQI_HAND_L, EQI_HAND_R, EQI_GARMENT, EQI_SHOES, EQI_ACC_L, EQI_ACC_R, EQI_HEAD_MID, EQI_HEAD_LOW; for( set .@i,1; .@i <= 10; set .@i,.@i+1 ) { if( getequipisequiped(.@indices[.@i]) ) { if( getiteminfo(getequipid(.@indices[.@i]),2) == 5 || getiteminfo(getequipid(.@indices[.@i]),5) == 136 ) continue; set .@menu$, .@menu$ + F_getpositionname(.@indices[.@i]) + "-[" + getequipname(.@indices[.@i]) + "]"; } set .@menu$, .@menu$ + ":"; } // Calibrating menu set .@part, .@indices[ select(.@menu$) ];  
  17. Technoken's post in wrong placement of items in refiner NPC was marked as the answer   
    Might be because of some update. Try to replace these lines
    set @headtop$, getequipname(1); set @armor$, getequipname(2); set @handl$, getequipname(3); set @handr$, getequipname(4); set @garment$, getequipname(5); set @shoes$, getequipname(6); set @accl$, getequipname(7); set @accr$, getequipname(8); set @headmid$, getequipname(9); set @headlow$, getequipname(10);  
    TO
    set @headtop$, getequipname(EQI_HEAD_TOP); set @armor$, getequipname(EQI_ARMOR); set @handl$, getequipname(EQI_HAND_L); set @handr$, getequipname(EQI_HAND_R); set @garment$, getequipname(EQI_GARMENT); set @shoes$, getequipname(EQI_SHOES); set @accl$, getequipname(EQI_ACC_L); set @accr$, getequipname(EQI_ACC_R); set @headmid$, getequipname(EQI_HEAD_MID); set @headlow$, getequipname(EQI_HEAD_LOW);  
  18. Technoken's post in Need an @command to give eventpoints was marked as the answer   
    What git hash are you using? Anyways try this one
    - script point_cmd -1,{ OnInit: bindatcmd("eventpt","point_cmd::OnAtcommand",0,99); end; OnAtcommand: .@points = atoi(.@atcmd_parameters$[1]); if( .@atcmd_parameters$[0] == "" || .@points < 1 || .@atcmd_numparameters != 2 ) { message strcharinfo(0),"Please enter correct parameters (usage: @evenpt <character name> <number of event points>)"; message strcharinfo(0),"@evenpt failed."; end; } .@charname$ = .@atcmd_parameters$[0]; .@accid = getcharid(3,.@charname$); .@rewarder$ = strcharinfo(0); if( attachrid(.@accid) ) { #EVENTPOINTS += .@points; dispbottom "You received "+.@points+" event points."; dispbottom "Total Event Points: "+#EVENTPOINTS+""; message .@rewarder$, ""+.@points+" Event Points was rewarded to "+.@charname$+"."; } else { message strcharinfo(0),"No character found."; message strcharinfo(0),"Might be offline or a non-existing character name."; message strcharinfo(0),"@evenpt failed."; } end; }  
  19. Technoken's post in Help ! how to Custom Item in ragexe 2015-11-04 was marked as the answer   
    https://github.com/rathena/rathena/wiki/Custom_Items
  20. Technoken's post in Reward on the Same map was marked as the answer   
    Try
    - script mvpdrop -1,{ OnNPCKillEvent: if ( getmonsterinfo( killedrid, MOB_MVPEXP ) ) { if ( getcharid(1) ) { getpartymember getcharid(1), 1; getpartymember getcharid(1), 2; getmapxy(.@mapname$,.@mapx,.@mapy,UNITTYPE_PC); for ( .@i = 0; .@i < $@partymembercount; .@i++ ) { if ( !isloggedin( $@partymemberaid[.@i], $@partymembercid[.@i] ) || // what happens if someone in the party member is offline =/ strcharinfo(3,$@partymembercid[.@i]) != .@mapname$ || // If the party member is not on the same map of the killer checkidle(rid2name($@partymemberaid[.@i])) > 30 ) // If player is idle for 30 seconds continue; getitem 6941, 2, $@partymemberaid[.@i]; getitem 30027, 2, $@partymemberaid[.@i]; } announce "Wow! A party named [ "+ strcharinfo(1) +" ] has killed "+ getmonsterinfo( killedrid, MOB_NAME ) +" at "+ strcharinfo(3) +"! Awesome work guys!",bc_all,0x6666CC; } else { getitem 30027,2; getitem 6941,2; announce "Amazing! A lone wolf named [ "+ strcharinfo(0) +" ] has killed "+ getmonsterinfo( killedrid, MOB_NAME ) +" himself at "+ strcharinfo(3) +"! Reckless, but still, good work!",bc_all,0x6666CC; } } end; } Just change the 30 on how many seconds before you can consider the character as AFK
  21. Technoken's post in reset all atcommand was marked as the answer   
    Do you mean the player will perform '@reset' when it warp on prt_maze03?
    try
    - script resetonprtmaze -1,{ OnPCLoadMapEvent: if(strcharinfo(3) == "prt_maze03") atcommand "@reset"; end; } prt_maze03 mapflag loadevent  
  22. Technoken's post in R> Char. Name Check was marked as the answer   
    Do you already have a live server running with character name that has 4 letters?
    If not you can just diff a new client on nemo and UNBUTTON "Disable 4 Letter Character Name Limit"
    If yes you can try to create a script that let's the players rename their character that has 4 letters and below.
    Try this and let me know if it works
    - script namelengthchk -1,{ OnPCLoginEvent: OnPCStatCalcEvent: OnRetry: .@charname$ = strcharinfo(0); if( getstrlen(.@charname$) > 4 )end; mes "Please rename your character,"; mes "Enter new name:"; input .@newname$; if( getstrlen(.@newname$) < 4 || getstrlen(.@newname$) > 23 ){ mes "You cannot enter less than minimum of 4 and greater than maximum of 23 characters."; goto OnRetry; } .@gid = getcharid(2); if( .@GID ){ mes "Please leave your guild first before you change name."; goto OnRetry; } query_sql "SELECT `name` FROM `char` WHERE `name` = '"+.@newname$+"'",.@existing$; if( .@newname$ == .@existing$){ mes "Name already exists."; goto OnRetry; } query_sql("UPDATE `name` FROM `char` SET `name`='"+.@newname$+"' WHERE `name`='"+strcharinfo(0)+"'"); next; mes "Please relog for the changes to be applied."; mes "signing out...."; sleep2 3000; atcommand "@kick " +strcharinfo(0); end; }  
  23. Technoken's post in @go command was marked as the answer   
    If you're talking about the message when you type '@go' try to edit it in conf/help.txt
    go: "Params: <city name|number>\n" "Warps you to a city.\n" " -3: (Memo point 2) 14: louyang 31: mora\n" " -2: (Memo point 1) 15: start point 32: dewata\n" " -1: (Memo point 0) 16: prison/jail 33: malangdo island\n" " 0: prontera 17: jawaii 34: malaya port\n" " 1: morocc 18: ayothaya 35: eclage\n" " 2: geffen 19: einbroch\n" " 3: payon 20: lighthalzen\n" " 4: alberta 21: einbech\n" " 5: izlude 22: hugel\n" " 6: aldebaran 23: rachel\n" " 7: xmas (lutie) 24: veins\n" " 8: comodo 25: moscovia\n" " 9: yuno 26: midgard camp\n" " 10: amatsu 27: manuk\n" " 11: gonryun 28: splendide\n" " 12: umbala 29: brasilis\n" " 13: niflheim 30: el dicastes\n"  
    For your last question just add a mapflag nowarpto
    splendide mapflag    nowarpto  
  24. Technoken's post in (SOLVED) Refine NPC show wrong equip type was marked as the answer   
    Are you using the latest git? Try to update your git or use this one -> https://github.com/rathena/rathena/blob/master/npc/merchants/refine.txt
  25. Technoken's post in I need the new Idnum for my server was marked as the answer   
    Check this links
    https://github.com/zackdreaver/ROenglishPRE
    https://github.com/zackdreaver/ROenglishRE
×
×
  • Create New...