Unmantained Guida Vanilla Core 2.4 - Based on 40250 src - by Vanilla (m2dev)

  • Autore discussione Autore discussione BigT
  • Data d'inizio Data d'inizio
Una guida contrassegnata come Unmantained contiene informazioni su un argomento obsoleto, non più utile o files non aggiornati da parte del creatore.
Stato
Discussione chiusa ad ulteriori risposte.

BigT

Utente Gold
23 Novembre 2013
505
52
77
241
Ultima modifica da un moderatore:
Vi segnalo questo file game migliore rispetto all'originale 40250.
Cos'ha di speciali? Molti bugfix e accorgimenti per la sicurezza, nuove opzioni per i config, nuove funzioni per le quest e altro ancora.
Ricordatevi di ringraziare Vanilla di Metin2Dev per il suo ottimo lavoro in modo che continui lo sviluppo.
Il download non posso postarlo qui ma potete facilmente trovare il thread con il link di download su google.


Hello metin2dev,

Vanilla project is a project where I'm going to modify the source code just to enhance the capabilities of the gamecore, add small new stuff, bugfixing and making it more comfortable to use.
Some of the goals are more performance and lesser dependencies on dif-files.

Since the source code is written by YMIR and I respect their work I won't release the source code or give any peeks into it.

*FEATURE LIST*
[COLOR=white !important]?
[TABLE="width: 1571"]
[TR]
[TD="class: gutter"]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22​
[/TD]
[TD="class: code"]+ removed the license functions so the server won't connect to a license server nor check if your server is valid
+ removed the time limitation so it won't even check the time limit. This crash issue is completely fixed.
+ merged all the exp tables to the "exp_table_common" which will be used by ANY locale. You can change the needed exp for 200 levels there.
+ Max_level can be raised in the CONFIG file to a maximum of 255.
+ status points will be given at any level. It depends now on Max_level so if you set max_level to 120 you'll get status points until level 120!
+ fixed vampirism effects so you won't loose hp when you make an overkill (suras may embrace this change)
+ exp bonus now works comulutative instead of just making a chance to get double exp. If you have 20% exp bonus in your items you'll get 20% more exp at any time.
+ Rewrote the version check. You can now set your server version in your CONFIG-file and let it check with the client version. If serverversion != clientversion the server will print a message and kick the player out
+ Raised the gold limit up to 999.999.999.999
+ membuf-errors fixed! Now you have a optimized buffer length so it won't consume much RAM but still have enough to not kick players out.
+ you can now give priv_empire (or other priv's) up to 2000% at any time.
+ a lot of new quest functions, when triggers and CONFIG-options
+ more stability and performance especially since it's compiled with a newer gcc version
+ ip's beginning with 5. and 25. are now allowed by the internal ip-check
+ Items can now be sold for 0 gold
+ 6/7 bonus are now working
+ name-change works with every locale
+ gold overflow: Now resets the gold to the maximum value to fight against gold overflow
+ horse-table has new entries for up to level 51. Raising the level extends the horse-stats.
+ New error handling for bonus overflow. Now the bonus will be set to the maximum generating a warning in your syserr
+ player movement speed will be observerd by the server now and set down to the maximum value if it's too high.
+ Skills can now apply new bonuses! You can e. g. raise your int-attribute

[/TD]
[/TR]
[/TABLE]

[/COLOR]
*New CONFIG-options*
[COLOR=white !important]?
[TABLE="width: 1165"]
[TR]
[TD="class: gutter"]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98​
[/TD]
[TD="class: code"]MAX_LEVEL_STATUS: unsigned int
Forces a maximum level. If you level up higher than this, you'll receive no status points anymore.

MAX_STATUS: unsigned int
Sets a maximum of distributed status points. If you e. g. set it to 20, you can only raise your stat's by 20 each status.

SERVER_CHECK: 1/0
Checks if the client version and the server version are the same. If not, the server will send a message to the client and kick him out after a few seconds.

SERVER_VERSION: unsigned int
There you can set the version of your server for the SERVER_CHECK.

MAX_HT: unsigned int
It's the same option than MAX_STATUS but only for the con-attribute.

MAX_IQ: unsigned int
It's the same option than MAX_STATUS but only for the int-attribute.

MAX_ST: unsigned int
It's the same option than MAX_STATUS but only for the str-attribute.

MAX_DX: unsigned int
It's the same option than MAX_STATUS but only for the dex-attribute.

ATTR_ALWAYS_ADD: 1/0
If enabled you'll get 100% chance to add new attributes to you equipment.

ATTR_ALWAYS_5_ADD: 1/0
If enabled you'll get 100% chance to add new attributes to you equipment. Counts only for 5th Bonus (blessing marble).

ATTR_CHANGE_LIMIT: int
You can set a limit time to change your attributes again. It's changed to seconds (set it to 1 to let the users switch only once per second their attributes).

GUILD_MAX_LEVEL: int
Sets the maximum guild level. You can raise it up to 50 since the exp-table is extended to handle up to 50.

ITEM_OWNERSHIP_TIME: int
If you drop an item, this option sets how long the item will be flagged as yours.

MIN_ADDON_FKS: int
Sets the minimum ability bonus dmg you can have.

MAX_ADDON_FKS: int
Sets the maximum ability bonus dmg you can have.

MIN_ADDON_DSS: int
Sets the minimum normal hit bonus dmg you can have.

MIN_ADDON_DSS: int
Sets the maximum normal hit bonus dmg you can have.

SKILLBOOK_DELAY: int
Sets the time limit for reading a book (e. g. if you read skill books you'll have to wait x seconds until you can read the same skill book again).

SKILLBOOK_NEED_EXP: int
Sets the exp you need for reading a book.

SKILLBOOK_ALWAYS_BOOK: 1/0
Sets if every book will be handled as you'd have used a skillbook chance amplifier.

GOLD_DROP_TIME_INTERVAL: int
Sets how long you have to wait until you can drop gold again.

SEQUENCE_CHECK: 1/0
Enables a check if the sequence table is the same than the client's one.

SKILLBOOK_STEP_LEVELING: 1/0
Enables the need of more books for raising a skill (e. g. you need 2 books from m2 to m3).

RAISE_EMPIRE_PRICES: 1/0
Enables the raise of prices if you buy items in another empire.

HORSE_MAX_LEVEL: int
Sets the maximum level of your horse (you still need to write quests or something like that to allow players to achieve the higher horse-levels).

MARRIAGE_MAX_PERCENT: int
Sets the maximum allowed percent of love points. Warning! If love points > 100 it'd lead into bugs with breaking the marriage.

PC_MAX_MOVEMENT_SPEED: int
Sets the maximum movement speed for players.

PC_MAX_ATTACK_SPEED: int
Sets the maximum attack speed for players.

MOB_MAX_MOVEMENT_SPEED: int
Sets the maximum movement speed for mobs.

MOB_MAX_ATTACK_SPEED: int
Sets the maximum attack speed for mobs.

TAXES: int
From 0 to 100. Sets the % how much taxes you have to pay while shopping.

DYE_LEVEL: int
Sets how many levels you have to get after you can change your hair color again.

YANG_MAX: long long
Sets the maximum gold you can carry. You can change it up to 999.999.999.999 gold.

[/TD]
[/TR]
[/TABLE]

[/COLOR]
*New questfunctions*
[COLOR=white !important]?
[TABLE="width: 866"]
[TR]
[TD="class: gutter"]
1
2
3
4
5
6
7
8
9
10
11​
[/TD]
[TD="class: code"]item.get_attr_type(int index)
item.get_attr_value(int index)
item.set_attr(int ApplyType, int ApplyValue[, int index])
npc.get_level()
game.mysql_real_escape_string(string query)
game.mysql_query(string query)
game.mysql_update_query(string query)
pc.delayed_disconnect(int zeit)
pc.get_mount_vnum()
pc.set_level(int level)
pc.send_effect(int id)

[/TD]
[/TR]
[/TABLE]

[/COLOR]
*New quest trigger*
[COLOR=white !important]?
[TABLE="width: 866"]
[TR]
[TD="class: gutter"]
1
2​
[/TD]
[TD="class: code"]OnBuy (triggers on buying a item from players or npc's)
OnDie (triggers on dying)

[/TD]
[/TR]
[/TABLE]

[/COLOR]
full list of all allowed bonuses for skills:
[COLOR=white !important]?
[TABLE="width: 866"]
[TR]
[TD="class: gutter"]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79​
[/TD]
[TD="class: code"]MAX_HP
MAX_SP
HP_REGEN
SP_REGEN
BLOCK
HP
SP
ATT_GRADE
DEF_GRADE
MAGIC_ATT_GRADE
MAGIC_DEF_GRADE
BOW_DISTANCE
MOV_SPEED
ATT_SPEED
POISON_PCT
RESIST_RANGE
CASTING_SPEED
REFLECT_MELEE
ATT_BONUS
DEF_BONUS
RESIST_NORMAL
DODGE
KILL_HP_RECOVER
KILL_SP_RECOVER
HIT_HP_RECOVER
HIT_SP_RECOVER
CRITICAL
MANASHIELD
SKILL_DAMAGE_BONUS
NORMAL_HIT_DAMAGE_BONUS
HT
IQ
ST
DX
STUN_PCT
SLOW_PCT
PENETRATE_PCT
ATTBONUS_HUMAN
STEAL_HP
STEAL_SP
MANA_BURN_PCT
DAMAGE_SP_RECOVER
RESIST_SWORD
RESIST_TWOHAND
RESIST_DAGGER
RESIST_BELL
RESIST_FAN
RESIST_BOW
RESIST_FIRE
RESIST_ELEC
RESIST_MAGIC
RESIST_WIND
REFLECT_CURSE
POISON_REDUCE
EXP_DOUBLE_BONUS
GOLD_DOUBLE_BONUS
ITEM_DROP_BONUS
POTION_BONUS
IMMUNE_STUN
IMMUNE_SLOW
IMMUNE_FALL
CURSE_PCT
STA
ATTBONUS_WARRIOR
ATTBONUS_ASSASSIN
ATTBONUS_SURA
ATTBONUS_SHAMAN
ATTBONUS_MONSTER
MAX_HP_PCT
MAX_SP_PCT
SKILL_DEFEND_BONUS
NORMAL_HIT_DEFEND_BONUS
RESIST_WARRIOR
RESIST_ASSASSIN
RESIST_SURA
RESIST_SHAMAN
ENERGY
RESIST_CRITICAL
RESIST_PENETRATE

[/TD]
[/TR]
[/TABLE]

[/COLOR]
Thanks to:
xP3NG3Rx for some quest functions
Sphinx² & lollo_9_1 for the mysql-functions
Lefloyd for the 2 new quest triggers
.InyaProduction for some new quest functions

Tim for the suggestion to include libs from a special path
MartPwnS for helping with the src code on gcc48/gcc49

Quote
* Introduced the new Rev system. I'm now going to built up on revisions. Vanilla 2.2 has revision 51204
* C++ version changed to c++11
* Compiler changed to gcc48
* Bugfix: yang limit should work properly
* Bugfix: HP/MP won't be resetting on teleport if overflowing
* Bugfix: Many crashes fixed in cause of false formating arguments
* Bugfix: No guild war crash anymore
* Bugfix: Conversions made to bypass unsigned and signed comparisons
* Bugfix: internal IP fix; If there are errors left, just set the IP in your CONFIG
* Bugfix: Monarch system fixed in dbcache
* Bugfix: 6/7 attributes
* Bugfix: command_log works with every locale
* Bugfix putting things for 0 gold into shops works again
* Bugfix: reload q shouldn't crash anymore. Still NOT recommended but it'll print out errors if the questmanager does not respond
* Bugfix: The speedhack limits got retuned so you won't be teleported back anymore while riding
* Bugfix: You can now use stackable items and remove them with item.remove() without loosing the stacks. Skillbooks etc. will be handled this way too
* Feature: Dbcache can now start without txt-files
* Feature: If you're warped into a non-existing map or non-existing coordinates your coordinates will be resetted to map1 of your village; You won't need unstuckers anymore
* Feature: adminpage_ip set to localhost by default so it'll only listen to itself to prevent attackings from API tool. You can disable it with a CONFIG-option.
New conf.txt options (refers to dbcache):
Quote
TXT_STARTUP = 0/1
1 = enabled. Disabled by default. Enable to boot with txt-files instead of sql
New CONFIG options:
Quote
package_enable: 0/1
1 = enabled. Disabled by default. Enable to use the package-feature.

log_level: 0/1/2
Sets the logging level. 0 means to logs will be entered in your database.
1 means that the most important tables (hack-logs for example) will be used
2 means that all logging tables will be used

new_test_server: 0/1
Protects your test-server so the gamecore will check if accounts are written into gmlist before granting them implementor-privileges.

new_gm_host_check: 1/0
Checks the gmhost and gmlist for the right ip before granting privileges. Disabled by default.

adminpage_enable: 1/0
Enables the adminpage-features. Disabled by default (say bye bye to API tools)

adminpage_no_localhost: 1/0
Disables the security feature which inserts localhost into your adminpage_ip so it'll only listen to localhost.

item_floor_time: int
Set the time how long a dropped item will be lying on the ground (by monsters)

item_ownership_time: int
Set the time how long a dropped item will be owned by a player (by monsters)

max_rank_points: long int
Set the maximum rank points

movement_speed: int
Set the initial movement speed for players.

belt_all_allow_items: 0/1
Allow Players to store every item in their belt inventory

attr_rare_enable: 0/1
Allow the using of rare attributes (6th and 7th attributes). Default: ON.

New quest-functions:


Quote
pet.is_mine()


~~~Vanilla v3 rev52410 CHANGELOG~~~
* Guild war with negative type will no longer crash the server
* You can not bypass the level and yang limit when creating a guild anymore
* Invisibility bug fixed
* empire exploit fixed (empires > 3 will always be handled as the third empire)
* fixed yang-limit CONFIG option
* fixed level-limit CONFIG option
* rebuilt the complete source with edited tables so it won't cause bugs anymore
* Fixed hp overflow: Now it's new size is long int which won't cause any overflow bugs anymore
* Fixed yang overflow: Now yang won't overflow anymore. If you hit the limit your gold will automatically set down to the limit so it can't bug or go into negative values
* Fixed SKILLBOOK_STEP_LEVELING. It'll now work as intended
* Fixed level size to long so it may go higher than 255
* Fixed ITEM_DROP_TIME. It'll now work as intended.
* Fixed belt_allow_all_items: It'll now work as intended.
* Pet system now works again!

+ Added version info on startup
+ Added new CONFIG options:

Quote
GOLD_DROP_TIME: int
Sets the time how long dropped gold will lay on the ground until it's purged.

BELT_FORCE_SLOTS: int
Forces to open up the given amount of slots in your belt inventory. If this value is higher than the grade of your belt, it'll open the given amount of slots. If it's lower, the amount your belt provides will be used. For example: You set 10. You've got a belt that opens 5 slots. 10 will be opened. Now you set 4 and still have the same belt. This time 5 slots will be opened. This does also work when no belts are weared. But be careful: Since there's also a clientside part the slots may appear to be locked but you can still put items into them

### Changelog vanilla revision 54180 ###
Also known as version 2.4

* stands for changes
+ stands for additional content or features
- stands for removed things

-> general <-
* changed compiler to gcc 4.9 released version
* changed some optimization flags to make it even more faster!
* upgraded boost to version 1.55
* upgraded cryptopp to 5.6.2
+ added qc in the bundle! Further versions will now also update qc file!

-> qc changes <-
* changed compiler to gcc49 and added some tuning in the compiler flags! Now qc will be faster and smaller than before!

-> liblua <-
Note: Upgrade to lua 5.2 is now shifted away into a future versions since there's still a lot to do.
* Recompiled with gcc 4.9
* Made some slight changes to make the lualib more compatible to newer versions

-> gameplay improvements <-
+ Installed advanced spam protection to stop people saying the same stuff over and over. It can be activated
* game master will now have the same waiting time when switching bonuses than users
* unknown packet headers won't let the user disconnect; instead the packet will just be dropped and ignored. Still pending test! This should lead into a more stable behavior

+ A second binary is generated for 4 inventory pages
+ New skill flags implemented:

Quote
SKILL_ATTR_TYPE_FIRE
SKILL_ATTR_TYPE_ICE
SKILL_ATTR_TYPE_ELEC
SKILL_ATTR_TYPE_DARK
By now the new skill flags will still do magic damage but they won't be affected by POINT_RESIST_MAGIC, instead they'll have their own defense bonus like RESIST_DARK to counter them. You CAN use them, but you're not force to use the new skill flags. Still further testing needed.

-> bugfixes <-
* fixed immunity bug
* fixed some bugs with CONFIG options that couldn't be recognize nor work properly
* fixed a bug where people could cause a yang overflow with shops
* fixed a bug where sometimes the anti-overflow-mechanism leads people into starting with maximum gold
* Fixed the prisma glass system

- removed polymorph bonus since it's just buggy and won't work for most char classes

-> CONFIG options <-
+ The following CONFIG-options were added:
empire_chat: 1/0
Enables the global chat! Disabled by default.
bigger_inventory: 1/0
Allows the use of up to 4 inventory slots

note: Be careful with this options as you'll have to edit your client too! If you don't have 4 pages in your client installed, then don't activate this feature!
trade_effect: 1/0
Enables a effect that'll occur when people are traing stuff. Enabled by default.
ban_force_reason: 1/0
This lets the ban-command only work when you're giving a reason. Disabled by default.
start_gold: long int
Let's players start with a custom amount of gold. Default: 0.
view_equip_for_all: 1/0
Let's player view equip of others! Disabled by default.
view_equip_sp_cost: int
Sets the cost of using view_equip. This is in % so if you type in 30 then it'll cost 30% of the players maximum sp. Default: 0.
glass_enable: 1/0
Enables the prisma glass-system to print your items in the chat. Disabled by default.
glass_needed: 1/0
Sets if you need a glass for using the prisma glass-system or not. Enabled by default.
trade_effect_exchange_threshold: int
Sets the threshold to create another effect when making an exchange. Default: 500000. This means, that every 500000 gold traded away there'll be another fly effect created
trade_effect_shop_threshold: int
Same as trade_effect_exchange_threshold; This points to buying items in shops. Default: 100000000.

-> Quest functions <-
+ pc.block_exp()
+ pc.unblock_exp()
They may be quite popular right now. This lets the player not receive any exp anymore. The unblock function removes this effect. It's for a working anti-exp ring.
+ item.equip()
Equips the selected item
+ npc.select()
Selects a new npc as the current quest npc. Similar to the pc.select-function
+ pc.get_id()
Prints out the id from the player
* pc.get_account_id()
Now works with a new table entry from the player-table so it won't query nor use anything else. It'll be faster than before!

-> commands <-
* ban command reworked.
Now works properly and bans the given player. But additionally, this command is also able to read a reason given.
/ban PLAYERNAME [REASON]
+ unban
Unbans a player and reverts the ban effects.
/unban PLAYERNAME
 
Stato
Discussione chiusa ad ulteriori risposte.
Indietro
Top Bottom