Jump to content

Arduino

Members
  • Content Count

    48
  • Joined

  • Last visited

1 Follower

About Arduino

  • Rank
    Advanced Member

Profile Information

  • Gender
    Not Telling
  • Emulator
    Hercules

Recent Profile Visitors

2501 profile views
  1. How are you putting the data there? You are putting the folder that says pre-renewal on the root directory, right? Can you try putting the renewal folder, just to try? You patched your client with "read data folder first"? if the previous didnt help, try to check that
  2. Im not really sure what you want, but i understood that you wanted the enchantment to be random instead of it to be selected in a list. I had made here a modification on line 47 making it random instead of selecting it from the list. mes .n$; mes "Hello, "+strcharinfo(0)+"!"; mes "If you like I can enchant your costume equipment with any enchantment I have in store"; mes ( (.exchange_cost[0] > 0)?"in exchange for "+.enchant_cost[1]+"x "+getitemname(.enchant_cost[0]):"for free")+"."; mes "I can also reset an Enchantment "+ ((.enchant_reset[0] > 0)?", but I require "+.enchant_reset[1]+"x "+getitemname(.enchant_reset[0]):"for free")+"."; next; switch(select("- Enchant Costumes:- Reset Enchantment:- Nevermind")) { case 1: mes .n$; mes "Please select the Costume you want me to enchant:"; for ( set .@s,0; .@s < getarraysize(.enchant_slot); set .@s,.@s + 1) { switch(.enchant_slot[.@s]) { case EQI_COSTUME_HEAD_TOP: set .@c_slot$,"Top Headgear"; break; case EQI_COSTUME_HEAD_MID: set .@c_slot$,"Mid Headgear"; break; case EQI_COSTUME_HEAD_LOW: set .@c_slot$,"Low Headgear"; break; case EQI_COSTUME_GARMENT: set .@c_slot$,"Garment"; break; case EQI_SHADOW_ARMOR: set .@c_slot$,"Armor"; break; case EQI_SHADOW_WEAPON: set .@c_slot$,"Weapon"; break; case EQI_SHADOW_SHIELD: set .@c_slot$,"Shield"; break; case EQI_SHADOW_SHOES: set .@c_slot$,"Shoes"; break; case EQI_SHADOW_ACC_R: set .@c_slot$,"Accessory Right"; break; case EQI_SHADOW_ACC_L: set .@c_slot$,"Accessory Left"; break; } set .@c_m$,.@c_m$ + ((getequipid(.enchant_slot[.@s]) != -1)?.@c_slot$ + " - "+getitemname(getequipid(.enchant_slot[.@s])):"") + ( (.enchant_slot[.@s+1] != 0)?":":""); } set .@c_m$,.@c_m$ + ":- Cancel"; set .@c,select(.@c_m$); if(.@c >= getarraysize(.enchant_slot)) close; set .@part,.enchant_slot[.@c-1]; next; mes .n$; if(getequipid(.@part) == -1) { mes "It looks like you don't have any costume equipped on there."; close; } set .@hg,getequipid(.@part); // Saving Item ID set .@ref,getequiprefinerycnt(.@part); // Saving Refine Level, if there is one set .@card1,getequipcardid(.@part,0); // Save Item ID of Card Slot 1 mes "Selected Costume: "+getitemname(getequipid(.@part)); if(getequipcardid(.@part,3) != 0) { mes "But it looks like you already have an enchantment in this costume."; close; } mes "Now please select the Enchantment:"; next; set .@rune,rand(0, getarraysize(.enchant_id) - 1); mes .n$; mes "Selected Enchantment: "+getitemname(.enchant_id[.@rune]); if(.enchant_cost[0] > 0 && countitem(.enchant_cost[0]) < .enchant_cost[1]) { mes "But it looks like you don't have enough "+getitemname(.enchant_cost[0])+"!"; close; } mes "Proceed?"; if(select("- Yes:- No") - 1) close; next; if(.enchant_cost[0] > 0) delitem .enchant_cost[0],.enchant_cost[1]; delequip .@part; getitem2 .@hg,1,1,.@ref,0,.@card1,0,0,.enchant_id[.@rune]; equip .@hg; mes .n$; mes "The enchantment was a success."; mes "See ya next time."; enable_items; break; case 2: mes .n$; mes "Please select the Costume you want me to reset the enchantment!"; for ( set .@s,0; .@s < getarraysize(.enchant_slot); set .@s,.@s + 1) { switch(.enchant_slot[.@s]) { case EQI_COSTUME_HEAD_TOP: set .@c_slot$,"Top Headgear"; break; case EQI_COSTUME_HEAD_MID: set .@c_slot$,"Mid Headgear"; break; case EQI_COSTUME_HEAD_LOW: set .@c_slot$,"Low Headgear"; break; case EQI_COSTUME_GARMENT: set .@c_slot$,"Garment"; break; case EQI_SHADOW_ARMOR: set .@c_slot$,"Armor"; break; case EQI_SHADOW_WEAPON: set .@c_slot$,"Weapon"; break; case EQI_SHADOW_SHIELD: set .@c_slot$,"Shield"; break; case EQI_SHADOW_SHOES: set .@c_slot$,"Shoes"; break; case EQI_SHADOW_ACC_R: set .@c_slot$,"Accessory Right"; break; case EQI_SHADOW_ACC_L: set .@c_slot$,"Accessory Left"; break; } set .@c_m$,.@c_m$ + ((getequipid(.enchant_slot[.@s]) != -1)?.@c_slot$ + " - "+getitemname(getequipid(.enchant_slot[.@s])):"") + ( (.enchant_slot[.@s+1] != 0)?":":""); } set .@c_m$,.@c_m$ + ":- Cancel"; set .@c,select(.@c_m$); if(.@c >= getarraysize(.enchant_slot)) close; set .@part,.enchant_slot[.@c-1]; next; mes .n$; if(getequipcardid(.@part,3) == 0) { mes "It looks like you don't have any enchantment in this costume."; close; } set .@hg,getequipid(.@part); // Saving Item ID set .@ref,getequiprefinerycnt(.@part); // Saving Refine Level, if there is one set .@card1,getequipcardid(.@part,0); // Save Item ID of Card Slot 1 mes "Selected Costume: "+getitemname(getequipid(.@part)); if(.enchant_reset[0] > 0 && countitem(.enchant_reset[0]) < .enchant_reset[1]) { mes "But you don't have the required Items to reset the enchantment!"; close; } mes "Proceed?"; if(select("- Yes:- No") - 1) close; next; if(.enchant_reset[0]) delitem .enchant_reset[0],.enchant_reset[1]; delequip .@part; getitem2 .@hg,1,1,.@ref,0,.@card1,0,0,0; equip .@hg; mes .n$; mes "The enchantment has been reseted."; mes "See ya next time."; break; case 3: break; } end; OnInit: set .n$,"[Costume Enchanter]"; // Enter here every Costume Slot, which you want to be enchantable // Valid Entries: // - EQI_COSTUME_HEAD_TOP // - EQI_COSTUME_HEAD_MID // - EQI_COSTUME_HEAD_LOW // - EQI_COSTUME_GARMENT // - EQI_SHADOW_ARMOR // - EQI_SHADOW_WEAPON // - EQI_SHADOW_SHIELD // - EQI_SHADOW_SHOES // - EQI_SHADOW_ACC_R // - EQI_SHADOW_ACC_L setarray .enchant_slot[0],EQI_COSTUME_HEAD_TOP,EQI_COSTUME_HEAD_MID,EQI_COSTUME_HEAD_LOW; // Enchantment ID's setarray .enchant_id[0],6636,6637,6638,6639,6640,6641; // Price for enchanting: // To disable the price, put 0 as values setarray .enchant_cost[0],501,10; // Item ID,Amount // Price for reseting: // To disable the price, put 0 as values setarray .enchant_reset[0],501,10; // Item ID,Amount end; } If you can be more specific of what do you need maybe i can help you further. If you dont know how to say it you can use the help of google translate
  3. I had the same problem some days ago! Just downloaded this https://github.com/llchrisll/ROenglishRE Put the corresponding folder in the root client folder and worked it like a charm
  4. I dont think its possible with the current clients, but i can think its doable with robrowser. Maybe if someone creates a plugin for the client (i saw something about that some time ago), it might also work, but i dont think sending it directly to the server, as it only read packets, so it might be neccesary to makes the server configuration to expose who is near who to a third party service and let this third party service manage it... Its an interesting idea (that I as an anxious guy would not really like to use, but see the potential for it for others).
  5. Just tried it and for me its working fine... ¿Have you the lasts emulator from the repository, or updated changes?
  6. Hi! Can you be a little more specific about it?
  7. What client are you using? Had you configured the clientinfo.xml with your ip? In your console of the login server, do you see any attempt of login?
  8. tried multiple times, he dont answer in rathena
  9. Hi, i need help because i wanted to create a dynamic environment system where 3d models spawn on the map (i know that its possible), but all the guides from rathena or from here, indicates that you need to use a granny viewer sdk (version 2.8.52). The problem is that the license for that program its above 10k usd, and all the links that the people posted are currently dead. ¿Does anybody have the program or know where you can download it? its not for commercial purposes of course.
  10. Please, show us some console log, and the script of the instance (or its every instance? Are you using plugins?)
  11. Saludos. La mejor opción por mi parte, siempre serán los servidores hosting tradicionales, tales como ovh, contaboo, digital ocean, etc. Ya que todos los otros que son específicamente para Ragnarok siempre escucharas que son una insulto generico...- y la razón de ello es que para cobrar no tienen problema, pero cuando necesitas soporte, no aparecerán más. Yo en lo personal, te recomiendo cualquier vps de OVH, es un buen servicio con buena latencia y características (quiza poco espacio de almacenamiento, pero eso se puede expandir por unos dolares más). Lo que te interesara luego, es ponerle un SO de linux, siendo ubuntu una de las mejores opciones, sobre todo para la gente con menos conocimientos en este tipo de SO. Luego, si sabes ingles vas a querer seguir esta guía para poder instalar todo, quedando una instalación fresca de hercules! espero haber sido de ayuda, y cualquier duda solo dímela!
  12. Hi! I recommend you to see the doc/script_commands.txt file and search for unit_walk, unit_attack, unit_emote, etc. Those are the commands that you are looking for and in the same documentation file are examples of how to use them!
  13. Arduino

    New life for RO

    @Temtaime I'm absolutly trash if it invonves graphics, but i want to dig up to the light this little skin design only as a suggestion
  14. Hi luis, like in the thread in rathena, you may want to spawn something invisible in the coordinates and then use the specialeffect, but if you are using hercules then you can use the plugin duplicatenpc from @dastgir to duplicate a npc in said coordinates making it with the id class 111 (NPC_INVISIBLE i think)
×
×
  • Create New...

Important Information

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