Jump to content

sader1992

Content Moderator
  • Posts

    1678
  • Joined

  • Last visited

  • Days Won

    72

Everything posted by sader1992

  1. you need to search for that npc first , than post it here and i will explain you would find it in one of your custom npc files
  2. i just read the error you need to search for the npc and see what's wrong with it you probably need to change the 0 in getmapxy to BL_PC
  3. those errors as i see have nothing to do with the script line 1 > the server could not find a file 2/3 > you are setting pvp and gvg on the same map at the same time lines after that > wrong use of getmapxy in the npc DOTAPVP
  4. while there is a problem with the command the normal player should not use a @commands while is attached to an npc this was fixed in this commit https://github.com/rathena/rathena/pull/4043 but either ways , if you are testing it would be a gm account and by default an account with group 99 command_enable: true so i think the bug you experienced wouldn't happen to the normal player anyway edit : tested the command , and the problem would happen anyway cuz the bug https://github.com/rathena/rathena/issues/4366
  5. can you tell me how you were spamming it on testing?
  6. if it didn't work , try this command isequippedcnt
  7. try this for the spam however it should work either ways - script buffs2 -1,{ end; OnBuffs: disable_items; if(getgroupid() <= 4) { message strcharinfo(0),"Falha, você não possui VIP."; end; } if (@STAT_BUFF_DELAY > gettimetick(2)) end; @STAT_BUFF_DELAY = gettimetick(2) + 2; //2 seconds if(!isequipped(4263)){ .@i = select(.menu$) -1; sc_start .elements[.@i],180000,5; //atcommand "@refresh "+strcharinfo(0); end; } message strcharinfo(0),"Won't work with Samurai Incantation."; end; OnInit: setarray .buffs$, "^800080Envenenar Arma^000000", "^40E0D0Aspersio^000000", "^000000Sombrio^000000", "^FFD700Encantar com Ventania^000000", "^0000FFEncantar com Geada^000000", "^FF0000Encantar com Chama^000000", "^B8860BEncantar com Terremoto^000000"; setarray .elements, 26, 37, 144, 98, 97, 96, 99; bindatcmd "encantar", strnpcinfo(3) + "::OnBuffs",0,99; for( .@i = 0; .@i < getarraysize(.buffs$); .@i++){ .menu$ = .menu$ + ""+.buffs$[.@i]+"" + ":"; } end; } if this still didn't work , if i were you , i would look into the src (i would do that either ways)
  8. - script pvp_points -1,{ OnPCKillEvent: if(killedrid == getcharid(3)) end; for(.@i=0;.@i<.s;.@i++){ if(getmapflag(strcharinfo(3),.m[.@i])){ .@battle_map = true; } } if(!.@battle_map) end; PVPPOINTSYSTEM++; end; OnInit: setarray .m,mf_pvp,mf_pvp_noparty,mf_pvp_noguild,mf_gvg,mf_gvg_noparty; .s = getarraysize(.m); end; } //if you don't want a shop remove the next line. prontera,0,0,0 pointshop PVP_POINT_SHOP 444,PVPPOINTSYSTEM,512:1,502:50;//ADD MORE IF YOU WANT //ADD MAP ,X ,Y ,NPC NAME ,NPC LOOK AS YOU WANT
  9. i still don't understand but did you add a delay ? for example like this - script buffs2 -1,{ end; OnBuffs: disable_items; if(getgroupid() <= 4) { message strcharinfo(0),"Falha, você não possui VIP."; end; } if (@STAT_BUFF_DELAY > gettimetick(2)) end; @STAT_BUFF_DELAY = gettimetick(2) + 2; //2 seconds if(isequipped(4263)) { message strcharinfo(0),"Won't work with Samurai Incantation."; end; } .@size = getarraysize(.buffs$); for( .@i = 0; .@i < .@size; .@i++){ .@menu$ = .@menu$ + ""+.buffs$[.@i]+"" + ":"; } .@i = select(.@menu$) -1; sc_start .elements[.@i],180000,5; //atcommand "@refresh "+strcharinfo(0); end; OnInit: setarray .buffs$, "^800080Envenenar Arma^000000", "^40E0D0Aspersio^000000", "^000000Sombrio^000000", "^FFD700Encantar com Ventania^000000", "^0000FFEncantar com Geada^000000", "^FF0000Encantar com Chama^000000", "^B8860BEncantar com Terremoto^000000"; setarray .elements, 26, 37, 144, 98, 97, 96, 99; bindatcmd "encantar","paytowinbuffs::OnBuffs",0,99; end; } also , i see the script name != what the command calls make sure you don't have 2 npcs and you are editing the wrong one this will also be better - script buffs2 -1,{ end; OnBuffs: disable_items; if(getgroupid() <= 4) { message strcharinfo(0),"Falha, você não possui VIP."; end; } if (@STAT_BUFF_DELAY > gettimetick(2)) end; @STAT_BUFF_DELAY = gettimetick(2) + 2; //2 seconds if(isequipped(4263)) { message strcharinfo(0),"Won't work with Samurai Incantation."; end; } .@i = select(.menu$) -1; sc_start .elements[.@i],180000,5; //atcommand "@refresh "+strcharinfo(0); end; OnInit: setarray .buffs$, "^800080Envenenar Arma^000000", "^40E0D0Aspersio^000000", "^000000Sombrio^000000", "^FFD700Encantar com Ventania^000000", "^0000FFEncantar com Geada^000000", "^FF0000Encantar com Chama^000000", "^B8860BEncantar com Terremoto^000000"; setarray .elements, 26, 37, 144, 98, 97, 96, 99; bindatcmd "encantar", strnpcinfo(3) + "::OnBuffs",0,99; for( .@i = 0; .@i < getarraysize(.buffs$); .@i++){ .menu$ = .menu$ + ""+.buffs$[.@i]+"" + ":"; } end; } however make sure that the script name is correct and what i mean by editing the item script like that , you create a function that remove those stats and call it onequip the item function script F_RemoveSTATBUFF { setarray .@e, 26, 37, 144, 98, 97, 96, 99; for(.@i=0;.@i<getarraysize(.@e);.@i++){ sc_end .@e[.@i]; } return; } ID,AegisName,Name,Type,Buy,Sell,Weight,ATK[:MATK],DEF,Range,Slots,Job,Class,Gender,Loc,wLV,eLV[:maxLevel],Refineable,View,{ Script },{ OnEquip_Script },{ OnUnequip_Script } == ID,AegisName,Name,Type,Buy,Sell,Weight,ATK[:MATK],DEF,Range,Slots,Job,Class,Gender,Loc,wLV,eLV[:maxLevel],Refineable,View,{ Script },{ callfunc "F_RemoveSTATBUFF"; },{ OnUnequip_Script }
  10. i didn't really understand the point of the script but to prevent spamming , you can add delay (for reference check out this https://github.com/rathena/rathena/blob/master/npc/custom/healer.txt) and to remove the element when an item is equipped , you can edit the item OnEquip script it self (in the item db) also you might need to add disable_items; after OnBuffs: so people don't switch to the item after they pass the if statement .
  11. EQI_SHOES (2) - Footgear (shoes, boots) EQI_COMPOUND_ON (-1) - Item slot that calls this script (In context of item script) EQI_ACC_L (0) - Accessory 1 EQI_ACC_R (1) - Accessory 2 EQI_SHOES (2) - Footgear (shoes, boots) EQI_GARMENT (3) - Garment (mufflers, hoods, manteaux) EQI_HEAD_LOW (4) - Lower Headgear (beards, some masks) EQI_HEAD_MID (5) - Middle Headgear (masks, glasses) EQI_HEAD_TOP (6) - Upper Headgear EQI_ARMOR (7) - Armor (jackets, robes) EQI_HAND_L (8) - Left hand (weapons, shields) EQI_HAND_R (9) - Right hand (weapons) EQI_COSTUME_HEAD_TOP (10) - Upper Costume Headgear EQI_COSTUME_HEAD_MID (11) - Middle Costume Headgear EQI_COSTUME_HEAD_LOW (12) - Lower Costume Headgear EQI_COSTUME_GARMENT (13) - Costume Garment EQI_AMMO (14) - Arrow/Ammunition EQI_SHADOW_ARMOR (15) - Shadow Armor EQI_SHADOW_WEAPON (16) - Shadow Weapon EQI_SHADOW_SHIELD (17) - Shadow Shield EQI_SHADOW_SHOES (18) - Shadow Shoes EQI_SHADOW_ACC_R (19) - Shadow Accessory 2 EQI_SHADOW_ACC_L (20) - Shadow Accessory 1 i don't see where you are deleting the weapon 2 = shoes 4 = low headgear if(getequipid(2) == .@iEquip) delequip(2); message strcharinfo(0),"your "+getitemname(.@iEquip)+" break!!"; if(getequipid(4) == .@iEquip) delequip(4); message strcharinfo(0),"your "+getitemname(.@iEquip)+" break!!"; you can use the const variable with the command so you don't get lost like delequip(EQI_HAND_R); (also your if statement will ignore the message , the message will play anyway cut there is no {} )
  12. "#" - A permanent local account variable. They are stored by char-server in the `acc_reg_num` table and `acc_reg_str`. https://github.com/rathena/rathena/blob/752d3143f5f9cabcc5a6326db2cf75102954e887/doc/script_commands.txt#L498
  13. on the character selection , the view id come from the server after that inside the game the view id come from the lua files to put high view id in the client , you need to patch your client to allow that , use nemo for that
  14. to use sql , you need to switch everything to sql including item_db https://github.com/rathena/rathena/blob/08d160aaac8cdd286bbafb32532abe42b8a42376/conf/inter_athena.conf#L154 else , you can try src edit https://github.com/rathena/rathena/blob/08d160aaac8cdd286bbafb32532abe42b8a42376/src/map/cashshop.cpp#L434 to //if( db_use_sqldbs ){ cashshop_read_db_sql(); //} else { // cashshop_read_db_txt(); //} however , never tested it , don't know if there is something else you should change or not to work
  15. @part = select(.@menu$); to @part = select(.@menu$) -1; @line 50 also to translate what Emistry give you you can translate it in the file rathena/npc/other/Global_Functions.txt ////////////////////////////////////////////////////////////////////////////////// // Return the position name of the EQI_* equipment slot. ////////////////////////////////////////////////////////////////////////////////// function script F_getpositionname { switch( getarg(0,999) ) { case EQI_ACC_L: return "Accessory 1"; case EQI_ACC_R: return "Accessory 2"; case EQI_SHOES: return "Shoes"; case EQI_GARMENT: return "Robe"; case EQI_HEAD_LOW: return "Head 3"; case EQI_HEAD_MID: return "Head 2"; case EQI_HEAD_TOP: return "Head"; case EQI_ARMOR: return "Body"; case EQI_HAND_L: return "Left hand"; case EQI_HAND_R: return "Right hand"; case EQI_COSTUME_HEAD_TOP: return "Upper Costume Headgear"; case EQI_COSTUME_HEAD_MID: return "Middle Costume Headgear"; case EQI_COSTUME_HEAD_LOW: return "Lower Costume Headgear"; case EQI_COSTUME_GARMENT: return "Costume Garment"; case EQI_AMMO: return "Arrow/Ammunition"; case EQI_SHADOW_ARMOR: return "Shadow Armor"; case EQI_SHADOW_WEAPON: return "Shadow Weapon"; case EQI_SHADOW_SHIELD: return "Shadow Shield"; case EQI_SHADOW_SHOES: return "Shadow Shoes"; case EQI_SHADOW_ACC_R: return "Shadow Accessory 2"; case EQI_SHADOW_ACC_L: return "Shadow Accessory 1"; default: return "Unknown"; } } this would be better , as your translation would effect every npc uses this function.
  16. my bad sorry , i misread getequipname to getitemname Dx
  17. try setarray .@position$,"Accessory Left","Accessory Right","shoes","Garment","Lower","Middle","Upper","Armor","Left hand","Right hand"; set .@menu$, ""; for(.@i = 0; .@i <getarraysize(.@position$); .@i++) { if(getequipisequiped(.@i)) { set .@menu$, .@menu$ + .@position$[.@i] + " - " + "[" + getequipname(.@i) + "]"; .@equipped = 1; } set .@menu$, .@menu$ + ":"; }
  18. if you want to use a technique like that , you need to use the real order EQI_COMPOUND_ON (-1) - Item slot that calls this script (In context of item script) EQI_ACC_L (0) - Accessory 1 EQI_ACC_R (1) - Accessory 2 EQI_SHOES (2) - Footgear (shoes, boots) EQI_GARMENT (3) - Garment (mufflers, hoods, manteaux) EQI_HEAD_LOW (4) - Lower Headgear (beards, some masks) EQI_HEAD_MID (5) - Middle Headgear (masks, glasses) EQI_HEAD_TOP (6) - Upper Headgear EQI_ARMOR (7) - Armor (jackets, robes) EQI_HAND_L (8) - Left hand (weapons, shields) EQI_HAND_R (9) - Right hand (weapons) EQI_COSTUME_HEAD_TOP (10) - Upper Costume Headgear EQI_COSTUME_HEAD_MID (11) - Middle Costume Headgear EQI_COSTUME_HEAD_LOW (12) - Lower Costume Headgear EQI_COSTUME_GARMENT (13) - Costume Garment EQI_AMMO (14) - Arrow/Ammunition EQI_SHADOW_ARMOR (15) - Shadow Armor EQI_SHADOW_WEAPON (16) - Shadow Weapon EQI_SHADOW_SHIELD (17) - Shadow Shield EQI_SHADOW_SHOES (18) - Shadow Shoes EQI_SHADOW_ACC_R (19) - Shadow Accessory 2 EQI_SHADOW_ACC_L (20) - Shadow Accessory 1 you are not given us the real script you are using in the first place obviously getequipname(.@i) wont give the item name as in your photo! sorry , i misread getequipname to getitemname your script's problem is the left accessory the loop start with 1 and the left acc is 0 https://github.com/rathena/rathena/blob/master/doc/script_commands.txt
  19. --------------------------------------- *makepet <pet id>; This command will create a pet egg and put it in the invoking character's inventory. The kind of pet is specified by pet ID numbers listed in 'db/(pre-)re/pet_db.yml'. The egg is created exactly as if the character just successfully caught a pet in the normal way. // This will make you a poring: makepet 1002; Notice that you absolutely have to create pet eggs with this command. If you try to give a pet egg with 'getitem', pet data will not be created by the char server and the egg will disappear when anyone tries to hatch it. --------------------------------------- --------------------------------------- =================== | 8. Pet Commands | =================== @makeegg <egg ID> Creates a Pet Egg based on the given ID. ---------------------------------------
  20. View File [UnOfficial] Skyfortress Drop/reroll enchantment Functions README FIRST! those are UnOfficial there is 2 main scripts the first one (you need to add it first to your .conf file) SkyFortress_Functions this have the main functions HEADER >> (read it before you use the script) the 2nd main file is SkyFortress_reroll this for the reroll npc this npc requir https://github.com/rathena/rathena/pull/4195 if you didn't apply this PR the npc will give you error! the 3rd file SkyFortress_Test is just for test , do not use it unless you want to test and edit the script to add the drop to your instance , you need to edit the instance script it self , as this not normal drop , it's on event kill drop. if you have problem with the script , you can use the forum post to report it to me, and me or someone else will help you fix it. Submitter sader1992 Submitted 09/15/2019 Category Utilities Video Content Author sader1992
  21. Version 1.0.1

    600 downloads

    README FIRST! those are UnOfficial there is 2 main scripts the first one (you need to add it first to your .conf file) SkyFortress_Functions this have the main functions HEADER >> (read it before you use the script) the 2nd main file is SkyFortress_reroll this for the reroll npc this npc requir https://github.com/rathena/rathena/pull/4195 if you didn't apply this PR the npc will give you error! the 3rd file SkyFortress_Test is just for test , do not use it unless you want to test and edit the script to add the drop to your instance , you need to edit the instance script it self , as this not normal drop , it's on event kill drop. if you have problem with the script , you can use the forum post to report it to me, and me or someone else will help you fix it.
    Free
  22. this src mode only allow the player to redeem the reward , it does not auto redeem for the player , the player must redeem the reward hem self the script you use will allow the first account with the gepard id given to redeem the reward , and if he didn't redeem it with that account , he can't redeem it with another account , he only can redeem it with that account (the first account he login with in the day) i will soon create a function for gepard as planed , if you don't want to wait for god knows how long , the key is this , if the player did redeem the reward , the variable #AttendanceDate would be the date of that day
  23. conf/import/char_conf.txt login_ip: 127.0.0.1 char_ip: vps_ip conf/import/map_conf.txt char_ip: 127.0.0.1 map_ip: vps_ip
×
×
  • Create New...