Jump to content

Ridley

Administrators
  • Content Count

    1157
  • Joined

  • Last visited

  • Days Won

    86

Posts posted by Ridley


  1. got to disagree partwise. Most content can't be pushed atm because the emulators simply do not support them. We currently work on updating a lot of script commands (thx to KirieZ and BiO). 


    And yes, it is difficult to gather info from kro, and even more difficult to translate it. I actually had a paid translator for it but she suddenly vanished :'(


  2. another issue was here

     

    fixup 285e1fc Adds a protection to 1st Barricade line on WoE SE maps to avoid splash damage without destroying Guardian Stones previously.
    pick 9450be2 Arrays improvement. Thanks Emistry!
    

    where it should be

     

    pick 285e1fc Adds a protection to 1st Barricade line on WoE SE maps to avoid splash damage without destroying Guardian Stones previously.
    fixup 9450be2 Arrays improvement. Thanks Emistry!
    

    fixup = squash without message

     

    and yes, thhen :wq and git push -f


  3. I assume you want to go for pre-re. I think both emulators have some issues with pre re so I don't see much of a difference here (but I'm honestly no pre renewal player and don't know the exact differences) . Else content wise for renewal rA is ahead.

    As stated here, Herc works a lot more efficient and is cleaner. But it's biggest advantage is of course the plugin feature which basically works like an import folder for source code.

    The mana world is running Hercules with a plugin on steroids, so you can see with plugins you basically can build a whole new game around the emulator.

    https://www.themanaworld.org


  4. this is right in the main.ini 

     

    [Patch]
    //use CheckSum tool, hash for client & patcher
    // used to make sure exe is up to date
    //  (leave empty to disable this feature)
    ClientSum=
    PatcherSum=
    
    
    //This is compressed file for patcher & client update
    // To make these work, ClientSum and/or PatcherSum can't be empty
    // Note: these files should put same place as patch file (file_url in internal config)
    //Relative address, not FULL URL!
    ClientPath=
    PatcherPath=
    
    // _sum - checksum, use CheckSum tool.
    //client1_sum=
    // _Name - Filename of exe
    //client1_Name=
    // _Path - Path for file [Compressed]
    //client1_Path=
    

  5.  

    if you want it for all jobs you don't need to add it here (defaults to all job if no statement is given)

    Uhm what do you mean by this? xD

     

    i mean, if you want ALL classes to use it, remove the "Job" part entirely because by default, all can use. In your case the UPPER was the issue btw. but this can be removed too

     

    {
        Id: 2423
        AegisName: "Variant_Shoes"
        Name: "Variant Shoes"
        Type: 5
        Buy: 20
        Weight: 500
        Def: 3
        Loc: 64
        EquipLv: 85
        Script: <"
            bonus bMaxHPrate,20-getrefine();
            bonus bMaxSPrate,20-getrefine();
            bonus bDef,getrefine()/2;
        ">
    },
    

  6. i am not exactly sure what are you trying to do. About strings 
     

    setarray(.@type$[0], "Whatever", "Words", "Going ", "Here"); 

    strings you use for words and letters, for items you want an array, but not a string

    setarray(.@item[0], 501, 502, 503); 

    but for items, you can also use it's aegis name (constant)

    setarray(.@item[0], Red_Potion, Orange_Potion, Yellow_Potion);  

    this would call the related id, so even tho using the names here, it is still considered variables.
     
    To say it simple: strings = words, variables = numbers
     
    about your script:
     

    OnInit:
    setarray $@type1,501,502,503,504,505;
    setarray $@type2,506,507,508,509,511; 

    You store it as a global, temporary variable, which isn't needed at all here. Neither it is required to call it oninit, better call it when it is actually needed. I would do it when that part of the script is called.

     

    }else ;
    

    this is... well.. remove it

     set .@randType$, "$@type2";
    

    this is your actual problem. Your setting a string to a variable, also it's not specified which value of the array should be called. I think you want people to get 1 item out of 1 of those 2 random groups? There is actually no need to store them in arrays, i thin F_Rand comes in hany here

     

    prontera,50,50,3	script	seller	50,{
    	.@i = rand(1) // sets .@i randomly to either 0 or 1
    	if (.@i)
    		getitem(callfunc("F_Rand", Red_Potion, Orange_Potion, 503)); // if .@i has a value get 1 random item, you can use constants or ID's
    	else
    		getitem(callfunc("F_Rand", Green_Potion, Red_Herb, 508 )); // and these if .@i is 0
    	end;
    }
    

     

    This would pretty much do what you want. Note: Even i use constants here for item id's, these are still considered variables (id's)

     

    Now back to your question regarding strings.

    .@i$ = "This is a string"; 

    or in an array

    setarray(.@i$[0], "We", "are", "all", "strings"); 

    in an array you can store several informations, strings or variables. 

     

    note: in an array, the index starts at 0, not at 1, this means

    .@i$[0] = We

    .@i$[1] = are

    .@i$[2] = all

    .@i$[3] = strings

     

    you can also return the whole array like

    implode(.@i$, " "); //this retuns all entries of the array, so its "We are all strings"

    Pick a random string

    .@i$[rand(3)] // because index starts at 0, and rand(3) means random 0, 1, 2, or 3 

     

    Note: i use .@ as temporal npc variables, this means they got deleted again once the npc finished and you don't waste memory to perm save it

    Note 2: .@i$ is just an example, you can use any name you want for your strings or variables

     

    about name of items, you can use getitemname. This works either with the ID or with the constant

    getitemname(501) or getitemname(Red_Potion), you can also youe it for your arrays

     

    setarray(.@items[0], Red_Potion, Yellow Potion, Orange Potion);
    .@r = rand(2); // .@r is either 0, 1, or 2
    getitem(.@items[.@r]), 1; // you get your item from the array
    mesf("Congratiulations, you got a %s", getitemname(.@r)); //it receives the name of the item

    mesf is how we use it if you want do it with huld, you put %s as a placeholder for strings, %d as placeholder for variables, then after the comma you call them. If you want to do it the old way, you do

     

    mes("Congratulations, you got a "+getitemname(.@r)+""); 

     

    same applies for arrays with variables, so if you really want to store them

     

    setarray .@items[0], 501, 502, 503, 504, 505; // .@items[0] is 501 and .@items [4] is 505
    getitem .@items[rand(4], 1; // random item 0, 1, 2, 3 or 4 

    .@items[rand(4)] // because index starts at 0, and rand(3) means random 0, 1, 2, or 3 


  7. File Name: "New Reborn" integrated job master

    File Submitter: Ridley

    File Submitted: 22 Feb 2017

    File Category: Utility

     

    I did this a while ago. In order to use this script you need Olrox new_reborn map

     

     

    This script is no physical job changer. instead each spike of the star shaped map represents a path of the classes. You walk up there to change your job. Extended Job's are available from a normal npc in the middle.

     

    Important: This script uses Euphys default herc job changer as a base.

     

    - the script gives out a +7 novi weapon for each of the base classes (check line 355 to 392)

    - it has some fancy warp portals, feel free to edit it to default

    - even more fancy, ressource eating rotating waiting rooms for exit and entrance (default prontera) which can be disabled as well (line 502 and 530)

    - autobuff inc agi +10 for 1 minute each time you walk directly through the middle (or spawn)

    - you can NOT skip rebirth. 1st job -> 2nd -> rebirth -> trans ->3rd

    - it also has support for rebellion, but rebellion is not yet added on herc so you might want to disable it

     

    This script was already tested live and worked fine. I did some edits tho but never optimized it since I lost interest in it. However, I think its something different from default Job Masters

     

    Note: I really recommend to read through it and check for all options.

     

    Some Screenshots

     

     

    6e8411b1c34f34acab262a749842d539.jpg

     

    c92818bddd618a74ec3c57dec18a516a.png

     

    e0254f6da8cb940e8f4f0d3f796634f0.png

     

    957988971d7c7442a20374f0358571dd.jpg

     

    d399d45e3ffc417bf6413354a2584096.gif

     

     

     

     

    Click here to download this file

×
×
  • Create New...

Important Information

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