Jump to content

Aioria

Inactive Member
  • Posts

    116
  • Joined

  • Last visited

  • Feedback

    0%

Posts posted by Aioria

  1. Hi! How can I change the Chance of Piercing Hit method like in 17.5 official version?

     

    Google Translator:

     

    Spoiler

     

    A stabbing blow deals additional bonus damage, based on the attacker's attack value and defense. Specifically, there are two possible cases: If the attacker's defense is greater than the attacker's attack, the extra damage will be equal to the attacker's attack value. If the attacker's defense is less than the attacker's attack, the extra damage will be equal to the victim's defense. This final damage boost is only affected by Type 3 bonuses, such as Medium Damage. However, it is important to remember that the attack value is affected by type 1 bonuses, such as Forts against. If you have more than 100% Piercing points, the base damage is increased by approximately 0.5% for each excess Piercing point. However, this increase is not considered in the calculation of critical hits. All this is expressed by the following formula:

     

    Normal Damage * MAX {1, ([Stabbing - 100] / 20] + 1)} + MIN {[Defense, (Basic Attack * bonus I)] * Bonus III}

     

    Using this formula it is understood that the piercer (in the absence of a bonus) inflicts damage equal to his Attack. The formula shows: the Normal Damage, that is the smooth damage usually inflicted, to which the extra damage of the Piercer is linearly added; The lower value between the opponent's physical Defense and the attacking character's attack value; two terms Bonus I and III. Since version 17.5, the operation of the Piercers has been modified as explained above: the old "penalty" deriving from having a very high defense has been reduced, as now if your defense is higher than the opponent's attack, this is used. last to calculate the damage bonus (after being affected by type 1 bonuses, such as Forts against or Elemental Resistances). After that, everything is multiplied by Type 3 bonuses, such as Medium Damage.

     

    Original text:

     

    Spoiler

    Un colpo trafiggente infligge danni bonus aggiuntivi, in base al valore d'attacco e alla difesa di chi lo subisce. Nello specifico, ci sono due casi possibili:

    Se la difesa di chi subisce è superiore all'attacco di chi colpisce, il danno extra sarà pari al valore d'attacco dell'attaccante.

    Se la difesa di chi subisce è inferiore all'attacco di chi colpisce, il danno extra sarà pari alla difesa di chi subisce.

    Tale incremento sul danno finale è influenzato solo dai bonus di tipo 3, come i Danni Medi. È comunque importante ricordare che il valore d'attacco viene influenzato dai bonus di tipo 1, come i Forte contro.

    Nel caso si abbiano più di 100% Trafiggenti, il danno base viene incrementato di circa lo 0.5% per ogni punto Trafiggente in eccesso. Tale incremento non viene tuttavia considerato nel calcolo dei colpi critici.

    Tutto ciò è espresso dalla seguente formula:

     

    Danno normale * MAX{1, ([Trafiggenti - 100]/20] + 1)} + MIN{[Difesa, (Attacco base * bonus I)] * Bonus III}

     

    Usando questa formula si capisce che il trafiggente (in assenza di bonus) infligge un danno pari al proprio Attacco.

    Nella formula compaiono:

    il Danno Normale, ossia il danno liscio inflitto solitamente, a ciò viene sommato linearmente il danno extra del Trafiggente;

    Il valore più basso tra la Difesa fisica avversaria e il valore d'attacco del personaggio attaccante;

    due termini Bonus I e III.

    Dalla versione 17.5 il funzionamento dei Trafiggenti è stato modificato nel modo spiegato sopra: la vecchia "penalità" derivante dall'avere una difesa molto elevata è stata ridotta, in quanto ora se la propria difesa è superiore all'attacco avversario, viene utilizzato quest'ultimo per calcolare il bonus di danno (dopo aver subito l'influenza dei bonus di tipo 1, come i Forte contro o le Resistenze Elementali). Dopo di questo, il tutto viene moltiplicato per i bonus di tipo 3, come i Danni Medi.

     

    Sorry but I wasn't able to translate all that, and I didn't find it on english metin's website

  2. UP and EDIT:

    Ok, I've successfully added the horse appearance via database, and it works (more or less), my issues are:

     

    • I want my horse skin change when I use seal (without need to re-spawn horse), just like weapon costume, you use it, and u can instantly see changed
    • How can I negate the classic use of seals? (like: you click it and you instantly ride the mount) I just wanna remove the classic mounts and use them like skin
    • How can i make the seal go in costume slot when you use it?

     

    Sorry for my bad english °L° I'm writing worst than ever, I'm really tired

  3. Hi guys, today I wanna add this system, as I told in the referred topic, I wanna add a costume mount system that only change horse appearance, just a skin replacer that you can set in database, so no new mount, no new bonus, ecc, just a costume system for horses, and if I'm not wrong, this Horse Appearance via Database should do that.

    So my questions are:

    1. Is that true? It works as I told?
    2. Has it any bugs or issue or similar?

    3. How should the quest be to work with this?

     

    Thank you all

  4. Hi guys, can I know how to make it work? 

    - How can i add the sql and where?

    - How can i set the quest for add variable in database?

    - Has this system any bugs/issue?

     

    Sorry for necro but i need this, i don't want others mount, but only have the horse and change his apparence so it still remain an horse but just with a different skin.

  5. Hi guys (again), I don't why my last post has been translated, anyway these are what i'm looking for:

     

    1. Tenacity:

     

    I want change the bonus "Antistun" with "Tenacity".

    Antistun: defense vs stun probability.

    Tenacity: reduction of seconds affected by stun.

     

    With the standard antistun you'll just can't get stunned by any ability or bonus, in this way a lot of skill became useless and is a big penality for some classes. 

    But with the "Tenacity" bonus, you will always get stunned, but, if you have like 50% tenacity, you will reduce the stun time in this way:
     

    *Ability stun for 3 seconds"

    - You have 50% Tenacity

    - You'll get stunned for 1,5 seconds

    - With 100% you can't be stunned.


    If you have question about this just ask me.

     

    --------------------------------------------------------------------------

     

    2. Guild Vice-Leader

     

    I want the chance for a guild leader to set a "Vice leader", in this way if a guild leader is offline, a Vice-leader can declare or accept wars.

     

     

    How much for these?

  6. Thank you Vegas y.y Sorry i'm very noob, anyway i got this error now:

     

    234931VirtualBox-Freebsd-11.2-32bit-clea

     

    ----------------------------- EDIT

     

    Ok, I solve that, now it works! anyway I noticed that if a GM send an offline pm, it will be a normal pm, not "GM", I don't know if you want it like this

  7. Hi! Thank Mali! I think this is the best way to send an offline pm, but can I know how much this would be heavy on the server?

     

    P.s: and it's possibile to make the offline message received in other color like light-blue? So you can see if it's an offline message or if just someone sent u a message right now

  8. Hi all! Thanks a lot for your tutorials, i love this forum.

    Anyway here my problem:

     

    I'm using files with global chat and it uses this code:

     

    #ifdef ENABLE_CHAT_COLOR_SYSTEM
    	// static const char* colorbuf[] = {" |h|r[寔햇?|cFFffa200|h", " |h|r[遁鞍?|cFFff0000|h", " |h|r[讀安?|cFFffc700|h", " |h|r[警仰]|cFF000bff|h"}; // Arab
    	static const char* colorbuf[] = {"|cFFffa200|H|h[Staff]|h|r", "|cFFff0000|H|h[Shinsoo]|h|r", "|cFFffc700|H|h[Chunjo]|h|r", "|cFF000bff|H|h[Jinno]|h|r"};
    	int len = snprintf(chatbuf, sizeof(chatbuf), "%s %s : %s", (ch->IsGM()?colorbuf[0]:colorbuf[MINMAX(0, ch->GetEmpire(), 3)]), ch->GetName(), buf);
    #else
    	int len = snprintf(chatbuf, sizeof(chatbuf), "%s : %s", ch->GetName(), buf);
    #endif

     

    and it works good, but I want to add the hyperlink click on nickname to PM, and I tried in this way:

     

    #ifdef ENABLE_CHAT_COLOR_SYSTEM
    	// static const char* colorbuf[] = {" |h|r[寔햇?|cFFffa200|h", " |h|r[遁鞍?|cFFff0000|h", " |h|r[讀安?|cFFffc700|h", " |h|r[警仰]|cFF000bff|h"}; // Arab
    	static const char* colorbuf[] = {"|cFFffa200|H|h[Staff]|h|r", "|cFFff0000|H|h[Shinsoo]|h|r", "|cFFffc700|H|h[Chunjo]|h|r", "|cFF000bff|H|h[Jinno]|h|r"};
        int len;
        if (pinfo->type == CHAT_TYPE_SHOUT)
        {
            len = snprintf(chatbuf, sizeof(chatbuf), "|Hmsg:%s|h%s|h|r : %s", (ch->IsGM()?colorbuf[0]:colorbuf[MINMAX(0, ch->GetEmpire(), 3)]), ch->GetName(), buf);
        }
        else
        {
            len = snprintf(chatbuf, sizeof(chatbuf), "%s : %s", ch->GetName(), buf);
        }
    #endif

     

    but this doesn't work, what I did wrong? (if I use the "hyperlink to chat" without global chat then works).

     

    ------------------------- EDIT

     

    Ok, i think this is the problem:

     

    len = snprintf(chatbuf, sizeof(chatbuf), "|Hmsg:%s|h%s|h|r : %s", (ch->IsGM()?colorbuf[0]:colorbuf[MINMAX(0, ch->GetEmpire(), 3)]), ch->GetName(), buf);

     

    Should I add an %s here?

     

    "|Hmsg:%s|h%s|h|r : %s"

     

    but where? °L° and how?

     

    --------------------------- EDIT 

     

    Ok solved, I just added an %s, i'm so idiot. Topic can be closed.

  9. Hi!
    I get this error and crash client after that:

    RX8dC7F.gif

    syserr empty in client and just these errors in server.

    CH1

    Spoiler
    
    SYSERR: May 17 12:15:05.873789 :: pid_init: 
    Start of pid: 2920
    
    SYSERR: May 17 12:15:10.217262 :: GetMotionFileName: Motion: dog_god have not motlist.txt vnum(20202) folder(dog_god)
    SYSERR: May 17 12:15:10.217262 :: GetMotionFileName: Motion: dog_god have not motlist.txt vnum(20202) folder(dog_god)
    SYSERR: May 17 12:15:10.217273 :: GetMotionFileName: Motion: dog_god have not motlist.txt vnum(20202) folder(dog_god)
    SYSERR: May 17 12:15:10.218041 :: GetMotionFileName: Motion: dog_god have not motlist.txt vnum(20206) folder(dog_god)
    SYSERR: May 17 12:15:10.218054 :: GetMotionFileName: Motion: dog_god have not motlist.txt vnum(20206) folder(dog_god)
    SYSERR: May 17 12:15:10.218065 :: GetMotionFileName: Motion: dog_god have not motlist.txt vnum(20206) folder(dog_god)
    SYSERR: May 17 12:15:10.218367 :: GetMotionFileName: Motion: dog_god have not motlist.txt vnum(20210) folder(dog_god)
    SYSERR: May 17 12:15:10.218379 :: GetMotionFileName: Motion: dog_god have not motlist.txt vnum(20210) folder(dog_god)
    SYSERR: May 17 12:15:10.218390 :: GetMotionFileName: Motion: dog_god have not motlist.txt vnum(20210) folder(dog_god)
    SYSERR: May 17 12:15:10.223947 :: GetMotionFileName: Motion: pig_young2 have not motlist.txt vnum(34017) folder(pig_young2)
    SYSERR: May 17 12:15:10.223960 :: GetMotionFileName: Motion: pig_young2 have not motlist.txt vnum(34017) folder(pig_young2)
    SYSERR: May 17 12:15:10.223971 :: GetMotionFileName: Motion: pig_young2 have not motlist.txt vnum(34017) folder(pig_young2)
    SYSERR: May 17 12:15:10.224047 :: GetMotionFileName: Motion: dog_young2 have not motlist.txt vnum(34018) folder(dog_young2)
    SYSERR: May 17 12:15:10.224072 :: GetMotionFileName: Motion: dog_young2 have not motlist.txt vnum(34018) folder(dog_young2)
    SYSERR: May 17 12:15:10.224084 :: GetMotionFileName: Motion: dog_young2 have not motlist.txt vnum(34018) folder(dog_young2)
    SYSERR: May 17 12:15:10.224220 :: GetMotionFileName: Motion: lion_young2 have not motlist.txt vnum(34020) folder(lion_young2)
    SYSERR: May 17 12:15:10.224232 :: GetMotionFileName: Motion: lion_young2 have not motlist.txt vnum(34020) folder(lion_young2)
    SYSERR: May 17 12:15:10.224243 :: GetMotionFileName: Motion: lion_young2 have not motlist.txt vnum(34020) folder(lion_young2)
    SYSERR: May 17 12:20:13.856332 :: Process: SEQUENCE 3bd81000 mismatch 0xaf != 0x64 header 254
    SYSERR: May 17 12:20:13.856342 :: Process: SEQUENCE_LOG [UNKNOWN]-------------
    	[254 : 0xaf]
    
    SYSERR: May 17 12:25:49.126062 :: hupsig: SIGHUP, SIGINT, SIGTERM signal has been received. shutting down.
    SYSERR: May 17 12:25:49.649240 :: pid_deinit: 
    End of pid
    

     


    DB

    Spoiler
    
    SYSERR: May 17 12:15:00.803742 :: pid_init: 
    Start of pid: 2910
    
    SYSERR: May 17 12:25:46.548407 :: Process: FDWATCH: peer null in event: ident 20
    SYSERR: May 17 12:25:49.739306 :: Process: FDWATCH: peer null in event: ident 21
    SYSERR: May 17 12:25:52.48440 :: Process: FDWATCH: peer null in event: ident 22
    SYSERR: May 17 12:25:53.639347 :: Process: FDWATCH: peer null in event: ident 23
    SYSERR: May 17 12:25:56.638516 :: Process: FDWATCH: peer null in event: ident 24
    SYSERR: May 17 12:25:59.210870 :: hupsig: SIGHUP, SIGINT, SIGTERM signal has been received. shutting down.
    SYSERR: May 17 12:25:59.243664 :: pid_deinit: 
    End of pid

     

    the others are clean.

    I know about the "FDWATCH" warning, but i don't think it can cause this error.

    Can you guys help me to resolve?

  10. I get this errors:

    bd18Pgh.png

    unused variable and undefined reference.
    How can i solve?

     

    --- edit ---

    Ok problem was the "#include "arena.h" i added to solve this error:

    UBrwhQ1.png

    so now i get again this error and don't know how to solve it, if i put the "#include "arena.h" in questlua_horse.cpp i get again the first error.

    any help?

     

    --- edit 2 ---

    Ok i solved, I did should put the "#include "arena.h"" after the others #include.

    Now i have just the "unused variabiles" problem from "MountSysten.cpp", now they're  commented, hope i don't need them.

×
×
  • Create New...

Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.