Compare commits
375 Commits
multi-grap
...
v0.6.6
Author | SHA1 | Date | |
---|---|---|---|
![]() |
dbed09cb55 | ||
![]() |
9f3ebb0036 | ||
![]() |
ddb5e58057 | ||
![]() |
4e5707720b | ||
![]() |
e9628187f2 | ||
![]() |
c8f9cdd6fa | ||
![]() |
7cfa9c38e0 | ||
![]() |
7cc368305f | ||
![]() |
682694cc07 | ||
![]() |
12c4677912 | ||
![]() |
0e0ae6c083 | ||
![]() |
49d62b8225 | ||
![]() |
0909e186a1 | ||
![]() |
3557879361 | ||
![]() |
fa317c534d | ||
![]() |
119abec1cf | ||
![]() |
92beee10d3 | ||
![]() |
c110f32993 | ||
![]() |
a18970dceb | ||
![]() |
d3d3294277 | ||
![]() |
ef7f94ac76 | ||
![]() |
9fcc4c7355 | ||
![]() |
751cb0ca8b | ||
![]() |
3343919c92 | ||
![]() |
4eb7668922 | ||
![]() |
c706dc12fe | ||
![]() |
1f272b7aba | ||
![]() |
09d830d02e | ||
![]() |
d7429c201c | ||
![]() |
939e16c59a | ||
![]() |
fe585d27d8 | ||
![]() |
e9352fe811 | ||
![]() |
a52c938fef | ||
![]() |
153cf3e859 | ||
![]() |
6b46370d1a | ||
![]() |
c2ff89b2cf | ||
![]() |
2a57a5f7d0 | ||
![]() |
32d1ed5c6a | ||
![]() |
6d8d319557 | ||
![]() |
9e0ddb08e3 | ||
![]() |
74979ca16a | ||
![]() |
0c77179c46 | ||
![]() |
935b9e4cd6 | ||
![]() |
0f362f80e3 | ||
![]() |
0b5654f870 | ||
![]() |
4ec5048730 | ||
![]() |
6b8e810466 | ||
![]() |
9b3e0a324c | ||
![]() |
f7531383f3 | ||
![]() |
7724b8059d | ||
![]() |
2ada93db9c | ||
![]() |
d070711409 | ||
![]() |
5909634837 | ||
![]() |
07ac5c27ca | ||
![]() |
9f7aafac0b | ||
![]() |
12b3bd4ee0 | ||
![]() |
9e30c39035 | ||
![]() |
3dbcb1daee | ||
![]() |
a9d4fd5e1e | ||
![]() |
07f8e6fca9 | ||
![]() |
f0ed0bad13 | ||
![]() |
8fccc1eb63 | ||
![]() |
62d2a22ab8 | ||
![]() |
10438c21ff | ||
![]() |
ec99d35cee | ||
![]() |
85fe5867f3 | ||
![]() |
1a77473e13 | ||
![]() |
cc483fba5a | ||
![]() |
94686d3fe8 | ||
![]() |
468ac9cbd2 | ||
![]() |
9f8293a5a0 | ||
![]() |
ce9e443c60 | ||
![]() |
99b1ddf44c | ||
![]() |
c083d02bef | ||
![]() |
00253e46b3 | ||
![]() |
d2b7de3801 | ||
![]() |
adcf258551 | ||
![]() |
2df51622ba | ||
![]() |
a7d7667491 | ||
![]() |
0ad45d6826 | ||
![]() |
f23e70ff08 | ||
![]() |
b96be291bb | ||
![]() |
72b3403728 | ||
![]() |
b1964a1c10 | ||
![]() |
25fb3113fa | ||
![]() |
24acf8855f | ||
![]() |
06855dd1de | ||
![]() |
65d556ef4e | ||
![]() |
54b8e362d5 | ||
![]() |
45b41b88bd | ||
![]() |
1baad726ae | ||
![]() |
b19fb22146 | ||
![]() |
8dec9cd835 | ||
![]() |
50d3f83fce | ||
![]() |
41b2f9b911 | ||
![]() |
a02c091376 | ||
![]() |
01e6169cfb | ||
![]() |
1074b6b787 | ||
![]() |
d45fbcb10f | ||
![]() |
f334a03397 | ||
![]() |
3ce37dacbd | ||
![]() |
166eb7614f | ||
![]() |
8b3f3b11f0 | ||
![]() |
2d84fae2c8 | ||
![]() |
5204e3ac03 | ||
![]() |
547b18db9a | ||
![]() |
37f9d3e200 | ||
![]() |
4b24c78f0f | ||
![]() |
994f49b3c1 | ||
![]() |
79ee0e34ea | ||
![]() |
b295053662 | ||
![]() |
61059e66ec | ||
![]() |
f4de000646 | ||
![]() |
d20c263912 | ||
![]() |
07e40afa3d | ||
![]() |
8179915e06 | ||
![]() |
4f79a30689 | ||
![]() |
a58a3e90c8 | ||
![]() |
8d8f32b081 | ||
![]() |
9d866a3616 | ||
![]() |
0fbba70003 | ||
![]() |
598a7edf6b | ||
![]() |
b415b73b4a | ||
![]() |
b6d8ede854 | ||
![]() |
d64a682e74 | ||
![]() |
d080432e14 | ||
![]() |
8bd1293be7 | ||
![]() |
ce411ec871 | ||
![]() |
82a5989f5c | ||
![]() |
bb514d3acb | ||
![]() |
c96b717273 | ||
![]() |
d245b7fb29 | ||
![]() |
edde71fc09 | ||
![]() |
b7b8fdfd0c | ||
![]() |
8dc831088e | ||
![]() |
c07d448aac | ||
![]() |
57a330e589 | ||
![]() |
64437e4e1a | ||
![]() |
96f3bcb42b | ||
![]() |
c8b4566194 | ||
![]() |
d30ff220f6 | ||
![]() |
f0fbd4790f | ||
![]() |
cb1f28a3a3 | ||
![]() |
cc1e3c534e | ||
![]() |
f4f79f47bd | ||
![]() |
ff617c3fab | ||
![]() |
43524a9127 | ||
![]() |
48ff67dc06 | ||
![]() |
8bd154b604 | ||
![]() |
9da018fdff | ||
![]() |
4f4788c1c3 | ||
![]() |
d0d8c9a081 | ||
![]() |
f3b5adbf40 | ||
![]() |
38c9b6b0b2 | ||
![]() |
79be0eca73 | ||
![]() |
9bd02ca8ba | ||
![]() |
f12ecd8404 | ||
![]() |
53803b2218 | ||
![]() |
67c2453c82 | ||
![]() |
455000c02d | ||
![]() |
a2684cce7c | ||
![]() |
27ae54d7d6 | ||
![]() |
aec577a4b4 | ||
![]() |
6f467d5a1b | ||
![]() |
e6c9e78935 | ||
![]() |
3750a85c5f | ||
![]() |
03de13d618 | ||
![]() |
1588bc4cae | ||
![]() |
b718ae0423 | ||
![]() |
a8f540cf29 | ||
![]() |
e6a1fabdd3 | ||
![]() |
291960d159 | ||
![]() |
20b68c6a42 | ||
![]() |
e4ba805e00 | ||
![]() |
93be0f975f | ||
![]() |
cbfeef39bc | ||
![]() |
d7dfa2220e | ||
![]() |
59c3e4467a | ||
![]() |
117833addc | ||
![]() |
edf17a44ca | ||
![]() |
6db2458c1d | ||
![]() |
2556bfcbf2 | ||
![]() |
9bdce800d8 | ||
![]() |
9adab5f9bf | ||
![]() |
a6f998d406 | ||
![]() |
ab21558c47 | ||
![]() |
17c4d59b15 | ||
![]() |
d53f4dfa1e | ||
![]() |
da959aca28 | ||
![]() |
91c182d93d | ||
![]() |
6ecd49abe1 | ||
![]() |
6745bff132 | ||
![]() |
27db78567b | ||
![]() |
83dd92cfec | ||
![]() |
5605061435 | ||
![]() |
241b178ebc | ||
![]() |
d0288e23d8 | ||
![]() |
9d8cf33acc | ||
![]() |
6a4868f2b5 | ||
![]() |
aa84ee4362 | ||
![]() |
1e17919a26 | ||
![]() |
df3546b073 | ||
![]() |
24e26e190b | ||
![]() |
ad7cda534d | ||
![]() |
863bece70b | ||
![]() |
22f97aa00b | ||
![]() |
e32607b05c | ||
![]() |
1790eee1c6 | ||
![]() |
ec2518525a | ||
![]() |
eb4fb4ff41 | ||
![]() |
4f997a3826 | ||
![]() |
c54015a60d | ||
![]() |
57c432d3ea | ||
![]() |
bd8c883e13 | ||
![]() |
b5c3b37b3c | ||
![]() |
ece6507df2 | ||
![]() |
04515ffbb8 | ||
![]() |
ed24a0735a | ||
![]() |
2498129ff3 | ||
![]() |
066638e7c0 | ||
![]() |
95610de5f3 | ||
![]() |
9154c0a678 | ||
![]() |
772ec208c0 | ||
![]() |
7914832be9 | ||
![]() |
99500c9c91 | ||
![]() |
b9b9a32b83 | ||
![]() |
f615b80fbc | ||
![]() |
319f32cdaa | ||
![]() |
ba091c9f5b | ||
![]() |
3288711d16 | ||
![]() |
8b0509a5c3 | ||
![]() |
d7612e9304 | ||
![]() |
4dcb30110f | ||
![]() |
7ff73d1064 | ||
![]() |
ca2fe9cf45 | ||
![]() |
b61f509755 | ||
![]() |
ec012cb137 | ||
![]() |
69ae324676 | ||
![]() |
4d656f8bd1 | ||
![]() |
c98439ae65 | ||
![]() |
4f9f04206d | ||
![]() |
fc54a6e418 | ||
![]() |
25d3019d1a | ||
![]() |
1711d8bdaf | ||
![]() |
28d967ccce | ||
![]() |
f02d5e7975 | ||
![]() |
4bfe9b640e | ||
![]() |
ab1cc8c890 | ||
![]() |
d657a0482a | ||
![]() |
8562d38ca4 | ||
![]() |
28786a3570 | ||
![]() |
b07a77f705 | ||
![]() |
0d44942e8e | ||
![]() |
dd829395e3 | ||
![]() |
18fa54181a | ||
![]() |
5b8ff29fa3 | ||
![]() |
59e90e8f1e | ||
![]() |
5db37857bf | ||
![]() |
fc0297d6db | ||
![]() |
1060c6f78c | ||
![]() |
c9597d6682 | ||
![]() |
d3e97d33c7 | ||
![]() |
2b015d49d7 | ||
![]() |
f04b4a0b42 | ||
![]() |
ff5c22d4c0 | ||
![]() |
d6105a98d1 | ||
![]() |
0938e22eb9 | ||
![]() |
1868b235cb | ||
![]() |
9a30050340 | ||
![]() |
9d689f0c43 | ||
![]() |
2b34c0ea0a | ||
![]() |
d32f71c2b9 | ||
![]() |
3cff331723 | ||
![]() |
9894f0c0b9 | ||
![]() |
e60372fdea | ||
![]() |
d2473fd424 | ||
![]() |
7d7bd00a63 | ||
![]() |
c81a623c43 | ||
![]() |
8b165b95fd | ||
![]() |
6f9436dd60 | ||
![]() |
ae95f51346 | ||
![]() |
9b84570372 | ||
![]() |
38dec168ee | ||
![]() |
84b722f8c7 | ||
![]() |
b3717ceb93 | ||
![]() |
3340e06da6 | ||
![]() |
084ee45650 | ||
![]() |
7290ec3334 | ||
![]() |
971d90a596 | ||
![]() |
8230bf2af4 | ||
![]() |
241b54262a | ||
![]() |
63ce68b449 | ||
![]() |
f47ea05abc | ||
![]() |
de3160c90d | ||
![]() |
67bd00556d | ||
![]() |
778559c7b9 | ||
![]() |
3aac0ac0ec | ||
![]() |
4adfafc67e | ||
![]() |
1b27a095a9 | ||
![]() |
e6977b1b43 | ||
![]() |
5843b78e87 | ||
![]() |
7cf645e715 | ||
![]() |
537508021e | ||
![]() |
e741a62ce9 | ||
![]() |
56d6ef6642 | ||
![]() |
3db8f54aa9 | ||
![]() |
9234030c1b | ||
![]() |
520baa28ea | ||
![]() |
bbdeac2e33 | ||
![]() |
1f914351bb | ||
![]() |
eb68504dc1 | ||
![]() |
32647f11bf | ||
![]() |
644d4daeea | ||
![]() |
b27352c321 | ||
![]() |
a6be9ae525 | ||
![]() |
5df3ec8cf2 | ||
![]() |
00729bbc2e | ||
![]() |
3b2d8a2b5e | ||
![]() |
d5298c1011 | ||
![]() |
aaad8ab8a0 | ||
![]() |
efbd9ab693 | ||
![]() |
092209c0bb | ||
![]() |
05f7f6a4cf | ||
![]() |
2c36ca7215 | ||
![]() |
926eb9f01e | ||
![]() |
96bb28e806 | ||
![]() |
e15995e1eb | ||
![]() |
719debfeae | ||
![]() |
e7137c2535 | ||
![]() |
5eabf6f518 | ||
![]() |
5849136526 | ||
![]() |
0451fd6b58 | ||
![]() |
9cf878335a | ||
![]() |
529b646316 | ||
![]() |
1ea2b380ca | ||
![]() |
914fe249ab | ||
![]() |
4d498ed0d8 | ||
![]() |
9aa667da26 | ||
![]() |
e6db43ac3a | ||
![]() |
b5911cf1de | ||
![]() |
5fbb71157d | ||
![]() |
0ff36a1a0a | ||
![]() |
4a04a18835 | ||
![]() |
6fa9631d6a | ||
![]() |
261642190b | ||
![]() |
95abf2a1d2 | ||
![]() |
c4adf2d817 | ||
![]() |
c7c259ef80 | ||
![]() |
987c6d6c91 | ||
![]() |
c8185474de | ||
![]() |
be071c7103 | ||
![]() |
2f9e2c3e33 | ||
![]() |
b81590f297 | ||
![]() |
e062562888 | ||
![]() |
18d23653c4 | ||
![]() |
6c119627bb | ||
![]() |
d847a78a4d | ||
![]() |
0dccc870b5 | ||
![]() |
e4c7ca604b | ||
![]() |
d427560b98 | ||
![]() |
cc12db0d1f | ||
![]() |
1ce6df99ac | ||
![]() |
57bb6ff974 | ||
![]() |
9bae1b9e25 | ||
![]() |
1415de222c | ||
![]() |
34ceb3c95e | ||
![]() |
b43a196eac | ||
![]() |
a3a65d40ce | ||
![]() |
6ef3508362 | ||
![]() |
a71e07f063 | ||
![]() |
4bdd1e79fd | ||
![]() |
e9e4dcd71b | ||
![]() |
0891e2b30a | ||
![]() |
24664714bd | ||
![]() |
da51dd467e |
71
.gitignore
vendored
@@ -1,4 +1,3 @@
|
||||
/modules/.project
|
||||
build*
|
||||
CMakeCache.txt
|
||||
CMakeFiles
|
||||
@@ -39,3 +38,73 @@ tags
|
||||
Thumbs.db
|
||||
.directory
|
||||
src/framework/graphics/dx/
|
||||
modules/.project/modules.sublime-workspace
|
||||
|
||||
#################
|
||||
## Visual Studio
|
||||
#################
|
||||
|
||||
## Ignore Visual Studio temporary files, build results, and
|
||||
## files generated by popular Visual Studio add-ons.
|
||||
|
||||
# User-specific files
|
||||
*.suo
|
||||
*.user
|
||||
*.sln.docstates
|
||||
|
||||
# Build results
|
||||
|
||||
[Dd]ebug/
|
||||
[Rr]elease/
|
||||
x64/
|
||||
build/
|
||||
[Bb]in/
|
||||
[Oo]bj/
|
||||
|
||||
# MSTest test Results
|
||||
[Tt]est[Rr]esult*/
|
||||
[Bb]uild[Ll]og.*
|
||||
|
||||
*_i.c
|
||||
*_p.c
|
||||
*.ilk
|
||||
*.meta
|
||||
*.obj
|
||||
*.pch
|
||||
*.pdb
|
||||
*.pgc
|
||||
*.pgd
|
||||
*.rsp
|
||||
*.sbr
|
||||
*.tlb
|
||||
*.tli
|
||||
*.tlh
|
||||
*.tmp
|
||||
*.tmp_proj
|
||||
*.log
|
||||
*.vspscc
|
||||
*.vssscc
|
||||
.builds
|
||||
*.pidb
|
||||
*.log
|
||||
*.scc
|
||||
|
||||
# Visual C++ cache files
|
||||
ipch/
|
||||
*.aps
|
||||
*.ncb
|
||||
*.opensdf
|
||||
*.sdf
|
||||
*.cachefile
|
||||
|
||||
# Visual Studio profiler
|
||||
*.psess
|
||||
*.vsp
|
||||
*.vspx
|
||||
|
||||
# Guidance Automation Toolkit
|
||||
*.gpState
|
||||
|
||||
# ReSharper is a .NET coding add-in
|
||||
_ReSharper*/
|
||||
*.[Rr]e[Ss]harper
|
||||
|
@@ -1,7 +1,8 @@
|
||||
cmake_minimum_required(VERSION 2.6)
|
||||
project(otclient)
|
||||
|
||||
set(VERSION "0.6.2")
|
||||
set(VERSION "0.6.6")
|
||||
set(LIB_NAME "otc_framework")
|
||||
|
||||
option(FRAMEWORK_SOUND "Use SOUND " ON)
|
||||
option(FRAMEWORK_GRAPHICS "Use GRAPHICS " ON)
|
||||
@@ -35,11 +36,20 @@ endif()
|
||||
|
||||
add_definitions(-D"VERSION=\\"${VERSION}\\"")
|
||||
|
||||
# we want framework to be a library for faster compilation/linking
|
||||
if(USE_STATIC_LIBS)
|
||||
add_library(${LIB_NAME} ${framework_SOURCES})
|
||||
else()
|
||||
add_library(${LIB_NAME} SHARED ${framework_SOURCES})
|
||||
message(STATUS "Linking to shared ${LIB_NAME}, make sure you copy the DLL/SO/dylib with the executable!")
|
||||
endif()
|
||||
target_link_libraries(${LIB_NAME} ${framework_LIBRARIES})
|
||||
|
||||
# add client executable
|
||||
add_executable(${PROJECT_NAME} ${framework_SOURCES} ${client_SOURCES} ${executable_SOURCES})
|
||||
add_executable(${PROJECT_NAME} ${client_SOURCES} ${executable_SOURCES})
|
||||
|
||||
# target link libraries
|
||||
target_link_libraries(${PROJECT_NAME} ${framework_LIBRARIES})
|
||||
target_link_libraries(${PROJECT_NAME} ${LIB_NAME})
|
||||
|
||||
if(USE_PCH)
|
||||
include(cotire)
|
||||
@@ -51,7 +61,10 @@ endif()
|
||||
|
||||
# installation
|
||||
set(DATA_INSTALL_DIR share/${PROJECT_NAME})
|
||||
install(TARGETS ${PROJECT_NAME} RUNTIME DESTINATION bin)
|
||||
install(TARGETS ${PROJECT_NAME} ${LIB_NAME}
|
||||
RUNTIME DESTINATION bin
|
||||
LIBRARY DESTINATION lib
|
||||
ARCHIVE DESTINATION lib)
|
||||
install(FILES README.md BUGS LICENSE AUTHORS init.lua ${PROJECT_NAME}rc.lua DESTINATION ${DATA_INSTALL_DIR})
|
||||
install(DIRECTORY data modules DESTINATION ${DATA_INSTALL_DIR} PATTERN ".git" EXCLUDE)
|
||||
|
||||
|
28
README.md
@@ -1,4 +1,4 @@
|
||||
[](http://travis-ci.org/edubart/otclient)
|
||||
[](http://travis-ci.org/edubart/otclient)
|
||||
### What is otclient?
|
||||
|
||||
Otclient is an alternative Tibia client for usage with otserv. It aims to be complete and flexible,
|
||||
@@ -8,6 +8,20 @@ that each functionality is a separated module, giving the possibility to users m
|
||||
anything easily. Users can also create new mods and extend game interface for their own purposes.
|
||||
Otclient is written in C++2011, the upcoming C++ standard and heavily scripted in lua.
|
||||
|
||||
### Where do I download?
|
||||
|
||||
The latest commits compiled for Windows can be found here.
|
||||
* [Windows Builds](http://otland.net/threads/otclient-builds-windows.217977/)
|
||||
|
||||
Here is the latest v0.6.5 release compiled for both i686(32 bit) and x86_64(64 bit) machines, with OpenGL renderer.
|
||||
This release is compatible with protocols ranges from 7.60 up to 10.31.
|
||||
* [For Windows](https://www.dropbox.com/sh/se1okacemoqzjve/XFqFoSKLCg/otclient-win-0.6.5.zip)
|
||||
* [For Linux](https://www.dropbox.com/sh/se1okacemoqzjve/xKJL7j6vEo/otclient-linux-0.6.5.tar.gz)
|
||||
|
||||
**NOTE:** You will need to download spr/dat files on your own and place them in `data/things/VERSION/` (i.e: `data/things/1041/Tibia.spr`)
|
||||
|
||||
Older releases can be downloaded from [here](https://www.dropbox.com/sh/se1okacemoqzjve/-oWK4YFm03)
|
||||
|
||||
### Features
|
||||
|
||||
Beyond of it's flexibility with scripts, otclient comes with tons of other features that make possible
|
||||
@@ -18,17 +32,18 @@ to port to mobile platforms. Otclient is also flexible enough to
|
||||
create tibia tools like map editors just using scripts, because it wasn't designed to be just a
|
||||
client, instead otclient was designed to be a combination of a framework and tibia APIs.
|
||||
|
||||
### Download
|
||||
|
||||
Stable versions of otclient master branch compiled for Windows and Linux is available
|
||||
in the [downloads section](https://github.com/edubart/otclient/downloads) of the project's github page.
|
||||
|
||||
### Compiling
|
||||
|
||||
A package with all required libraries for compiling OTClient on Windows can be found here:
|
||||
* [For MSVC 2013](https://www.dropbox.com/sh/se1okacemoqzjve/dI4ODbq7OT/otclient-msvc13-libs.zip)
|
||||
* [For MingW32](https://www.dropbox.com/sh/se1okacemoqzjve/UAkRCiGXXR/otclient-libs_mingw32-dwarf2.zip)
|
||||
|
||||
In short, if you need to compile OTClient, follow these tutorials:
|
||||
* [Compiling on Windows](https://github.com/edubart/otclient/wiki/Compiling-on-Windows)
|
||||
* [Compiling on Linux](https://github.com/edubart/otclient/wiki/Compiling-on-Linux)
|
||||
|
||||
|
||||
|
||||
### Need help?
|
||||
|
||||
Try to ask questions in [otland](http://otland.net/f494/), now we have a board for the project there,
|
||||
@@ -50,4 +65,3 @@ Talk directly with us at #otclient irc.freenode.net or send an email directly to
|
||||
|
||||
Otclient is made available under the MIT License, thus this means that you are free
|
||||
to do whatever you want, commercial, non-commercial, closed or open.
|
||||
|
||||
|
BIN
data/images/game/combatmodes/mount.png
Normal file
After Width: | Height: | Size: 2.0 KiB |
BIN
data/images/game/combatmodes/redfistmode.png
Normal file
After Width: | Height: | Size: 2.1 KiB |
BIN
data/images/game/combatmodes/whitedovemode.png
Normal file
After Width: | Height: | Size: 1.9 KiB |
BIN
data/images/game/combatmodes/whitehandmode.png
Normal file
After Width: | Height: | Size: 2.0 KiB |
BIN
data/images/game/combatmodes/yellowhandmode.png
Normal file
After Width: | Height: | Size: 2.0 KiB |
BIN
data/images/game/dangerous.png
Normal file
After Width: | Height: | Size: 227 B |
BIN
data/images/game/emblems/emblem_member.png
Normal file
After Width: | Height: | Size: 333 B |
BIN
data/images/game/emblems/emblem_other.png
Normal file
After Width: | Height: | Size: 319 B |
BIN
data/images/game/npcicons/icon_chat.png
Normal file
After Width: | Height: | Size: 17 KiB |
BIN
data/images/game/npcicons/icon_quest.png
Normal file
After Width: | Height: | Size: 17 KiB |
BIN
data/images/game/npcicons/icon_trade.png
Normal file
After Width: | Height: | Size: 17 KiB |
BIN
data/images/game/npcicons/icon_tradequest.png
Normal file
After Width: | Height: | Size: 795 B |
BIN
data/images/game/shields/shield_gray.png
Normal file
After Width: | Height: | Size: 330 B |
BIN
data/images/game/slots/purse.png
Normal file
After Width: | Height: | Size: 1.8 KiB |
BIN
data/images/game/summon_other.png
Normal file
After Width: | Height: | Size: 283 B |
BIN
data/images/game/summon_own.png
Normal file
After Width: | Height: | Size: 283 B |
BIN
data/images/game/viplist/icons.png
Normal file
After Width: | Height: | Size: 2.7 KiB |
BIN
data/images/game/viplist/vipcheckbox.png
Normal file
After Width: | Height: | Size: 349 B |
Before Width: | Height: | Size: 4.1 KiB After Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 4.1 KiB After Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 409 B After Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 315 B After Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 409 B After Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 281 B After Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 470 B After Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 548 B After Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 457 B After Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 40 KiB |
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 241 B After Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 39 KiB After Width: | Height: | Size: 21 KiB |
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 51 KiB After Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 197 B After Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 37 KiB After Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 52 KiB After Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 4.3 KiB After Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 646 B After Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 139 B After Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 673 B After Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 696 B After Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 415 B After Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 197 B After Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 18 KiB |
@@ -1,26 +1,28 @@
|
||||
-- special thanks for Shaday, who made these translations
|
||||
|
||||
--Dominique120 edits: I made some statements to sound more formal and appropriate as well as correcting a few words that were not translated. I also added a few notes for future translators to keep in mind.
|
||||
|
||||
|
||||
locale = {
|
||||
name = "es",
|
||||
charset = "cp1252",
|
||||
languageName = "Espa<EFBFBD>ol",
|
||||
|
||||
|
||||
translation = {
|
||||
["1a) Offensive Name"] = "1a) Nombre ofensivo",
|
||||
["1b) Invalid Name Format"] = "1b) Formato invalido para nombre",
|
||||
["1c) Unsuitable Name"] = "1c) Nombre no adecuado",
|
||||
["1d) Name Inciting Rule Violation"] = "1d) Nombre que incita una violacion al reglamento",
|
||||
["1d) Name Inciting Rule Violation"] = "1d) Nombre que incita una violaci<EFBFBD>n al reglamento",
|
||||
["2a) Offensive Statement"] = "2a) Comentario ofensivo",
|
||||
["2b) Spamming"] = "2b) Spamming",
|
||||
["2c) Illegal Advertising"] = "2c) Publicidad ilicita",
|
||||
["2d) Off-Topic Public Statement"] = "2d) Publicacion fuera de lugar",
|
||||
["2e) Non-English Public Statement"] = "2e) Publicacion fuera del ingles",
|
||||
["2f) Inciting Rule Violation"] = "2f) Incitar a una violacion al reglamento",
|
||||
["2c) Illegal Advertising"] = "2c) Publicidad il<EFBFBD>cita",
|
||||
["2d) Off-Topic Public Statement"] = "2d) Publicaci<EFBFBD>n fuera de lugar",
|
||||
["2e) Non-English Public Statement"] = "2e) Publicaci<EFBFBD>n fuera del ingles",
|
||||
["2f) Inciting Rule Violation"] = "2f) Incitar a una violaci<EFBFBD>n al reglamento",
|
||||
["3a) Bug Abuse"] = "3a) Abuso de error",
|
||||
["3b) Game Weakness Abuse"] = "3b) Abuso de debilidad del juego",
|
||||
["3c) Using Unofficial Software to Play"] = "3c) Usando software ilegal para jugar",
|
||||
["3d) Hacking"] = "3d) Hackeo",
|
||||
["3e) Multi-Clienting"] = "3e) Multiple Cliente",
|
||||
["3e) Multi-Clienting"] = "3e) Uso de m<>ltiples clientes",
|
||||
["3f) Account Trading or Sharing"] = "3f) Intercambio de cuenta",
|
||||
["4a) Threatening Gamemaster"] = "4a) Amenzar a un Gamemaster",
|
||||
["4b) Pretending to Have Influence on Rule Enforcement"] = "4b) Pretender tener influencia en una parte del reglamento",
|
||||
@@ -28,54 +30,54 @@ locale = {
|
||||
["Accept"] = "Aceptar",
|
||||
["Account name"] = "Nombre de cuenta",
|
||||
["Account Status:"] = "Estado de cuenta:",
|
||||
["Action:"] = "Accion:",
|
||||
["Action:"] = "Acci<EFBFBD>n:",
|
||||
["Add"] = "A<EFBFBD>adir",
|
||||
["Add new VIP"] = "A<EFBFBD>adir nuevo VIP",
|
||||
["Addon 1"] = "Addon 1",
|
||||
["Addon 2"] = "Addon 1",
|
||||
["Addon 3"] = "Addon 1",
|
||||
["Addon 2"] = "Addon 2",
|
||||
["Addon 3"] = "Addon 3",
|
||||
["Add to VIP list"] = "A<EFBFBD>adir a lista VIP",
|
||||
["Adjust volume"] = "Ajustar volumen",
|
||||
["Alas! Brave adventurer, you have met a sad fate.\nBut do not despair, for the gods will bring you back\ninto this world in exchange for a small sacrifice\n\nSimply click on Ok to resume your journeys!"] = "<EFBFBD>Ay! Aventurero valiente, que ha conocido a un triste destino. \nPero no se desespere, porque los dioses le llevar<61> de vuelta \na este mundo a cambio de un peque<75>o sacrificio \n\nSimply haga clic en Aceptar para continuar con sus viajes!",
|
||||
["Alas! Brave adventurer, you have met a sad fate.\nBut do not despair, for the gods will bring you back\ninto this world in exchange for a small sacrifice\n\nSimply click on Ok to resume your journeys!"] = "<EFBFBD>Ay! Aventurero valiente, has conocido un triste destino. \nPero no se desespere, porque los dioses te llevar<61>n de vuelta \na este mundo a cambio de un peque<75>o sacrificio \n\nSimplemente haga clic en Aceptar para continuar con sus viajes!",
|
||||
["All"] = "Todo",
|
||||
["All modules and scripts were reloaded."] = "Todos los m<>dulos y scripts se vuelven a cargar.",
|
||||
["Allow auto chase override"] = "Permitur auto persecuci<63>n override",
|
||||
["Also known as dash in tibia community, recommended\nfor playing characters with high speed"] = "Conocido por la comunidad de tibia como dash.\nRecomenada para players de alto nivel.",
|
||||
["Also known as dash in tibia community, recommended\nfor playing characters with high speed"] = "Conocido por la comunidad de tibia como dash.\nRecomenada para jugadores de alto nivel.",
|
||||
["Ambient light: %s%%"] = "Ambiente de luz: %s%%",
|
||||
["Amount:"] = "Cantidad:",
|
||||
["Amount"] = "Cantidad",
|
||||
["Anonymous"] = "An<EFBFBD>nimo",
|
||||
["Are you sure you want to logout?"] = "<EFBFBD>Estas seguro de que quieres salir?",
|
||||
["Are you sure you want to logout?"] = "<EFBFBD>Estas seguro de que deseas salir?",
|
||||
["Attack"] = "Atacar",
|
||||
["Author"] = "Autor",
|
||||
["Autoload"] = "Auto carga",
|
||||
["Autoload priority"] = "Auto carga prioritaria",
|
||||
["Auto login"] = "Auto iniciar",
|
||||
["Auto login selected character on next charlist load"] = "Auto cargar car<61>cter seleccionado en la carga charlist siguiente",
|
||||
["Axe Fighting"] = "Combate con acha",
|
||||
["Auto login"] = "Auto ingresar",
|
||||
["Auto login selected character on next charlist load"] = "Ingresar la siguiente vez que aparece el charlist con el personaje seleccionado",
|
||||
["Axe Fighting"] = "Combate con hacha",
|
||||
["Balance:"] = "Saldo:",
|
||||
["Banishment"] = "Banishment",
|
||||
["Banishment + Final Warning"] = "Banishment + Final Warning",
|
||||
["Battle"] = "Batalla",
|
||||
["Browse"] = "Navegar",
|
||||
["Bug report sent."] = "Reporte de error enviado.",
|
||||
["Button Assign"] = "Boton asignado",
|
||||
["Button Assign"] = "Bot<EFBFBD>n asignado",
|
||||
["Buy"] = "Compra",
|
||||
["Buy Now"] = "Compra ahora",
|
||||
["Buy Offers"] = "Comprar oferta",
|
||||
["Buy with backpack"] = "Comprar con backpack",
|
||||
["Buy with backpack"] = "Comprar con mochila",
|
||||
["Cancel"] = "Cancelar",
|
||||
["Cannot login while already in game."] = "No se puede iniciar sesi<73>n, mientras que estes en el juego.",
|
||||
["Cannot login while already in game."] = "No se puede iniciar sesi<73>n, mientras que est<EFBFBD>s en el juego.",
|
||||
["Cap"] = "Cap",
|
||||
["Capacity"] = "Capacidad",
|
||||
["Center"] = "Centrar",
|
||||
["Channels"] = "Canales",
|
||||
["Character List"] = "Lista de car<61>cter",
|
||||
["Classic control"] = "Control Clasico",
|
||||
["Classic control"] = "Controles Cl<EFBFBD>sicos",
|
||||
["Clear current message window"] = "Limpiar mensaje actual en ventana",
|
||||
["Clear Messages"] = "Limpiar mensaje",
|
||||
["Clear object"] = "Limpiar objeto",
|
||||
["Client needs update."] = "El cliente necesita actualizacion.",
|
||||
["Client needs update."] = "El cliente necesita una actualizaci<EFBFBD>n.",
|
||||
["Close"] = "Cerrar",
|
||||
["Close this channel"] = "Cerrar este canal",
|
||||
["Club Fighting"] = "Combate con mazo",
|
||||
@@ -99,28 +101,28 @@ locale = {
|
||||
["Delete mark"] = "Borrar Marca",
|
||||
["Description:"] = "Descripci<EFBFBD>n:",
|
||||
["Description"] = "Descripci<EFBFBD>n",
|
||||
["Destructive Behaviour"] = "Comportamiento agresivo",
|
||||
["Destructive Behaviour"] = "Comportamiento destructivo",
|
||||
["Detail"] = "Detalle",
|
||||
["Details"] = "Detalles",
|
||||
["Disable Shared Experience"] = "Desactivar experiencia compartida",
|
||||
["Dismount"] = "Desmontar",
|
||||
["Display connection speed to the server (milliseconds)"] = "Mostrar velocidad de conexion en el servidor (millisegundos)",
|
||||
["Display connection speed to the server (milliseconds)"] = "Mostrar velocidad de conexi<EFBFBD>n en el servidor (millisegundos)",
|
||||
["Distance Fighting"] = "Combate a distancia",
|
||||
["Don\'t stretch/shrink Game Window"] = "No estirar ni reducir el tama<6D>o de ventana",
|
||||
["Edit hotkey text:"] = "Editar texto de hotkey:",
|
||||
["Edit List"] = "Editar lista",
|
||||
["Edit Text"] = "Editar texto",
|
||||
["Enable music"] = "Habilitar musica",
|
||||
["Enable music"] = "Habilitar m<EFBFBD>sica",
|
||||
["Enable Shared Experience"] = "Habilitar experiencia compartida",
|
||||
["Enable smart walking"] = "Habilitar caminado inteligente",
|
||||
["Enable vertical synchronization"] = "Habilitar sincronizaci<63>n vertical",
|
||||
["Enable walk booster"] = "Habilitar caminado turbo",
|
||||
["Enter Game"] = "Entrar al juego",
|
||||
["Enter one name per line."] = "Introducir un nombre por linea.",
|
||||
["Enter with your account again to update your client."] = "",
|
||||
["Enter with your account again to update your client."] = "Ingrese con su cuenta nuevamente para actualizar el cliente.",
|
||||
["Error"] = "Error",
|
||||
["Error"] = "Error",
|
||||
["Excessive Unjustified Player Killing"] = "Asesinato excesivo injustivicado de players",
|
||||
["Excessive Unjustified Player Killing"] = "Asesinato excesivo injustificado de jugadores",
|
||||
["Exclude from private chat"] = "Ejecutar desde un canal privado",
|
||||
["Exit"] = "Salir",
|
||||
["Experience"] = "Experiencia",
|
||||
@@ -132,71 +134,71 @@ locale = {
|
||||
["Follow"] = "Seguir",
|
||||
["Force Exit"] = "Forzar salida",
|
||||
["For Your Information"] = "Para tu informaci<63>n",
|
||||
["Free Account"] = "Account gratis",
|
||||
["Free Account"] = "Cuenta gratis",
|
||||
["Fullscreen"] = "Pantalla completa",
|
||||
["Game"] = "Juego",
|
||||
["Game framerate limit: %s"] = "Imagenes por segundo en juego: %s",
|
||||
["Game framerate limit: %s"] = "Limite de cuadros por segundo en el juego: %s",
|
||||
["Graphics"] = "Gr<EFBFBD>ficos",
|
||||
["Graphics card driver not detected"] = "Controlador de tarjeta gr<67>fica de video no detectado",
|
||||
["Graphics Engine:"] = "Motor Grafico:",
|
||||
["Graphics Engine:"] = "Motor Gr<EFBFBD>fico:",
|
||||
["Head"] = "Cabeza",
|
||||
["Healing"] = "Curacion",
|
||||
["Health Info"] = "HP Info",
|
||||
["Health Information"] = "HP Informaci<63>n",
|
||||
["Hide monsters"] = "Ocultar monsters",
|
||||
["Hide non-skull players"] = "Ocultar no-skull players",
|
||||
["Healing"] = "Curaci<EFBFBD>n",
|
||||
["Health Info"] = "HP Info",--This can be better
|
||||
["Health Information"] = "HP Informaci<63>n",--This can be better
|
||||
["Hide monsters"] = "Ocultar monstruos",
|
||||
["Hide non-skull players"] = "Ocultar jugadores sin skull",
|
||||
["Hide Npcs"] = "Ocultar NPCs",
|
||||
["Hide Offline"] = "Ocultar fuera de linea",
|
||||
["Hide party members"] = "Ocultar miembros de party",
|
||||
["Hide party members"] = "Ocultar miembros del party",
|
||||
["Hide players"] = "Ocultar players",
|
||||
["Hide spells for higher exp. levels"] = "Ocultar spells para niveles mas altos que tu experiencia.",
|
||||
["Hide spells for other vocations"] = "Ocultar spells que sean para otra vocaci<63>n",
|
||||
["Hide spells for higher exp. levels"] = "Ocultar hechizos para niveles mas altos que tu experiencia.",
|
||||
["Hide spells for other vocations"] = "Ocultar hechizos que sean para otra vocaci<63>n",
|
||||
["Hit Points"] = "Puntos de vida",
|
||||
["Hold left mouse button to navigate\nScroll mouse middle button to zoom\nRight mouse button to create map marks"] = "Mantenga pulsado el bot<6F>n derecho del rat<61>n para navegar\nScroll bot<6F>n central del rat<61>n para ampliar\nbot<EFBFBD>n derecho del mouse para crear marcas del mapa",
|
||||
["Hold left mouse button to navigate\nScroll mouse middle button to zoom\nRight mouse button to create map marks"] = "Mantenga presionado el bot<6F>n derecho del rat<61>n para navegar\nDezplaze la rueda central del rat<61>n para ampliar\nbot<EFBFBD>n derecho del mouse para crear marcas del mapa",
|
||||
["Hotkeys"] = "Hotkeys",
|
||||
["If you shut down the program, your character might stay in the game.\nClick on 'Logout' to ensure that you character leaves the game properly.\nClick on 'Exit' if you want to exit the program without logging out your character."] = "Si se cierra el programa, tu personaje puede permanecer en el juego.\nHaga clic en 'Salir' para asegurarse de que personaje deja el juego correctamente.\nClick en 'Salir' si desea salir del programa sin tener que salir de tu personaje.",
|
||||
["If you shut down the program, your character might stay in the game.\nClick on 'Logout' to ensure that you character leaves the game properly.\nClick on 'Exit' if you want to exit the program without logging out your character."] = "Si se cierra el programa, tu personaje puede permanecer en el juego.\nHaga clic en 'Salir' para asegurarse de que personaje deja el juego correctamente.\nHaga click en 'Salir' si desea salir del programa sin tener que salir de tu personaje.",
|
||||
["Ignore"] = "Ignorar",
|
||||
["Ignore capacity"] = "Ignorar Capacidad",
|
||||
["Ignored players:"] = "Players ignorados:",
|
||||
["Ignore equipped"] = "Ignorar lo equipodo",
|
||||
["Ignored players:"] = "Jugadores ignorados:",
|
||||
["Ignore equipped"] = "Ignorar lo equipado",
|
||||
["Ignore List"] = "Ignorar lista",
|
||||
["Ignore players"] = "Ignorar players",
|
||||
["Ignore players"] = "Ignorar jugadores",
|
||||
["Ignore Private Messages"] = "Ignorar mensajes privados",
|
||||
["Ignore Yelling"] = "Ignorar gritos",
|
||||
["Interface framerate limit: %s"] = "Interface de imagenes por segundo: %s",
|
||||
["Interface framerate limit: %s"] = "Interface de cuadros por segundo: %s",
|
||||
["Inventory"] = "Inventario",
|
||||
["Invite to Party"] = "Ivitar a party",
|
||||
["Invite to Party"] = "Ivitar al party",
|
||||
["Invite to private chat"] = "Invitar a canal privado",
|
||||
["IP Address Banishment"] = "Banishment - Direccion IP",
|
||||
["IP Address Banishment"] = "Banishment - Direcci<EFBFBD>n IP",
|
||||
["Item Offers"] = "Ofertas de objetos",
|
||||
["It is empty."] = "Est<EFBFBD> vasio.",
|
||||
["Join %s\'s Party"] = "Unir %s\'s party",
|
||||
["Leave Party"] = "Dejar party",
|
||||
["It is empty."] = "Est<EFBFBD> vaci<EFBFBD>.",
|
||||
["Join %s\'s Party"] = "Unirse al party de %s ",
|
||||
["Leave Party"] = "Dejar el party",
|
||||
["Level"] = "Nivel",
|
||||
["Lifetime Premium Account"] = "Tiempo de Premium Account",
|
||||
["Lifetime Premium Account"] = "Tiempo de Premium Account infinito",
|
||||
["Limits FPS to 60"] = "Limites FPS a 60",
|
||||
["List of items that you're able to buy"] = "Lista de objetos que puedes de comprar",
|
||||
["List of items that you're able to sell"] = "Lista de objetos que puedes de vender",
|
||||
["Load"] = "Cargar",
|
||||
["Logging out..."] = "Cerrando sesion...",
|
||||
["Logging out..."] = "Cerrando sesi<EFBFBD>n...",
|
||||
["Login"] = "Ingresar",
|
||||
["Login Error"] = "Error de ingreso",
|
||||
["Login Error"] = "Error de ingreso",
|
||||
["Logout"] = "Salir",
|
||||
["Look"] = "Mirar",
|
||||
["Magic Level"] = "Nivel m<>gico",
|
||||
["Make sure that your client uses\nthe correct game protocol version"] = "Aseg<EFBFBD>rese de que el cliente utiliza\nes el correcto de versi<EFBFBD>n del protocolo",
|
||||
["Make sure that your client uses\nthe correct game protocol version"] = "Aseg<EFBFBD>rese de que el cliente este utilizando\nes el versi<73>n del protocolo adecuado",
|
||||
["Mana"] = "Mana",
|
||||
["Manage hotkeys:"] = "Administrador de hotkeys:",
|
||||
["Market"] = "Mercado",
|
||||
["Market Offers"] = "Ofertas en mercado",
|
||||
["Message of the day"] = "Mensaje del dia",
|
||||
["Message of the day"] = "Mensaje del d<EFBFBD>a",
|
||||
["Message to "] = "Mensaje a",
|
||||
["Message to %s"] = "Mensaje a %s",
|
||||
["Minimap"] = "Minimapa",
|
||||
["Module Manager"] = "Administrador de modulos",
|
||||
["Module name"] = "Nombre de modulo",
|
||||
["Mount"] = "Montura",
|
||||
["Module Manager"] = "Administrador de m<EFBFBD>dulos",
|
||||
["Module name"] = "Nombre del modulo",
|
||||
["Mount"] = "Montar", --Unique name?
|
||||
["Move Stackable Item"] = "Mover objeto apilable",
|
||||
["Move up"] = "Mover arriba",
|
||||
["My Offers"] = "Mis ofertas",
|
||||
@@ -205,7 +207,7 @@ locale = {
|
||||
["Name Report + Banishment"] = "Name Report + Banishment",
|
||||
["Name Report + Banishment + Final Warning"] = "Name Report + Banishment + Final Warning",
|
||||
["No"] = "No",
|
||||
["No graphics card detected, everything will be drawn using the CPU,\nthus the performance will be really bad.\nPlease update your graphics driver to have a better performance."] = "No graphics card detected, everything will be drawn using the CPU,\npor lo tanto el rendimiento va a ser muy malo.\nPor favor, actualice su controlador de gr<67>ficos para tener un mejor rendimiento.",
|
||||
["No graphics card detected, everything will be drawn using the CPU,\nthus the performance will be really bad.\nPlease update your graphics driver to have a better performance."] = "No se ha detectado una tarjeta gr<67>fica y todo sera procesado por tu procesador,\npor lo tanto el rendimiento va a ser muy malo.\nPor favor, actualice su controlador de gr<67>ficos para tener un rendimiento optimo.",
|
||||
["No item selected."] = "No hay elemento seleccionado.",
|
||||
["No Mount"] = "No montura",
|
||||
["No Outfit"] = "No outfit",
|
||||
@@ -220,30 +222,30 @@ locale = {
|
||||
["on %s.\n"] = "en %s.\n",
|
||||
["Open"] = "Abierto",
|
||||
["Open a private message channel:"] = "Abrir mensaje en canal privado:",
|
||||
["Open charlist automatically when starting client"] = "Abrir lista de players automaticamente al iniciar el cliente",
|
||||
["Open charlist automatically when starting client"] = "Abrir lista de jugadores autom<EFBFBD>ticamente al iniciar el cliente",
|
||||
["Open in new window"] = "Abrir en nueva ventana",
|
||||
["Open new channel"] = "Abrir nuevo canal",
|
||||
["Options"] = "Opciones",
|
||||
["Overview"] = "Descripcion",
|
||||
["Overview"] = "Descripci<EFBFBD>n",
|
||||
["Pass Leadership to %s"] = "Pasar liderazgo a %s",
|
||||
["Password"] = "Contrase<EFBFBD>a",
|
||||
["Piece Price:"] = "Precio por pieza:",
|
||||
["Please enter a character name:"] = "Por favor ingresar nombre del player:",
|
||||
["Please enter a character name:"] = "Por favor ingresar nombre del jugador:",
|
||||
["Please, press the key you wish to add onto your hotkeys manager"] = "Por favor, presiona la tecla que desees para que sea registrada en\nel administrador de hotkeys",
|
||||
["Please Select"] = "Por favor selecciona",
|
||||
["Please use this dialog to only report bugs. Do not report rule violations here!"] = "Por favor usa estos dialogos solo para reportar errores.\n<EFBFBD>No reportar violaciones al reglamento aqu<71>!",
|
||||
["Please wait"] = "Por favor espera",
|
||||
["Please Select"] = "Por favor seleccione",
|
||||
["Please use this dialog to only report bugs. Do not report rule violations here!"] = "Por favor usa este di<EFBFBD>logo solo para reportar errores.\n<EFBFBD>No reportar violaciones del reglamento aqu<71>!",
|
||||
["Please wait"] = "Por favor espere",
|
||||
["Port"] = "Puerto",
|
||||
["Position:"] = "Posici<EFBFBD>n:",
|
||||
["Position: %i %i %i"] = "Posici<EFBFBD>n: %i %i %i",
|
||||
["Premium Account (%s) days left"] = "Premium Accoun restan dias (%s)",
|
||||
["Premium Account (%s) days left"] = "Tienes (%s) d<>as de Premium Account restantes",
|
||||
["Price:"] = "Precio:",
|
||||
["Primary"] = "Primario",
|
||||
["Protocol"] = "Protocolo",
|
||||
["Quest Log"] = "Quest Log",
|
||||
["Quest Log"] = "Quest Log", --Unique name
|
||||
["Randomize"] = "Combinar",
|
||||
["Randomize characters outfit"] = "Combinar oufit del jugador",
|
||||
["Reason:"] = "Reason:",
|
||||
["Randomize characters outfit"] = "Combinar vestimenta del jugador",
|
||||
["Reason:"] = "Raz<EFBFBD>n:",
|
||||
["Refresh"] = "Refrescar",
|
||||
["Refresh Offers"] = "Refrescar ofertas",
|
||||
["Regeneration Time"] = "Tiempo de regeneraci<63>n",
|
||||
@@ -254,13 +256,13 @@ locale = {
|
||||
["Remove"] = "Remover",
|
||||
["Remove %s"] = "Remover %s",
|
||||
["Report Bug"] = "Reportar error",
|
||||
["Reserved for more functionality later."] = "eservado para una funcion futura.",
|
||||
["Reserved for more functionality later."] = "Reservado para una funci<EFBFBD>n futura.",
|
||||
["Reset Market"] = "Reiniciar mercado",
|
||||
["Revoke %s\'s Invitation"] = "Anular %s\'s invitaci<63>n",
|
||||
["Rotate"] = "Rotar",
|
||||
["Rule Violation"] = "Violacion de regla",
|
||||
["Save"] = "Salvar",
|
||||
["Save Messages"] = "Salvar mensaje",
|
||||
["Rule Violation"] = "Violaci<EFBFBD>n del reglamento",
|
||||
["Save"] = "Guardar",
|
||||
["Save Messages"] = "Guardar mensaje",
|
||||
["Search:"] = "Buscar:",
|
||||
["Search all items"] = "Buscar todos los objetos",
|
||||
["Secondary"] = "Secundario",
|
||||
@@ -268,24 +270,24 @@ locale = {
|
||||
["Select Outfit"] = "Seleccionar outfit",
|
||||
["Select your language"] = "Selectionar tu lenguaje",
|
||||
["Sell"] = "Vender",
|
||||
["Sell Now"] = "Vender ya",
|
||||
["Sell Now"] = "Vender ahora",
|
||||
["Sell Offers"] = "Ofertas de venta",
|
||||
["Send"] = "Enviar",
|
||||
["Send automatically"] = "Enviar automaticamente",
|
||||
["Send automatically"] = "Enviar autom<EFBFBD>ticamente",
|
||||
["Send Message"] = "Enviar mensaje",
|
||||
["Server"] = "Server",
|
||||
["Server Log"] = "Server Log",
|
||||
["Set Outfit"] = "Fijar outfit",
|
||||
["Server"] = "Server", --Unique name
|
||||
["Server Log"] = "Server Log", --Unique name
|
||||
["Set Outfit"] = "Escoger vestimenta",
|
||||
["Shielding"] = "Escudo",
|
||||
["Show all items"] = "Mostrar todos los objetos",
|
||||
["Show connection ping"] = "Mostrar ping de conexi<78>n",
|
||||
["Show Depot Only"] = "Mostrar solo el Depot",
|
||||
["Show event messages in console"] = "Mostrar mensajes de evento en consola",
|
||||
["Show frame rate"] = "Mostrar velocidad por cuadro",
|
||||
["Show frame rate"] = "Mostrar informaci<EFBFBD>n de cuadros por secundo",
|
||||
["Show info messages in console"] = "Mostrar mensajes de informaci<63>n en consola",
|
||||
["Show left panel"] = "Mostrar panel izquierdo",
|
||||
["Show levels in console"] = "Mostrar niveles en consola",
|
||||
["Show Offline"] = "Mostrar offLine",
|
||||
["Show Offline"] = "Mostrar Desconectados",
|
||||
["Show private messages in console"] = "Mostrar mensajes privados en consola",
|
||||
["Show private messages on screen"] = "Mostrar mensajes privados en pantalla",
|
||||
["Show Server Messages"] = "Mostrar mensajes del servidor",
|
||||
@@ -295,26 +297,26 @@ locale = {
|
||||
["Show your depot items only"] = "Mostrar solo tus objetos en depot",
|
||||
["Skills"] = "Habilidades",
|
||||
["Soul"] = "Soul",
|
||||
["Soul Points"] = "Puntos de Soul",
|
||||
["Soul Points"] = "Puntos de Soul", --I'm leaving these as is because its a unique name, if you want to change it it can be "Alma" or "Esp<73>ritu"
|
||||
["Special"] = "Especial",
|
||||
["Speed"] = "Velocidad",
|
||||
["Spell Cooldowns"] = "Spells Cooldowns",
|
||||
["Spell List"] = "Lista de spells",
|
||||
["Stamina"] = "Stamina",
|
||||
["Spell Cooldowns"] = "Spells Cooldowns", --Could be "Tiempo de recarga para los hechizos".
|
||||
["Spell List"] = "Lista de hechizos",
|
||||
["Stamina"] = "Resistencia",
|
||||
["Statement:"] = "Comentario:",
|
||||
["Statement Report"] = "Statement Report",
|
||||
["Statistics"] = "Estadisticas",
|
||||
["Statement Report"] = "Statement Report", --Could be "reporte del comentario"
|
||||
["Statistics"] = "Estad<EFBFBD>sticas",
|
||||
["Stop Attack"] = "Detener ataque",
|
||||
["Stop Follow"] = "Detener persecucion",
|
||||
["Stop Follow"] = "Detener persecuci<EFBFBD>n",
|
||||
["Support"] = "Soporte",
|
||||
["%s: (use object)"] = "%s: (usar objeto)",
|
||||
["%s: (use object on target)"] = "%s: (usar objeto en un objetivo)",
|
||||
["%s: (use object on yourself)"] = "%s: (usar objeto en mi mismo)",
|
||||
["%s: (use object with crosshair)"] = "%s: (usar objeto en aire)",
|
||||
["%s: (use object with crosshair)"] = "%s: (usar objeto con punto de mira)",
|
||||
["Sword Fighting"] = "Combate de espada",
|
||||
["Terminal"] = "Terminal",
|
||||
["There is no way."] = "No hay ninguna manera.",
|
||||
["Title"] = "T<EFBFBD>tulo",
|
||||
["Title"] = "Titulo",
|
||||
["Total Price:"] = "Total total:",
|
||||
["Trade"] = "Intercambio",
|
||||
["Trade with ..."] = "Intercambiar con ...",
|
||||
@@ -322,55 +324,55 @@ locale = {
|
||||
["Unable to load dat file, please place a valid dat in '%s'"] = "No se puede cargar el archivo dat, por favor coloque un dat v<>lido en '%s'",
|
||||
["Unable to load spr file, please place a valid spr in '%s'"] = "No se puede cargar el archivo spr, por favor coloque un spr v<>lido en '%s'",
|
||||
["Unable to logout."] = "No se puede cerrar sesi<73>n-",
|
||||
["Unignore"] = "Desactivar ignorado",
|
||||
["Unignore"] = "Dejar de ignorar",
|
||||
["Unload"] = "No cargado",
|
||||
["Update needed"] = "Es necesario actualizar",
|
||||
["Use"] = "Uso",
|
||||
["Use on target"] = "Usar en un objetivo",
|
||||
["Use on yourself"] = "Usar en mi mismo",
|
||||
["Use with ..."] = "Usar en ...",
|
||||
["Version"] = "Version",
|
||||
["Version"] = "Versi<EFBFBD>n",
|
||||
["VIP List"] = "Lista Vip",
|
||||
["Voc."] = "Voc.",
|
||||
["Vocation"] = "Vocaci<EFBFBD>n",
|
||||
["Waiting List"] = "Lista de espera",
|
||||
["Website"] = "Sitio WEB",
|
||||
["Website"] = "Sitio Web",
|
||||
["Weight:"] = "Peso:",
|
||||
["Will detect when to use diagonal step based on the\nkeys you are pressing"] = "Detectar cuando se camina en diagonal usando las flechas",
|
||||
["Will detect when to use diagonal step based on the\nkeys you are pressing"] = "Detectara cuando se camina en diagonal usando las flechas",
|
||||
["With crosshair"] = "Con punto de mira",
|
||||
["Yes"] = "Si",
|
||||
["You are bleeding"] = "Tu estas sangrado",
|
||||
["You are burning"] = "Tu estas quemado",
|
||||
["You are bleeding"] = "Te estas desangrando",
|
||||
["You are burning"] = "Te estas quemando",
|
||||
["You are cursed"] = "Tu estas maldecido",
|
||||
["You are dazzled"] = "Tu estas deslumbrado",
|
||||
["You are dead."] = "Tu estas muerto.",
|
||||
["You are dead"] = "Tu estas muerto",
|
||||
["You are drowning"] = "Tu estas ahotado",
|
||||
["You are drunk"] = "Tu estas borracho",
|
||||
["You are electrified"] = "Tu estas electrificado",
|
||||
["You are freezing"] = "Tu estas congelado",
|
||||
["You are hasted"] = "Tu estas rapido",
|
||||
["You are drowning"] = "Te estas ahogando",
|
||||
["You are drunk"] = "Tu estas ebrio",
|
||||
["You are electrified"] = "Tu estas electrocutado",
|
||||
["You are freezing"] = "Te estas congelando",
|
||||
["You are hasted"] = "Tu estas r<EFBFBD>pido", --I dont know what is the best way to translate this so I'm leaving it as I found it.
|
||||
["You are hungry"] = "Tu estas hambriento",
|
||||
["You are paralysed"] = "Tu estas paralizado",
|
||||
["You are poisoned"] = "Tu estas envenedado",
|
||||
["You are protected by a magic shield"] = "Tu estas protegido por un campo magico",
|
||||
["You are protected by a magic shield"] = "Tu estas protegido por un escudo m<EFBFBD>gico",
|
||||
["You are strengthened"] = "Tu estas reforzado",
|
||||
["You are within a protection zone"] = "Tu estas dentro de una zona segura",
|
||||
["You can enter new text."] = "Tu puedes introducir un texto nuevo.",
|
||||
["You have %s percent"] = "Tu tienes %s porciento",
|
||||
["You have %s percent to go"] = "Tu tienes %s porciento para ir",
|
||||
["You are within a protection zone"] = "Tu estas dentro de una zona de protecci<63>n",
|
||||
["You can enter new text."] = "Tu puedes ingresar un texto nuevo.",
|
||||
["You have %s percent"] = "Tu tienes %s por ciento",
|
||||
["You have %s percent to go"] = "Tu tienes %s por ciento para ir",
|
||||
["You may not logout during a fight"] = "No puedes salir durante una pelea",
|
||||
["You may not logout or enter a protection zone"] = "No puedes salir o entrar en una zona de protecci<63>n",
|
||||
["You must enter a comment."] = "Debes introducir un comentario.",
|
||||
["You must enter a valid server address and port."] = "Debes introducir una direcci<63>n v<>lida de servidor y el puerto.",
|
||||
["You must enter a comment."] = "Debes ingresar un comentario.",
|
||||
["You must enter a valid server address and port."] = "Debes ingresar una direcci<63>n v<>lida de servidor y el puerto.",
|
||||
["You must select a character to login!"] = "<EFBFBD>Debes seleccionar un personaje para ingresar!",
|
||||
["Your Capacity:"] = "Tu capacidad:",
|
||||
["You read the following, written by \n%s\n"] = "Uno lee lo siguiente, escrito por \n%s\n",
|
||||
["You read the following, written on \n%s.\n"] = "Uno lee lo siguiente, escrito en \n%s\n",
|
||||
["You read the following, written by \n%s\n"] = "Lees lo siguiente, escrito por \n%s\n",
|
||||
["You read the following, written on \n%s.\n"] = "Lees lo siguiente, escrito en \n%s\n",
|
||||
["Your Money:"] = "Tu dinero:",
|
||||
["Change language"] = "Cambiar idioma",
|
||||
["Don't stretch or shrink Game Window"] = "No estirar o encoger Ventana de Juego"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
modules.client_locales.installLocale(locale)
|
@@ -1,36 +1,31 @@
|
||||
-- by Don Daniello
|
||||
-- 09 June 2012
|
||||
-- http://DonDaniello.com
|
||||
-- http://otland.net/members/Don+Daniello
|
||||
|
||||
locale = {
|
||||
name = "pl",
|
||||
languageName = "Polski",
|
||||
|
||||
translation = {
|
||||
["1a) Offensive Name"] = false,
|
||||
["1b) Invalid Name Format"] = false,
|
||||
["1c) Unsuitable Name"] = false,
|
||||
["1d) Name Inciting Rule Violation"] = false,
|
||||
["2a) Offensive Statement"] = false,
|
||||
["2b) Spamming"] = false,
|
||||
["2c) Illegal Advertising"] = false,
|
||||
["2d) Off-Topic Public Statement"] = false,
|
||||
["2e) Non-English Public Statement"] = false,
|
||||
["2f) Inciting Rule Violation"] = false,
|
||||
["3a) Bug Abuse"] = false,
|
||||
["3b) Game Weakness Abuse"] = false,
|
||||
["3c) Using Unofficial Software to Play"] = false,
|
||||
["3d) Hacking"] = false,
|
||||
["3e) Multi-Clienting"] = false,
|
||||
["3f) Account Trading or Sharing"] = false,
|
||||
["4a) Threatening Gamemaster"] = false,
|
||||
["4b) Pretending to Have Influence on Rule Enforcement"] = false,
|
||||
["4c) False Report to Gamemaster"] = false,
|
||||
["Accept"] = false,
|
||||
["1a) Offensive Name"] = "1a) Obrazliwe Imie",
|
||||
["1b) Invalid Name Format"] = "1b) Niepoprawny Format Imienia",
|
||||
["1c) Unsuitable Name"] = "1c) Nieodpowiednie Imie",
|
||||
["1d) Name Inciting Rule Violation"] = "1d) Imie Nawolujace Do Lamania Regulaminu",
|
||||
["2a) Offensive Statement"] = "2a) Obrazliwa wypowiedz",
|
||||
["2b) Spamming"] = "2b) Spamowanie",
|
||||
["2c) Illegal Advertising"] = "2c) Nielegalne Reklamy",
|
||||
["2d) Off-Topic Public Statement"] = "2d) Publiczne Wypowiadanie Sie Nie Na Temat",
|
||||
["2e) Non-English Public Statement"] = "2e) Publiczne wypowiadanie Sie W Jezyku Innym Niz Angielski",
|
||||
["2f) Inciting Rule Violation"] = "2f) Nawolywanie Do Lamania Regulaminu ",
|
||||
["3a) Bug Abuse"] = "3a) Wykorzystywanie Bledow",
|
||||
["3b) Game Weakness Abuse"] = "3b) Wykorzystanie Slabosci Gry",
|
||||
["3c) Using Unofficial Software to Play"] = "3c) Gra Przy Uzyciu Nieoficjalnego Oprogramowania",
|
||||
["3d) Hacking"] = "3d) Wlamywanie Sie",
|
||||
["3e) Multi-Clienting"] = "3e) Uzycie Multi-Klienta",
|
||||
["3f) Account Trading or Sharing"] = "3f) Handel Lub Udostepnianie Kont",
|
||||
["4a) Threatening Gamemaster"] = "4a) Grozby Pod Adresem Mistrza Gry",
|
||||
["4b) Pretending to Have Influence on Rule Enforcement"] = "4b) Udawanie Wplywu na Ustanawianie Regul Gry",
|
||||
["4c) False Report to Gamemaster"] = "4c) Wyslanie Falszywego Raportu Mistrzowi Gry",
|
||||
["Accept"] = "Akceptuj",
|
||||
["Account name"] = "Numer konta",
|
||||
["Account Status:"] = false,
|
||||
["Action:"] = false,
|
||||
["Account Status:"] = "Status Konta:",
|
||||
["Action:"] = "Akcja:",
|
||||
["Add"] = "Dodaj",
|
||||
["Add new VIP"] = "Nowy VIP",
|
||||
["Addon 1"] = "Addon 1",
|
||||
@@ -39,15 +34,15 @@ locale = {
|
||||
["Add to VIP list"] = "Dodaj do VIPow",
|
||||
["Adjust volume"] = "Zmien glosnosc",
|
||||
["Alas! Brave adventurer, you have met a sad fate.\nBut do not despair, for the gods will bring you back\ninto this world in exchange for a small sacrifice\n\nSimply click on Ok to resume your journeys!"] = false,
|
||||
["All"] = false,
|
||||
["All"] = "Wszystkie",
|
||||
["All modules and scripts were reloaded."] = "Wszystkie moduly ",
|
||||
["Allow auto chase override"] = false,
|
||||
["Also known as dash in tibia community, recommended\nfor playing characters with high speed"] = false,
|
||||
["Ambient light: %s%%"] = false,
|
||||
["Ambient light: %s%%"] = "Swiatlo tla: %s%%",
|
||||
["Amount:"] = "Ilosc:",
|
||||
["Amount"] = false,
|
||||
["Anonymous"] = false,
|
||||
["Are you sure you want to logout?"] = false,
|
||||
["Amount"] = "Ilosc",
|
||||
["Anonymous"] = "Anonimowy",
|
||||
["Are you sure you want to logout?"] = "Czy jestes pewien, ze sie chcesz wylogowac?",
|
||||
["Attack"] = "Atak",
|
||||
["Author"] = "Autor",
|
||||
["Autoload"] = "Autoladowanie",
|
||||
@@ -59,256 +54,255 @@ locale = {
|
||||
["Banishment"] = false,
|
||||
["Banishment + Final Warning"] = false,
|
||||
["Battle"] = "Bitwa",
|
||||
["Browse"] = false,
|
||||
["Bug report sent."] = false,
|
||||
["Browse"] = "Przegladaj",
|
||||
["Bug report sent."] = "Raport o bledzie zostal wyslany.",
|
||||
["Button Assign"] = "Przypisanie Klawisza",
|
||||
["Buy"] = "Kup",
|
||||
["Buy Now"] = false,
|
||||
["Buy Offers"] = false,
|
||||
["Buy Now"] = "Kup Teraz",
|
||||
["Buy Offers"] = "Oferty Kupna",
|
||||
["Buy with backpack"] = "Kupuj z plecakami",
|
||||
["Cancel"] = "Anuluj",
|
||||
["Cannot login while already in game."] = false,
|
||||
["Cap"] = false,
|
||||
["Capacity"] = "Capacidad",
|
||||
["Center"] = false,
|
||||
["Cannot login while already in game."] = "Nie mozna zalogowac gdy juz w grze",
|
||||
["Cap"] = "Ladownosc",
|
||||
["Capacity"] = "Ladownosc",
|
||||
["Center"] = "Wysrodkuj",
|
||||
["Channels"] = "Kanaly",
|
||||
["Character List"] = "Lista postaci",
|
||||
["Classic control"] = "Klasyczne sterowaie",
|
||||
["Clear current message window"] = false,
|
||||
["Clear Messages"] = false,
|
||||
["Clear current message window"] = "Wyczysc bierzace okno",
|
||||
["Clear Messages"] = "Wyczysc wiadomosci",
|
||||
["Clear object"] = "Wyczysc obiekt",
|
||||
["Client needs update."] = false,
|
||||
["Client needs update."] = "Klient wymaga aktalizacji",
|
||||
["Close"] = "Zamknij",
|
||||
["Close this channel"] = "Zamknij kanal",
|
||||
["Club Fighting"] = "Walka obuchem",
|
||||
["Combat Controls"] = "Kontrola walki",
|
||||
["Comment:"] = false,
|
||||
["Comment:"] = "Komentarz:",
|
||||
["Connecting to game server..."] = "Laczenie z serwerem gry...",
|
||||
["Connecting to login server..."] = "Laczenie z serwerem logowania...",
|
||||
["Console"] = false,
|
||||
["Cooldowns"] = false,
|
||||
["Copy message"] = false,
|
||||
["Copy name"] = false,
|
||||
["Copy Name"] = "Kopiuj Nick",
|
||||
["Create Map Mark"] = false,
|
||||
["Create mark"] = false,
|
||||
["Create New Offer"] = false,
|
||||
["Create Offer"] = false,
|
||||
["Console"] = "Konsola",
|
||||
["Cooldowns"] = "Czasy odnowienia",
|
||||
["Copy message"] = "Kopiuj wiadomosc",
|
||||
["Copy name"] = "Kopiuj imie",
|
||||
["Copy Name"] = "Kopiuj Imie",
|
||||
["Create Map Mark"] = "Utworz Znacznik na Mapie",
|
||||
["Create mark"] = "Utworz znacznik",
|
||||
["Create New Offer"] = "Utworz Nowa Oferte",
|
||||
["Create Offer"] = "Utworz Oferte",
|
||||
["Current hotkeys:"] = "Aktualny hotkey:",
|
||||
["Current hotkey to add: %s"] = "Aktualny hotkey do dodania: %s",
|
||||
["Current Offers"] = false,
|
||||
["Current Offers"] = "Obecne Oferty",
|
||||
["Default"] = "Domyslny",
|
||||
["Delete mark"] = false,
|
||||
["Description:"] = false,
|
||||
["Delete mark"] = "Usun znacznik",
|
||||
["Description:"] = "Opis:",
|
||||
["Description"] = "Opis",
|
||||
["Destructive Behaviour"] = false,
|
||||
["Destructive Behaviour"] = "Destrukcyjne Zachowanie",
|
||||
["Detail"] = "Szczegoly",
|
||||
["Details"] = false,
|
||||
["Details"] = "Szczegoly",
|
||||
["Disable Shared Experience"] = "Wylacz Dzielenie Doswiadczenia",
|
||||
["Dismount"] = false,
|
||||
["Display connection speed to the server (milliseconds)"] = false,
|
||||
["Dismount"] = "Zejdz z wierzchowca",
|
||||
["Display connection speed to the server (milliseconds)"] = "Wyswietl ping do serwera (ms)",
|
||||
["Distance Fighting"] = "Walka na odleglosc",
|
||||
["Don't stretch/shrink Game Window"] = false,
|
||||
["Don't stretch/shrink Game Window"] = "Nie rozszerzaj/zwezaj Okna Gry",
|
||||
["Edit hotkey text:"] = "Edytuj tresc hotkeya:",
|
||||
["Edit List"] = false,
|
||||
["Edit List"] = "Lista Edycji",
|
||||
["Edit Text"] = "Edytuj tekst",
|
||||
["Enable music"] = false,
|
||||
["Enable music"] = "Odtwarzaj muzyke",
|
||||
["Enable Shared Experience"] = "Wlacz dzielenie doswiadczenia",
|
||||
["Enable smart walking"] = false,
|
||||
["Enable smart walking"] = "Wlacz inteligentne chodzenie",
|
||||
["Enable vertical synchronization"] = "Wlacz synchronizacje pionowa",
|
||||
["Enable walk booster"] = false,
|
||||
["Enter Game"] = "Wejdz do gry",
|
||||
["Enter one name per line."] = false,
|
||||
["Enter with your account again to update your client."] = false,
|
||||
["Enter one name per line."] = "Wprowadz jedno imie na linie",
|
||||
["Enter with your account again to update your client."] = "Zaloguj sie ponownie by zaktualizowac klienta",
|
||||
["Error"] = "Blad",
|
||||
["Error"] = "Blad",
|
||||
["Excessive Unjustified Player Killing"] = false,
|
||||
["Excessive Unjustified Player Killing"] = "Nadmierne Nieusprawiedliwione Zabijanie Graczy",
|
||||
["Exclude from private chat"] = "Wyrzuc w prywatnej konwersacji",
|
||||
["Exit"] = false,
|
||||
["Exit"] = "Wyjdz",
|
||||
["Experience"] = "Doswiadczenie",
|
||||
["Filter list to match your level"] = false,
|
||||
["Filter list to match your vocation"] = false,
|
||||
["Find:"] = false,
|
||||
["Filter list to match your level"] = "Wyswietl tylko odpowiednie dla mojego poziomu",
|
||||
["Filter list to match your vocation"] = "Wyswietl tylko odpowiednie dla mojej klasy",
|
||||
["Find:"] = "Szukaj:",
|
||||
["Fishing"] = "Wedkarstwo",
|
||||
["Fist Fighting"] = "Walka wrecz",
|
||||
["Follow"] = "Podazaj",
|
||||
["Force Exit"] = false,
|
||||
["For Your Information"] = false,
|
||||
["Free Account"] = false,
|
||||
["Force Exit"] = "Wymus Zamkniecie",
|
||||
["For Your Information"] = "Dla twojej informacji",
|
||||
["Free Account"] = "Darmowe Konto",
|
||||
["Fullscreen"] = "Pelen ekran",
|
||||
["Game"] = false,
|
||||
["Game framerate limit: %s"] = false,
|
||||
["Game"] = "Gra",
|
||||
["Game framerate limit: %s"] = "Limit FPS: %s",
|
||||
["Graphics"] = "Grafika",
|
||||
["Graphics card driver not detected"] = false,
|
||||
["Graphics Engine:"] = false,
|
||||
["Graphics card driver not detected"] = "Nie wykryto karty graficznej",
|
||||
["Graphics Engine:"] = "Silnik graficzny:",
|
||||
["Head"] = "Glowa",
|
||||
["Healing"] = false,
|
||||
["Health Info"] = false,
|
||||
["Health Information"] = false,
|
||||
["Healing"] = "Leczenie",
|
||||
["Health Info"] = "Info o zyciu",
|
||||
["Health Information"] = "Informacje o zyciu",
|
||||
["Hide monsters"] = "Ukryj potwory",
|
||||
["Hide non-skull players"] = "Ukryj graczy bez skulla",
|
||||
["Hide Npcs"] = "Ukryj NPCe",
|
||||
["Hide Offline"] = false,
|
||||
["Hide party members"] = "Ukryj czlonkow zabawy",
|
||||
["Hide Offline"] = "Ukryj Niedostepnych",
|
||||
["Hide party members"] = "Ukryj czlonkow druzyny",
|
||||
["Hide players"] = "Ukryj graczy",
|
||||
["Hide spells for higher exp. levels"] = false,
|
||||
["Hide spells for other vocations"] = false,
|
||||
["Hide spells for higher exp. levels"] = "Ukryj zaklecia wyzszych poziomow postaci",
|
||||
["Hide spells for other vocations"] = "Ukryj zaklecia innych klas",
|
||||
["Hit Points"] = "Punkty uderzen",
|
||||
["Hold left mouse button to navigate\nScroll mouse middle button to zoom\nRight mouse button to create map marks"] = false,
|
||||
["Hotkeys"] = "Hotkeye",
|
||||
["If you shut down the program, your character might stay in the game.\nClick on 'Logout' to ensure that you character leaves the game properly.\nClick on 'Exit' if you want to exit the program without logging out your character."] = false,
|
||||
["Ignore"] = false,
|
||||
["Ignore"] = "Ignoruj",
|
||||
["Ignore capacity"] = "Ignoruj pojemnosc",
|
||||
["Ignored players:"] = false,
|
||||
["Ignored players:"] = "Ignorowani gracze:",
|
||||
["Ignore equipped"] = "Ignoruj ekwipunek",
|
||||
["Ignore List"] = false,
|
||||
["Ignore players"] = false,
|
||||
["Ignore Private Messages"] = false,
|
||||
["Ignore Yelling"] = false,
|
||||
["Interface framerate limit: %s"] = false,
|
||||
["Inventory"] = "Inwentarz",
|
||||
["Invite to Party"] = "Zapros do zabawy",
|
||||
["Ignore List"] = "Lista Ignorowanych",
|
||||
["Ignore players"] = "Ignoruj graczy",
|
||||
["Ignore Private Messages"] = "Ignoruj Prywatne Wiadomosci",
|
||||
["Ignore Yelling"] = "Ignoruj Krzyki",
|
||||
["Interface framerate limit: %s"] = "Limit FPS interfejsu: %s",
|
||||
["Inventory"] = "Ekwipunek",
|
||||
["Invite to Party"] = "Zapros do druzyny",
|
||||
["Invite to private chat"] = "Zapros do prywatnej konwersacji",
|
||||
["IP Address Banishment"] = false,
|
||||
["Item Offers"] = false,
|
||||
["It is empty."] = false,
|
||||
["Join %s's Party"] = false,
|
||||
["Leave Party"] = "Opusc zabawe",
|
||||
["IP Address Banishment"] = "Blokada adresu IP",
|
||||
["Item Offers"] = "Oferty Przedmiotow",
|
||||
["It is empty."] = "To jest puste.",
|
||||
["Join %s's Party"] = "Dolacz do druzyny gracza %s",
|
||||
["Leave Party"] = "Opusc druzyne",
|
||||
["Level"] = "Poziom",
|
||||
["Lifetime Premium Account"] = false,
|
||||
["Lifetime Premium Account"] = "Konto Premium na Stale",
|
||||
["Limits FPS to 60"] = "Ogranicz FPS do 60",
|
||||
["List of items that you're able to buy"] = "Lista przedmiotow, ktore mozesz kupic",
|
||||
["List of items that you're able to sell"] = "Lista przedmiotow, ktore mozesz sprzedac",
|
||||
["Load"] = "Wczytaj",
|
||||
["Logging out..."] = false,
|
||||
["Logging out..."] = "Wylogowuje...",
|
||||
["Login"] = "Zaloguj",
|
||||
["Login Error"] = "Blad Logowania",
|
||||
["Login Error"] = "Blad Logowania",
|
||||
["Logout"] = false,
|
||||
["Logout"] = "Wyloguj",
|
||||
["Look"] = "Spojrz",
|
||||
["Magic Level"] = "Poziom Magiczny",
|
||||
["Make sure that your client uses\nthe correct game protocol version"] = "Upewnij sie, ze twoj klient\nuzywa wlasciwego protokolu gry.",
|
||||
["Mana"] = "Mana",
|
||||
["Manage hotkeys:"] = "Skonfiguruj hotkeye:",
|
||||
["Manage hotkeys:"] = "Zarzadzaj hotkeyami:",
|
||||
["Market"] = false,
|
||||
["Market Offers"] = false,
|
||||
["Market Offers"] = "Oferty",
|
||||
["Message of the day"] = "Wiadomosc dnia",
|
||||
["Message to "] = false,
|
||||
["Message to "] = "Wiadomosc do ",
|
||||
["Message to %s"] = "Wiadomosc do %s",
|
||||
["Minimap"] = "Minimapa",
|
||||
["Module Manager"] = "Menedzer modulow",
|
||||
["Module name"] = "Nazwa modulu",
|
||||
["Mount"] = false,
|
||||
["Mount"] = "Wierzchowiec",
|
||||
["Move Stackable Item"] = "Przenies przedmiot",
|
||||
["Move up"] = "Przenies wyzej",
|
||||
["My Offers"] = false,
|
||||
["My Offers"] = "Moje Oferty",
|
||||
["Name:"] = "Nazwa:",
|
||||
["Name Report"] = false,
|
||||
["Name Report + Banishment"] = false,
|
||||
["Name Report + Banishment + Final Warning"] = false,
|
||||
["No"] = false,
|
||||
["No"] = "Nie",
|
||||
["No graphics card detected, everything will be drawn using the CPU,\nthus the performance will be really bad.\nPlease update your graphics driver to have a better performance."] = false,
|
||||
["No item selected."] = false,
|
||||
["No Mount"] = false,
|
||||
["No Outfit"] = false,
|
||||
["No item selected."] = "Nie wybrano przedmiotu.",
|
||||
["No Mount"] = "Brak wierzchowca",
|
||||
["No Outfit"] = "Brak stroju",
|
||||
["No statement has been selected."] = false,
|
||||
["Notation"] = false,
|
||||
["NPC Trade"] = "Handel NPC",
|
||||
["Offer History"] = false,
|
||||
["Offers"] = false,
|
||||
["Offer Type:"] = false,
|
||||
["Offline Training"] = false,
|
||||
["Offer History"] = "Historia Ofert",
|
||||
["Offers"] = "Oferty",
|
||||
["Offer Type:"] = "Typ Oferty:",
|
||||
["Offline Training"] = "Trening Offline",
|
||||
["Ok"] = "Ok",
|
||||
["on %s.\n"] = false,
|
||||
["Open"] = "Otworz",
|
||||
["Open a private message channel:"] = "Otworz prywatny kanal:",
|
||||
["Open charlist automatically when starting client"] = false,
|
||||
["Open charlist automatically when starting client"] = "Automatycznie otworz liste postaci przy starcie gry",
|
||||
["Open in new window"] = "Otworz w nowym oknie",
|
||||
["Open new channel"] = "Otworz nowy kanal",
|
||||
["Options"] = "Opcje",
|
||||
["Overview"] = false,
|
||||
["Pass Leadership to %s"] = "Przekaz przywodztwo %s",
|
||||
["Overview"] = "Podsumowanie",
|
||||
["Pass Leadership to %s"] = "Oddaj przywodztwo %s",
|
||||
["Password"] = "Haslo",
|
||||
["Piece Price:"] = false,
|
||||
["Piece Price:"] = "Cena jednego przedmiotu",
|
||||
["Please enter a character name:"] = "Podaj nazwe postaci:",
|
||||
["Please, press the key you wish to add onto your hotkeys manager"] = "Nacisnij klawisz, ktory chcesz dodac do menedzera skrotow klawiszowych",
|
||||
["Please Select"] = false,
|
||||
["Please use this dialog to only report bugs. Do not report rule violations here!"] = false,
|
||||
["Please Select"] = "Prosze wybrac",
|
||||
["Please use this dialog to only report bugs. Do not report rule violations here!"] = "Zglaszaj tylko bledy gry, nie lamanie zasad",
|
||||
["Please wait"] = "Prosze czekac",
|
||||
["Port"] = "Port",
|
||||
["Position:"] = false,
|
||||
["Position: %i %i %i"] = false,
|
||||
["Premium Account (%s) days left"] = false,
|
||||
["Position:"] = "Pozycja:",
|
||||
["Position: %i %i %i"] = "Pozycja: %i %i %i",
|
||||
["Premium Account (%s) days left"] = "Konto Premium (%s) dni",
|
||||
["Price:"] = "Cena:",
|
||||
["Primary"] = "Podstawowy",
|
||||
["Protocol"] = false,
|
||||
["Quest Log"] = false,
|
||||
["Randomize"] = false,
|
||||
["Randomize characters outfit"] = false,
|
||||
["Reason:"] = false,
|
||||
["Protocol"] = "Protokol",
|
||||
["Quest Log"] = "Dziennik Misji",
|
||||
["Randomize"] = "Losuj",
|
||||
["Randomize characters outfit"] = "Ustaw losowy wyglad",
|
||||
["Reason:"] = "Powod:",
|
||||
["Refresh"] = "Odswiez",
|
||||
["Refresh Offers"] = false,
|
||||
["Regeneration Time"] = false,
|
||||
["Reject"] = false,
|
||||
["Reload All"] = "Przeladuj Wszystko",
|
||||
["Remember account and password when starts client"] = false,
|
||||
["Refresh Offers"] = "Odswiez Oferty",
|
||||
["Regeneration Time"] = "Czas Regeneracji",
|
||||
["Reject"] = "Odrzuc",
|
||||
["Reload All"] = "Zaladuj ponownie wszystko",
|
||||
["Remember account and password when starts client"] = "Zapamietaj identyfikator konta oraz haslo",
|
||||
["Remember password"] = "Zapamietaj haslo",
|
||||
["Remove"] = "Usun",
|
||||
["Remove %s"] = "Usun %s",
|
||||
["Report Bug"] = false,
|
||||
["Reserved for more functionality later."] = false,
|
||||
["Reset Market"] = false,
|
||||
["Revoke %s's Invitation"] = false,
|
||||
["Report Bug"] = "Zglos Blad",
|
||||
["Reserved for more functionality later."] = "Zarezerowane dla przyszlych funkcjonalnosci.",
|
||||
["Reset Market"] = "Zaladuj market ponownie",
|
||||
["Revoke %s's Invitation"] = "Odmow na zaproszenie gracza %s",
|
||||
["Rotate"] = "Obroc",
|
||||
["Rule Violation"] = false,
|
||||
["Save"] = false,
|
||||
["Save Messages"] = false,
|
||||
["Rule Violation"] = "Zlamanie Regul",
|
||||
["Save"] = "Zapisz",
|
||||
["Save Messages"] = "Zapisz Wiadomosci",
|
||||
["Search:"] = "Szukaj:",
|
||||
["Search all items"] = false,
|
||||
["Search all items"] = "Znajdz wszystkie przedmioty",
|
||||
["Secondary"] = "Drugorzedny",
|
||||
["Select object"] = "Wybierz obiekt",
|
||||
["Select Outfit"] = "Wybierz outfit",
|
||||
["Select your language"] = false,
|
||||
["Select your language"] = "Wybierz jezyk",
|
||||
["Sell"] = "Sprzedaj",
|
||||
["Sell Now"] = false,
|
||||
["Sell Offers"] = false,
|
||||
["Send"] = false,
|
||||
["Sell Now"] = "Sprzedaj Teraz",
|
||||
["Sell Offers"] = "Oferty Sprzedazy",
|
||||
["Send"] = "Wyslij",
|
||||
["Send automatically"] = "Wyslij automatycznie",
|
||||
["Send Message"] = false,
|
||||
["Send Message"] = "Wyslij Wiadomosc",
|
||||
["Server"] = "Serwer",
|
||||
["Server Log"] = "Log Serwera",
|
||||
["Set Outfit"] = "Ustaw outfit",
|
||||
["Shielding"] = "Obrona tarcza",
|
||||
["Show all items"] = "Pokaz wszystkie przedmioty",
|
||||
["Show connection ping"] = false,
|
||||
["Show Depot Only"] = false,
|
||||
["Show connection ping"] = "Wyswietl ping",
|
||||
["Show Depot Only"] = "Pokaz tylko przedmioty z depozytu",
|
||||
["Show event messages in console"] = "Pokaz wydarzenia w konsoli",
|
||||
["Show frame rate"] = "Pokaz ilosc FPS",
|
||||
["Show frame rate"] = "Pokaz FPS",
|
||||
["Show info messages in console"] = "Pokaz informacje w konsoli",
|
||||
["Show left panel"] = false,
|
||||
["Show left panel"] = "Pokaz lewy panel",
|
||||
["Show levels in console"] = "Pokaz poziomy w konsoli",
|
||||
["Show Offline"] = false,
|
||||
["Show Offline"] = "Pokaz Niedostepnych",
|
||||
["Show private messages in console"] = "Pokaz prywatne wiadomosci w konsoli",
|
||||
["Show private messages on screen"] = false,
|
||||
["Show Server Messages"] = false,
|
||||
["Show private messages on screen"] = "Pokaz prywatne wiadomosci na ekranie",
|
||||
["Show Server Messages"] = "Pokaz Wiadomosci Serwera",
|
||||
["Show status messages in console"] = "Pokaz status w konsoli",
|
||||
["Show Text"] = false,
|
||||
["Show Text"] = "Pokaz Tekst",
|
||||
["Show timestamps in console"] = "Pokaz znaczniki czasu w konsoli",
|
||||
["Show your depot items only"] = false,
|
||||
["Show your depot items only"] = "Pokaz tylko przedmioty z depozytu",
|
||||
["Skills"] = "Umiejetnosci",
|
||||
["Soul"] = false,
|
||||
["Soul Points"] = "Punkty Duszy",
|
||||
["Special"] = false,
|
||||
["Speed"] = false,
|
||||
["Spell Cooldowns"] = false,
|
||||
["Spell List"] = false,
|
||||
["Soul"] = "Dusze",
|
||||
["Soul Points"] = "Punktey Duszy",
|
||||
["Special"] = "Specialne",
|
||||
["Speed"] = "Predkosc",
|
||||
["Spell Cooldowns"] = "Czas odnowienia czaru",
|
||||
["Spell List"] = "Lista Zaklec",
|
||||
["Stamina"] = "Wytrzymalosc",
|
||||
["Statement:"] = false,
|
||||
["Statement Report"] = false,
|
||||
["Statistics"] = false,
|
||||
["Stop Attack"] = "Zatrzymaj atak",
|
||||
["Stop Follow"] = "Zatrzymaj podazanie",
|
||||
["Support"] = false,
|
||||
["Statement:"] = "Wyrazenie",
|
||||
["Statement Report"] = "Reportuj wyrazenie",
|
||||
["Statistics"] = "Statystki",
|
||||
["Stop Attack"] = "Anuluj atak",
|
||||
["Stop Follow"] = "Przestan podazac",
|
||||
["Support"] = "Wsparcie",
|
||||
["%s: (use object)"] = "%s: (uzyj obiekt)",
|
||||
["%s: (use object on target)"] = "%s: (uzyj obiektu na celu)",
|
||||
["%s: (use object on yourself)"] = "%s: (uzyj obiektu na sobie)",
|
||||
@@ -316,60 +310,105 @@ locale = {
|
||||
["Sword Fighting"] = "Atak mieczem",
|
||||
["Terminal"] = "Terminal",
|
||||
["There is no way."] = "Nie ma drogi.",
|
||||
["Title"] = false,
|
||||
["Total Price:"] = false,
|
||||
["Title"] = "Tytul",
|
||||
["Total Price"] = "Cena calosci",
|
||||
["Trade"] = "Handel",
|
||||
["Trade with ..."] = "Handluj z ...",
|
||||
["Trying to reconnect in %s seconds."] = false,
|
||||
["Unable to load dat file, please place a valid dat in '%s'"] = false,
|
||||
["Unable to load spr file, please place a valid spr in '%s'"] = false,
|
||||
["Trying to reconnect in %s seconds."] = "Ponowna proba laczenia za %s sekund.",
|
||||
["Unable to load dat file, please place a valid dat in '%s'"] = "Nie mozna zaladowac pliku .dat z '%s'",
|
||||
["Unable to load spr file, please place a valid spr in '%s'"] = "Nie mozna zaladowac pliku .spr z '%s'",
|
||||
["Unable to logout."] = "Nie mozna sie wylogowac.",
|
||||
["Unignore"] = false,
|
||||
["Unignore"] = "Anuluj Ignorowanie",
|
||||
["Unload"] = "Wylacz",
|
||||
["Update needed"] = false,
|
||||
["Update needed"] = "Wymagana aktualizacja",
|
||||
["Use"] = "Uzyj",
|
||||
["Use on target"] = "Uzyj na celu",
|
||||
["Use on yourself"] = "Uzyj na sobie",
|
||||
["Use with ..."] = "Uzyj z ...",
|
||||
["Version"] = "Wersja",
|
||||
["VIP List"] = "Lista VIP",
|
||||
["Voc."] = false,
|
||||
["Vocation"] = false,
|
||||
["Waiting List"] = false,
|
||||
["Voc."] = "Profesja",
|
||||
["Vocation"] = "Profesja",
|
||||
["Waiting List"] = "Lista Oczekujacych",
|
||||
["Website"] = "Strona:",
|
||||
["Weight:"] = "Waga:",
|
||||
["Will detect when to use diagonal step based on the\nkeys you are pressing"] = false,
|
||||
["With crosshair"] = "Z celownikiem",
|
||||
["Yes"] = false,
|
||||
["You are bleeding"] = false,
|
||||
["Yes"] = "Tak",
|
||||
["You are bleeding"] = "Krwawisz",
|
||||
["You are burning"] = "Palisz sie",
|
||||
["You are cursed"] = "Jestes przeklety",
|
||||
["You are dazzled"] = "Jestes oslepiony",
|
||||
["You are dead."] = "Zginales marnie.",
|
||||
["You are dead"] = false,
|
||||
["You are dead."] = "Jestes martwy.",
|
||||
["You are dead"] = "Jestes martwy",
|
||||
["You are drowning"] = "Topisz sie",
|
||||
["You are drunk"] = false,
|
||||
["You are drunk"] = "Jestes pijany",
|
||||
["You are electrified"] = "Jestes porazony pradem",
|
||||
["You are freezing"] = "Marzniesz",
|
||||
["You are hasted"] = "Zapieprzasz",
|
||||
["You are hungry"] = false,
|
||||
["You are freezing"] = "Zamarzasz",
|
||||
["You are hasted"] = "Masz zwiekszona predkosc ruchu",
|
||||
["You are hungry"] = "Jestes glodny",
|
||||
["You are paralysed"] = "Jestes sparalizowany",
|
||||
["You are poisoned"] = "Jestes zatruty",
|
||||
["You are protected by a magic shield"] = "Jestes chroniony magiczna tarcza",
|
||||
["You are strengthened"] = "Jestes wzmocniony",
|
||||
["You are within a protection zone"] = "Jestes w strefie ochronnej",
|
||||
["You can enter new text."] = false,
|
||||
["You can enter new text."] = "Mozesz wprowadzic nowy tekst.",
|
||||
["You have %s percent"] = "Masz %s procent",
|
||||
["You have %s percent to go"] = "Brakuje Ci %s procent",
|
||||
["You may not logout during a fight"] = "Nie mozesz sie wylogowac w trakcie walki",
|
||||
["You may not logout or enter a protection zone"] = "Nie mozesz sie wylogowac ani wejsc do strefy ochronnej",
|
||||
["You must enter a comment."] = false,
|
||||
["You must enter a valid server address and port."] = false,
|
||||
["You must enter a comment."] = "Prosze wprowadzic komentarz",
|
||||
["You must enter a valid server address and port."] = "Prosze wprowadzic poprawny adres i port.",
|
||||
["You must select a character to login!"] = "Musisz wybrac postac aby sie zalogowac!",
|
||||
["Your Capacity:"] = false,
|
||||
["Your Capacity:"] = "Twoja Ladownosc:",
|
||||
["You read the following, written by \n%s\n"] = false,
|
||||
["You read the following, written on \n%s.\n"] = false,
|
||||
["Your Money:"] = false,
|
||||
["Your Money:"] = "Twoje pieniadze",
|
||||
["Enable dash walking"] = "Wlacz szybsze chodzenie (dash walking)",
|
||||
["Will boost your walk on high speed characters"] = "Przyspieszy poruszanie sie postaci o wysokiej predkosci",
|
||||
["Display creature names"] = "Wyswietlaj nazwy potworow",
|
||||
["Display creature health bars"] = "Wyswietlaj paski zycia potworow",
|
||||
["Display text messages"] = "Wyswietlaj wiadomosci tekstowe",
|
||||
["Change language"] = "Zmien jezyk",
|
||||
["Enable lights"] = "Wlacz oswietlenie",
|
||||
["Enable audio"] = "Wlacz dzwiek",
|
||||
["Enable music sound"] = "Wlacz muzyke",
|
||||
["Music volume: %d"] = "Glosnosc muzyki: %d",
|
||||
["Audio"] = "Dzwiek",
|
||||
["Server List"] = "Lista serwerow",
|
||||
["Server list"] = "Lista serwerow",
|
||||
["Client Version"] = "Wersja klienta",
|
||||
["Add new server"] = "Dodaj nowy serwer",
|
||||
["Select"] = "Wybierz",
|
||||
["New Server"] = "Nowy serwer",
|
||||
["Host"] = false,
|
||||
["Reset All"] = "Ustaw domyslne",
|
||||
["Disable chat mode, allow to walk using ASDW"] = "Zablokuj tryb rozmow, zezwol na poruszanie sie za pomoca klawiszy ADSW",
|
||||
["Name"] = "Imie",
|
||||
["Price"] = "Cena",
|
||||
["Your Money"] = "Twoje fundusze",
|
||||
["Weight"] = "Waga",
|
||||
["Your Capacity"] = "Twoj udzwig",
|
||||
["Search"] = "Szukaj",
|
||||
["Sell All"] = "Sprzedaj wszystko",
|
||||
["Statement"] = "Stanowisko",
|
||||
["Reason"] = "Powod",
|
||||
["Action"] = "Akcja",
|
||||
["Comment"] = "Komentarz",
|
||||
["Balance"] = "Stan konta",
|
||||
["Offer Type"] = "Typ oferty",
|
||||
["Piece Price"] = "Cena jednego",
|
||||
["Find"] = "Szukaj",
|
||||
["Formula"] = "Formula",
|
||||
["Group"] = "Groupa",
|
||||
["Type"] = "Typ",
|
||||
["Cooldown"] = "Czas odnowienia",
|
||||
["Premium"] = false,
|
||||
["Any"] = "Dowolny",
|
||||
["Sorcerer"] = "Czarodziej",
|
||||
["Druid"] = false,
|
||||
["Paladin"] = "Paladyn",
|
||||
["Knight"] = "Rycerz"
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -1,44 +1,45 @@
|
||||
Button < UIButton
|
||||
font: verdana-11px-antialised
|
||||
color: #f0ad4dff
|
||||
size: 106 22
|
||||
color: #dfdfdfff
|
||||
size: 106 23
|
||||
text-offset: 0 0
|
||||
image-source: /images/ui/button_rounded
|
||||
image-color: white
|
||||
image-clip: 0 0 20 20
|
||||
image-source: /images/ui/button
|
||||
image-color: #dfdfdf
|
||||
image-clip: 0 0 22 23
|
||||
image-border: 3
|
||||
padding: 5 10 5 10
|
||||
|
||||
$hover !disabled:
|
||||
image-clip: 0 20 20 20
|
||||
image-clip: 0 23 22 23
|
||||
|
||||
$pressed:
|
||||
image-clip: 0 40 20 20
|
||||
image-clip: 0 46 22 23
|
||||
text-offset: 1 1
|
||||
|
||||
$disabled:
|
||||
color: #f0ad4d88
|
||||
color: #dfdfdf88
|
||||
opacity: 0.8
|
||||
|
||||
TabButton < UIButton
|
||||
size: 20 20
|
||||
size: 22 23
|
||||
image-source: /images/ui/tabbutton_rounded
|
||||
image-color: white
|
||||
image-clip: 0 0 20 20
|
||||
image-color: #dfdfdf
|
||||
image-clip: 0 0 22 23
|
||||
image-border: 3
|
||||
icon-color: white
|
||||
color: #aaaaaa
|
||||
icon-color: #dfdfdf
|
||||
color: #dfdfdf
|
||||
|
||||
$hover !on:
|
||||
image-clip: 0 20 20 20
|
||||
color: white
|
||||
image-clip: 0 23 22 23
|
||||
color: #dfdfdf
|
||||
|
||||
$disabled:
|
||||
image-color: #ffffff66
|
||||
icon-color: #888888
|
||||
image-color: #dfdfdf66
|
||||
icon-color: #dfdfdf
|
||||
|
||||
$on:
|
||||
image-clip: 0 40 20 20
|
||||
color: #80c7f8
|
||||
image-clip: 0 46 22 23
|
||||
color: #dfdfdf
|
||||
|
||||
NextButton < UIButton
|
||||
size: 12 21
|
||||
@@ -52,7 +53,7 @@ NextButton < UIButton
|
||||
image-clip: 12 21 12 21
|
||||
|
||||
$disabled:
|
||||
image-color: #ffffff55
|
||||
image-color: #dfdfdf55
|
||||
|
||||
PreviousButton < UIButton
|
||||
size: 12 21
|
||||
@@ -66,18 +67,18 @@ PreviousButton < UIButton
|
||||
image-clip: 0 21 12 21
|
||||
|
||||
$disabled:
|
||||
image-color: #ffffff55
|
||||
image-color: #dfdfdf55
|
||||
|
||||
AddButton < UIButton
|
||||
size: 20 20
|
||||
image-source: /images/ui/icon_add
|
||||
image-color: #ffffffff
|
||||
image-color: #dfdfdfff
|
||||
|
||||
$hover !disabled:
|
||||
image-color: #ffffff99
|
||||
image-color: #dfdfdf99
|
||||
|
||||
$pressed:
|
||||
image-color: #ffffff44
|
||||
image-color: #dfdfdf44
|
||||
|
||||
$disabled:
|
||||
image-color: #ffffff55
|
||||
image-color: #dfdfdf55
|
||||
|
@@ -1,36 +1,35 @@
|
||||
CheckBox < UICheckBox
|
||||
size: 16 16
|
||||
text-align: left
|
||||
text: aa
|
||||
text-offset: 16 0
|
||||
color: #aaaaaa
|
||||
image-color: #ffffffff
|
||||
image-rect: 0 0 12 12
|
||||
image-offset: 0 2
|
||||
text-offset: 18 1
|
||||
color: #dfdfdf
|
||||
image-color: #dfdfdfff
|
||||
image-rect: 0 0 15 15
|
||||
image-source: /images/ui/checkbox
|
||||
|
||||
$hover !disabled:
|
||||
color: #cccccc
|
||||
color: #ffffff
|
||||
|
||||
$!checked:
|
||||
image-clip: 0 0 12 12
|
||||
image-clip: 0 0 15 15
|
||||
|
||||
$hover !checked:
|
||||
image-clip: 0 12 12 12
|
||||
image-clip: 0 15 15 15
|
||||
|
||||
$checked:
|
||||
image-clip: 0 24 12 12
|
||||
image-clip: 0 30 15 15
|
||||
|
||||
$hover checked:
|
||||
image-clip: 0 36 12 12
|
||||
image-clip: 0 45 15 15
|
||||
|
||||
$disabled:
|
||||
image-color: #ffffff88
|
||||
color: #aaaaaa88
|
||||
image-color: #dfdfdf88
|
||||
color: #dfdfdf88
|
||||
opacity: 0.8
|
||||
|
||||
ColorBox < UICheckBox
|
||||
size: 16 16
|
||||
image-color: #ffffffff
|
||||
image-color: #dfdfdfff
|
||||
image-source: /images/ui/colorbox
|
||||
|
||||
$checked:
|
||||
@@ -41,26 +40,25 @@ ColorBox < UICheckBox
|
||||
|
||||
ButtonBox < UICheckBox
|
||||
font: verdana-11px-antialised
|
||||
color: #ffffffff
|
||||
size: 106 22
|
||||
color: #dfdfdfff
|
||||
size: 106 23
|
||||
text-offset: 0 0
|
||||
text-align: center
|
||||
image-source: /images/ui/tabbutton_rounded
|
||||
image-color: white
|
||||
image-clip: 0 0 20 20
|
||||
image-source: /images/ui/button
|
||||
image-color: #dfdfdf
|
||||
image-clip: 0 0 22 23
|
||||
image-border: 3
|
||||
|
||||
$hover !disabled:
|
||||
image-clip: 0 20 20 20
|
||||
image-clip: 0 23 22 23
|
||||
|
||||
$checked:
|
||||
image-clip: 0 40 20 20
|
||||
color: #80c7f8
|
||||
image-clip: 0 46 22 23
|
||||
color: #dfdfdf
|
||||
|
||||
$disabled:
|
||||
color: #666666ff
|
||||
image-color: #ffffff88
|
||||
color: #dfdfdf88
|
||||
image-color: #dfdfdf88
|
||||
|
||||
ButtonBoxRounded < ButtonBox
|
||||
image-source: /images/ui/tabbutton_rounded
|
||||
image-border: 2
|
||||
image-source: /images/ui/button_rounded
|
@@ -1,62 +1,106 @@
|
||||
ComboBoxPopupMenuButton < UIButton
|
||||
height: 20
|
||||
ComboBoxPopupScrollMenuButton < UIButton
|
||||
height: 23
|
||||
font: verdana-11px-antialised
|
||||
text-align: left
|
||||
text-offset: 4 0
|
||||
color: #aaaaaa
|
||||
color: #dfdfdf
|
||||
background-color: alpha
|
||||
margin: 1
|
||||
|
||||
$hover !disabled:
|
||||
color: #ffffff
|
||||
background-color: #ffffff44
|
||||
color: #dfdfdf
|
||||
background-color: #355d89
|
||||
|
||||
$disabled:
|
||||
color: #555555
|
||||
color: #dfdfdf88
|
||||
|
||||
ComboBoxPopupScrollMenu < UIPopupScrollMenu
|
||||
image-source: /images/ui/combobox_square
|
||||
image-clip: 0 69 91 23
|
||||
image-border: 1
|
||||
|
||||
ComboBoxPopupMenuButton < UIButton
|
||||
height: 23
|
||||
font: verdana-11px-antialised
|
||||
text-align: left
|
||||
text-offset: 4 0
|
||||
color: #dfdfdf
|
||||
background-color: alpha
|
||||
margin: 1
|
||||
|
||||
$hover !disabled:
|
||||
color: #dfdfdf
|
||||
background-color: #355d89
|
||||
|
||||
$disabled:
|
||||
color: #dfdfdf88
|
||||
|
||||
ComboBoxPopupMenu < UIPopupMenu
|
||||
image-source: /images/ui/combobox_square
|
||||
image-clip: 0 60 89 20
|
||||
image-border-left: 1
|
||||
image-border-right: 1
|
||||
image-clip: 0 69 91 23
|
||||
image-border: 1
|
||||
|
||||
ComboBox < UIComboBox
|
||||
font: verdana-11px-antialised
|
||||
color: #aaaaaa
|
||||
size: 89 20
|
||||
color: #dfdfdf
|
||||
size: 91 23
|
||||
text-offset: 3 0
|
||||
text-align: left
|
||||
image-source: /images/ui/combobox_square
|
||||
image-border: 1
|
||||
image-border-right: 17
|
||||
image-clip: 0 0 89 20
|
||||
image-border: 3
|
||||
image-border-right: 19
|
||||
image-clip: 0 0 91 23
|
||||
|
||||
$hover !disabled:
|
||||
image-clip: 0 20 89 20
|
||||
image-clip: 0 23 91 23
|
||||
|
||||
$on:
|
||||
image-clip: 0 40 89 20
|
||||
image-clip: 0 46 91 23
|
||||
|
||||
ComboBoxRoundedPopupMenuButton < UIButton
|
||||
height: 20
|
||||
$disabled:
|
||||
color: #dfdfdf88
|
||||
opacity: 0.8
|
||||
|
||||
ComboBoxRoundedPopupScrollMenuButton < UIButton
|
||||
height: 23
|
||||
font: verdana-11px-antialised
|
||||
text-align: left
|
||||
text-offset: 4 0
|
||||
color: #aaaaaa
|
||||
color: #dfdfdf
|
||||
background-color: alpha
|
||||
|
||||
$hover !disabled:
|
||||
color: #ffffff
|
||||
background-color: #ffffff44
|
||||
background-color: #355d89
|
||||
|
||||
$disabled:
|
||||
color: #555555
|
||||
color: #dfdfdf88
|
||||
|
||||
ComboBoxRoundedPopupScrollMenu < UIPopupScrollMenu
|
||||
image-source: /images/ui/combobox_rounded
|
||||
image-clip: 0 69 91 23
|
||||
image-border: 3
|
||||
|
||||
ComboBoxRoundedPopupMenuButton < UIButton
|
||||
height: 23
|
||||
font: verdana-11px-antialised
|
||||
text-align: left
|
||||
text-offset: 4 0
|
||||
color: #dfdfdf
|
||||
background-color: alpha
|
||||
|
||||
$hover !disabled:
|
||||
color: #ffffff
|
||||
background-color: #355d89
|
||||
|
||||
$disabled:
|
||||
color: #dfdfdf88
|
||||
|
||||
ComboBoxRoundedPopupMenu < UIPopupMenu
|
||||
image-source: /images/ui/combobox_rounded
|
||||
image-clip: 0 60 89 20
|
||||
image-border-left: 1
|
||||
image-border-right: 1
|
||||
image-clip: 0 69 91 23
|
||||
image-border: 3
|
||||
|
||||
ComboBoxRounded < ComboBox
|
||||
image-source: /images/ui/combobox_rounded
|
||||
image-border: 2
|
||||
image-border: 3
|
||||
|
@@ -1,23 +1,23 @@
|
||||
Label < UILabel
|
||||
font: verdana-11px-antialised
|
||||
color: #bbbbbb
|
||||
color: #dfdfdf
|
||||
|
||||
$disabled:
|
||||
color: #bbbbbb88
|
||||
color: #dfdfdf88
|
||||
|
||||
FlatLabel < UILabel
|
||||
font: verdana-11px-antialised
|
||||
color: #aaaaaa
|
||||
color: #dfdfdf
|
||||
size: 86 20
|
||||
text-offset: 3 3
|
||||
image-source: /images/ui/panel_flat
|
||||
image-border: 1
|
||||
|
||||
$disabled:
|
||||
color: #aaaaaa88
|
||||
color: #dfdfdf88
|
||||
|
||||
MenuLabel < Label
|
||||
|
||||
GameLabel < UILabel
|
||||
font: verdana-11px-antialised
|
||||
color: #bbbbbb
|
||||
color: #dfdfdf
|
||||
|
@@ -1,13 +1,19 @@
|
||||
TextList < UIScrollArea
|
||||
layout: verticalBox
|
||||
border-width: 1
|
||||
border-color: #1d222b
|
||||
background-color: #222833
|
||||
border-color: #272727
|
||||
background-color: #636363
|
||||
padding: 1
|
||||
auto-focus: none
|
||||
|
||||
HorizontalList < UIScrollArea
|
||||
layout: horizontalBox
|
||||
border-width: 1
|
||||
border-color: #1d222b
|
||||
background-color: #222833
|
||||
border-color: #272727
|
||||
background-color: #636363
|
||||
|
||||
VerticalList < UIScrollArea
|
||||
layout: verticalBox
|
||||
border-width: 1
|
||||
border-color: #272727
|
||||
background-color: #636363
|
@@ -10,7 +10,6 @@ ScrollBarSlider < UIButton
|
||||
image-clip: 13 26 13 13
|
||||
$pressed:
|
||||
image-clip: 26 26 13 13
|
||||
image-color: #ffffff99
|
||||
$disabled:
|
||||
image-color: #ffffff66
|
||||
|
||||
|
@@ -1,13 +1,13 @@
|
||||
HorizontalSeparator < UIWidget
|
||||
image-source: /images/ui/separator_horizontal
|
||||
image-border-top: 2
|
||||
image-border: 1
|
||||
height: 2
|
||||
phantom: true
|
||||
focusable: false
|
||||
|
||||
VerticalSeparator < UIWidget
|
||||
image-source: /images/ui/separator_vertical
|
||||
image-border-left: 2
|
||||
image-border: 1
|
||||
width: 2
|
||||
phantom: true
|
||||
focusable: false
|
||||
|
@@ -1,15 +1,17 @@
|
||||
TextEdit < UITextEdit
|
||||
font: verdana-11px-antialised
|
||||
color: #aaaaaa
|
||||
size: 86 20
|
||||
text-offset: 0 3
|
||||
padding: 3
|
||||
color: #272727
|
||||
size: 86 22
|
||||
text-offset: 0 4
|
||||
opacity: 1
|
||||
padding: 4
|
||||
image-source: /images/ui/textedit
|
||||
image-border: 1
|
||||
selection-color: #111416
|
||||
selection-background-color: #999999
|
||||
selection-color: #272727
|
||||
selection-background-color: #cccccc
|
||||
$disabled:
|
||||
color: #aaaaaa88
|
||||
color: #27272788
|
||||
opacity: 0.5
|
||||
|
||||
PasswordTextEdit < TextEdit
|
||||
text-hidden: true
|
||||
|
@@ -2,20 +2,19 @@ Window < UIWindow
|
||||
font: verdana-11px-antialised
|
||||
size: 200 200
|
||||
opacity: 1
|
||||
color: white
|
||||
text-offset: 0 4
|
||||
color: #dfdfdf
|
||||
text-offset: 0 6
|
||||
text-align: top
|
||||
image-source: /images/ui/window
|
||||
image-border: 5
|
||||
image-border-top: 22
|
||||
opacity: 1
|
||||
padding-top: 30
|
||||
image-border: 6
|
||||
image-border-top: 27
|
||||
padding-top: 36
|
||||
padding-left: 16
|
||||
padding-right: 16
|
||||
padding-bottom: 16
|
||||
|
||||
$disabled:
|
||||
color: #aaaaaa88
|
||||
color: #dfdfdf88
|
||||
|
||||
$dragging:
|
||||
opacity: 0.8
|
||||
|
@@ -39,3 +39,45 @@ PopupMenu < UIPopupMenu
|
||||
image-source: /images/ui/menubox
|
||||
image-border: 3
|
||||
padding: 3
|
||||
|
||||
PopupScrollMenuButton < UIButton
|
||||
height: 18
|
||||
size: 0 21
|
||||
text-offset: 4 0
|
||||
text-align: left
|
||||
font: verdana-11px-antialised
|
||||
|
||||
color: #aaaaaa
|
||||
background-color: alpha
|
||||
|
||||
$hover !disabled:
|
||||
color: #ffffff
|
||||
background-color: #ffffff44
|
||||
image-clip: 0 40 20 20
|
||||
|
||||
$disabled:
|
||||
color: #555555
|
||||
|
||||
PopupScrollMenuShortcutLabel < Label
|
||||
font: verdana-11px-antialised
|
||||
text-align: right
|
||||
anchors.fill: parent
|
||||
margin-right: 2
|
||||
margin-left: 5
|
||||
|
||||
PopupScrollMenuSeparator < UIWidget
|
||||
margin-left: 2
|
||||
margin-right: 2
|
||||
margin-bottom: 1
|
||||
image-source: /images/ui/menubox
|
||||
image-border-left: 1
|
||||
image-border-right: 1
|
||||
image-clip: 0 0 32 2
|
||||
height: 2
|
||||
phantom: true
|
||||
|
||||
PopupScrollMenu < UIPopupScrollMenu
|
||||
width: 50
|
||||
image-source: /images/ui/menubox
|
||||
image-border: 3
|
||||
padding: 3
|
||||
|
@@ -1,13 +1,13 @@
|
||||
SpinBox < TextEdit
|
||||
__class: UISpinBox
|
||||
text-align: left
|
||||
size: 86 20
|
||||
size: 86 22
|
||||
padding: 0
|
||||
padding-left: 2
|
||||
|
||||
Button
|
||||
id: up
|
||||
size: 10 10
|
||||
size: 11 11
|
||||
image-source: /images/ui/spinbox_up
|
||||
image-border: 1
|
||||
image-clip: 0 0 10 10
|
||||
@@ -21,7 +21,7 @@ SpinBox < TextEdit
|
||||
|
||||
Button
|
||||
id: down
|
||||
size: 10 10
|
||||
size: 11 11
|
||||
image-source: /images/ui/spinbox_down
|
||||
image-border: 1
|
||||
image-clip: 0 0 10 10
|
||||
|
@@ -1,47 +1,49 @@
|
||||
MoveableTabBar < UIMoveableTabBar
|
||||
size: 80 20
|
||||
size: 80 21
|
||||
MoveableTabBarPanel < Panel
|
||||
MoveableTabBarButton < UIButton
|
||||
size: 20 20
|
||||
size: 20 21
|
||||
image-source: /images/ui/tabbutton_square
|
||||
image-color: white
|
||||
image-clip: 0 0 20 20
|
||||
image-color: #dfdfdf
|
||||
image-clip: 0 0 20 21
|
||||
image-border: 3
|
||||
icon-color: white
|
||||
color: #aaaaaa
|
||||
image-border-bottom: 0
|
||||
icon-color: #dfdfdf
|
||||
color: #dfdfdf
|
||||
anchors.top: parent.top
|
||||
anchors.left: parent.left
|
||||
padding: 5
|
||||
|
||||
$hover !checked:
|
||||
image-clip: 0 20 20 20
|
||||
color: white
|
||||
image-clip: 0 21 20 21
|
||||
color: #dfdfdf
|
||||
|
||||
$disabled:
|
||||
image-color: #ffffff66
|
||||
icon-color: #888888
|
||||
image-color: #dfdfdf88
|
||||
icon-color: #dfdfdf
|
||||
|
||||
$checked:
|
||||
image-clip: 0 40 20 20
|
||||
color: #D8E7F0
|
||||
image-clip: 0 42 20 21
|
||||
color: #dfdfdf
|
||||
|
||||
$on !checked:
|
||||
color: #F55E5E
|
||||
color: #dfdfdf
|
||||
|
||||
TabBar < UITabBar
|
||||
size: 80 20
|
||||
size: 80 21
|
||||
Panel
|
||||
id: buttonsPanel
|
||||
anchors.fill: parent
|
||||
TabBarPanel < Panel
|
||||
TabBarButton < UIButton
|
||||
size: 20 20
|
||||
size: 22 23
|
||||
image-source: /images/ui/tabbutton_square
|
||||
image-color: white
|
||||
image-clip: 0 0 20 20
|
||||
image-color: #dfdfdf
|
||||
image-clip: 0 0 22 23
|
||||
image-border: 3
|
||||
icon-color: white
|
||||
color: #aaaaaa
|
||||
image-border-bottom: 0
|
||||
icon-color: #dfdfdf
|
||||
color: #dfdfdf
|
||||
anchors.top: parent.top
|
||||
padding: 5
|
||||
|
||||
@@ -53,19 +55,19 @@ TabBarButton < UIButton
|
||||
margin-left: 5
|
||||
|
||||
$hover !checked:
|
||||
image-clip: 0 20 20 20
|
||||
color: white
|
||||
image-clip: 0 23 22 23
|
||||
color: #dfdfdf
|
||||
|
||||
$disabled:
|
||||
image-color: #ffffff66
|
||||
icon-color: #888888
|
||||
image-color: #dfdfdf88
|
||||
icon-color: #dfdfdf
|
||||
|
||||
$checked:
|
||||
image-clip: 0 40 20 20
|
||||
color: #80c7f8
|
||||
image-clip: 0 46 22 23
|
||||
color: #dfdfdf
|
||||
|
||||
$on !checked:
|
||||
color: #F55E5E
|
||||
color: #dfdfdf
|
||||
|
||||
TabBarRounded < TabBar
|
||||
TabBarRoundedPanel < TabBarPanel
|
||||
@@ -107,7 +109,7 @@ TabBarVerticalButton < UIButton
|
||||
margin-top: 10
|
||||
$hover !checked:
|
||||
color: white
|
||||
icon-color: #cccccc
|
||||
icon-color: #dfdfdf
|
||||
$disabled:
|
||||
icon-color: #333333
|
||||
$checked:
|
||||
|
6
init.lua
@@ -27,8 +27,8 @@ g_resources.setupUserWriteDir(g_app.getCompactName())
|
||||
-- search all packages
|
||||
g_resources.searchAndAddPackages('/', '.otpkg', true)
|
||||
|
||||
-- load configurations
|
||||
g_configs.load("/config.otml")
|
||||
-- load settings
|
||||
g_configs.loadSettings("/config.otml")
|
||||
|
||||
g_modules.discoverModules()
|
||||
|
||||
@@ -48,7 +48,7 @@ g_modules.ensureModuleLoaded("game_interface")
|
||||
-- mods 1000-9999
|
||||
g_modules.autoLoadModules(9999)
|
||||
|
||||
local script = '/' .. g_app.getCompactName() .. 'rc'
|
||||
local script = '/' .. g_app.getCompactName() .. 'rc.lua'
|
||||
|
||||
if g_resources.fileExists(script) then
|
||||
dofile(script)
|
||||
|
10
modules/.project/modules.sublime-project
Normal file
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"folders":
|
||||
[
|
||||
{
|
||||
"path": "..",
|
||||
"folder_exclude_patterns": [".*", "*.*~"],
|
||||
"file_exclude_patterns": [".*", "*.*~"]
|
||||
}
|
||||
]
|
||||
}
|
@@ -14,7 +14,7 @@ function reloadScripts()
|
||||
g_textures.clearCache()
|
||||
g_modules.reloadModules()
|
||||
|
||||
local script = '/' .. g_app.getCompactName() .. 'rc'
|
||||
local script = '/' .. g_app.getCompactName() .. 'rc.lua'
|
||||
if g_resources.fileExists(script) then
|
||||
dofile(script)
|
||||
end
|
||||
@@ -53,7 +53,7 @@ function startup()
|
||||
end
|
||||
|
||||
function init()
|
||||
connect(g_app, { onRun = startup,
|
||||
connect(g_app, { onRun = startup,
|
||||
onExit = exit })
|
||||
|
||||
g_window.setMinimumSize({ width = 600, height = 480 })
|
||||
@@ -91,24 +91,19 @@ function init()
|
||||
g_keyboard.bindKeyDown('Ctrl+Shift+R', reloadScripts)
|
||||
|
||||
-- generate machine uuid, this is a security measure for storing passwords
|
||||
if not g_crypt.setMachineUUID(g_configs.get('uuid')) then
|
||||
g_configs.set('uuid', g_crypt.getMachineUUID())
|
||||
g_configs.save()
|
||||
end
|
||||
if not g_crypt.setMachineUUID(g_settings.get('uuid')) then
|
||||
g_settings.set('uuid', g_crypt.getMachineUUID())
|
||||
g_settings.save()
|
||||
end
|
||||
end
|
||||
|
||||
function terminate()
|
||||
disconnect(g_app, { onRun = startup,
|
||||
disconnect(g_app, { onRun = startup,
|
||||
onExit = exit })
|
||||
-- save window configs
|
||||
g_settings.set('window-size', g_window.getUnmaximizedSize())
|
||||
g_settings.set('window-pos', g_window.getUnmaximizedPos())
|
||||
g_settings.set('window-maximized', g_window.isMaximized())
|
||||
|
||||
local protocolVersion = g_game.getProtocolVersion()
|
||||
if protocolVersion ~= 0 then
|
||||
g_settings.set('protocol-version', protocolVersion)
|
||||
end
|
||||
end
|
||||
|
||||
function exit()
|
||||
|
@@ -19,4 +19,4 @@ Module
|
||||
- client_terminal
|
||||
- client_modulemanager
|
||||
- client_serverlist
|
||||
//- client_stats
|
||||
- client_stats
|
||||
|
@@ -243,7 +243,7 @@ function CharacterList.create(characters, account, otui)
|
||||
else
|
||||
accountStatusLabel:setText(tr('Free Account'))
|
||||
end
|
||||
|
||||
|
||||
if account.premDays > 0 and account.premDays <= 7 then
|
||||
accountStatusLabel:setOn(true)
|
||||
else
|
||||
|
@@ -81,7 +81,7 @@ MainWindow
|
||||
anchors.right: parent.right
|
||||
anchors.bottom: next.top
|
||||
margin-bottom: 1
|
||||
|
||||
|
||||
Label
|
||||
id: accountStatusLabel
|
||||
!text: tr('Free Account')
|
||||
|
@@ -6,7 +6,7 @@ local enterGame
|
||||
local motdWindow
|
||||
local motdButton
|
||||
local enterGameButton
|
||||
local protocolBox
|
||||
local clientBox
|
||||
local protocolLogin
|
||||
local motdEnabled = true
|
||||
|
||||
@@ -35,7 +35,7 @@ end
|
||||
|
||||
local function onCharacterList(protocol, characters, account, otui)
|
||||
-- Try add server to the server list
|
||||
ServerList.add(G.host, G.port, g_game.getProtocolVersion())
|
||||
ServerList.add(G.host, G.port, g_game.getClientVersion())
|
||||
|
||||
if enterGame:getChildById('rememberPasswordBox'):isChecked() then
|
||||
local account = g_crypt.encrypt(G.account)
|
||||
@@ -73,11 +73,6 @@ local function onCharacterList(protocol, characters, account, otui)
|
||||
end
|
||||
end
|
||||
|
||||
local function onChangeProtocol(combobox, option)
|
||||
local clients = g_game.getSupportedClients(option)
|
||||
protocolBox:setTooltip("Supports Client" .. (#clients > 1 and "s" or "") .. ": " .. table.tostring(clients))
|
||||
end
|
||||
|
||||
local function onUpdateNeeded(protocol, signature)
|
||||
loadBox:destroy()
|
||||
loadBox = nil
|
||||
@@ -87,7 +82,7 @@ local function onUpdateNeeded(protocol, signature)
|
||||
local cancelFunc = EnterGame.show
|
||||
EnterGame.updateFunc(signature, continueFunc, cancelFunc)
|
||||
else
|
||||
local errorBox = displayErrorBox(tr('Update needed'), tr('Your client needs update, try redownloading it.'))
|
||||
local errorBox = displayErrorBox(tr('Update needed'), tr('Your client needs updating, try redownloading it.'))
|
||||
connect(errorBox, { onOk = EnterGame.show })
|
||||
end
|
||||
end
|
||||
@@ -109,7 +104,8 @@ function EnterGame.init()
|
||||
local host = g_settings.get('host')
|
||||
local port = g_settings.get('port')
|
||||
local autologin = g_settings.getBoolean('autologin')
|
||||
local protocolVersion = g_settings.getInteger('protocol-version')
|
||||
local clientVersion = g_settings.getInteger('client-version')
|
||||
if clientVersion == 0 then clientVersion = 860 end
|
||||
|
||||
if port == nil or port == 0 then port = 7171 end
|
||||
|
||||
@@ -120,11 +116,11 @@ function EnterGame.init()
|
||||
enterGame:getChildById('serverPortTextEdit'):setText(port)
|
||||
enterGame:getChildById('autoLoginBox'):setChecked(autologin)
|
||||
|
||||
protocolBox = enterGame:getChildById('protocolComboBox')
|
||||
protocolBox.onOptionChange = onChangeProtocol
|
||||
if protocolVersion then
|
||||
protocolBox:setCurrentOption(protocolVersion)
|
||||
clientBox = enterGame:getChildById('clientComboBox')
|
||||
for _, proto in pairs(g_game.getSupportedClients()) do
|
||||
clientBox:addOption(proto)
|
||||
end
|
||||
clientBox:setCurrentOption(clientVersion)
|
||||
|
||||
enterGame:hide()
|
||||
|
||||
@@ -154,7 +150,7 @@ function EnterGame.terminate()
|
||||
enterGame = nil
|
||||
enterGameButton:destroy()
|
||||
enterGameButton = nil
|
||||
protocolBox = nil
|
||||
clientBox = nil
|
||||
if motdWindow then
|
||||
motdWindow:destroy()
|
||||
motdWindow = nil
|
||||
@@ -218,8 +214,7 @@ function EnterGame.doLogin()
|
||||
G.password = enterGame:getChildById('accountPasswordTextEdit'):getText()
|
||||
G.host = enterGame:getChildById('serverHostTextEdit'):getText()
|
||||
G.port = tonumber(enterGame:getChildById('serverPortTextEdit'):getText())
|
||||
local protocolVersion = tonumber(protocolBox:getText())
|
||||
local clientVersions = g_game.getSupportedClients(protocolVersion)
|
||||
local clientVersion = tonumber(clientBox:getText())
|
||||
EnterGame.hide()
|
||||
|
||||
if g_game.isOnline() then
|
||||
@@ -230,6 +225,7 @@ function EnterGame.doLogin()
|
||||
|
||||
g_settings.set('host', G.host)
|
||||
g_settings.set('port', G.port)
|
||||
g_settings.set('client-version', clientVersion)
|
||||
|
||||
protocolLogin = ProtocolLogin.create()
|
||||
protocolLogin.onLoginError = onError
|
||||
@@ -245,10 +241,8 @@ function EnterGame.doLogin()
|
||||
end })
|
||||
|
||||
g_game.chooseRsa(G.host)
|
||||
g_game.setProtocolVersion(protocolVersion)
|
||||
if #clientVersions > 0 then
|
||||
g_game.setClientVersion(clientVersions[#clientVersions])
|
||||
end
|
||||
g_game.setClientVersion(clientVersion)
|
||||
g_game.setProtocolVersion(g_game.getClientProtocolVersion(clientVersion))
|
||||
|
||||
if modules.game_things.isLoaded() then
|
||||
protocolLogin:login(G.host, G.port, G.account, G.password)
|
||||
@@ -269,14 +263,14 @@ end
|
||||
function EnterGame.setDefaultServer(host, port, protocol)
|
||||
local hostTextEdit = enterGame:getChildById('serverHostTextEdit')
|
||||
local portTextEdit = enterGame:getChildById('serverPortTextEdit')
|
||||
local protocolLabel = enterGame:getChildById('protocolLabel')
|
||||
local clientLabel = enterGame:getChildById('clientLabel')
|
||||
local accountTextEdit = enterGame:getChildById('accountNameTextEdit')
|
||||
local passwordTextEdit = enterGame:getChildById('accountPasswordTextEdit')
|
||||
|
||||
if hostTextEdit:getText() ~= host then
|
||||
hostTextEdit:setText(host)
|
||||
portTextEdit:setText(port)
|
||||
protocolBox:setCurrentOption(protocol)
|
||||
clientBox:setCurrentOption(protocol)
|
||||
accountTextEdit:setText('')
|
||||
passwordTextEdit:setText('')
|
||||
end
|
||||
@@ -292,9 +286,9 @@ function EnterGame.setUniqueServer(host, port, protocol, windowWidth, windowHeig
|
||||
portTextEdit:setVisible(false)
|
||||
portTextEdit:setHeight(0)
|
||||
|
||||
protocolBox:setCurrentOption(protocol)
|
||||
protocolBox:setVisible(false)
|
||||
protocolBox:setHeight(0)
|
||||
clientBox:setCurrentOption(protocol)
|
||||
clientBox:setVisible(false)
|
||||
clientBox:setHeight(0)
|
||||
|
||||
local serverLabel = enterGame:getChildById('serverLabel')
|
||||
serverLabel:setVisible(false)
|
||||
@@ -302,9 +296,9 @@ function EnterGame.setUniqueServer(host, port, protocol, windowWidth, windowHeig
|
||||
local portLabel = enterGame:getChildById('portLabel')
|
||||
portLabel:setVisible(false)
|
||||
portLabel:setHeight(0)
|
||||
local protocolLabel = enterGame:getChildById('protocolLabel')
|
||||
protocolLabel:setVisible(false)
|
||||
protocolLabel:setHeight(0)
|
||||
local clientLabel = enterGame:getChildById('clientLabel')
|
||||
clientLabel:setVisible(false)
|
||||
clientLabel:setHeight(0)
|
||||
|
||||
local serverListButton = enterGame:getChildById('serverListButton')
|
||||
serverListButton:setVisible(false)
|
||||
|
@@ -68,7 +68,7 @@ EnterGameWindow
|
||||
|
||||
TextEdit
|
||||
id: serverHostTextEdit
|
||||
!tooltip: tr('Make sure that your client uses\nthe correct game protocol version')
|
||||
!tooltip: tr('Make sure that your client uses\nthe correct game client version')
|
||||
anchors.left: parent.left
|
||||
anchors.right: serverListButton.left
|
||||
anchors.top: serverLabel.bottom
|
||||
@@ -76,8 +76,8 @@ EnterGameWindow
|
||||
margin-right: 4
|
||||
|
||||
MenuLabel
|
||||
id: protocolLabel
|
||||
!text: tr('Protocol')
|
||||
id: clientLabel
|
||||
!text: tr('Client Version')
|
||||
anchors.left: parent.left
|
||||
anchors.top: serverHostTextEdit.bottom
|
||||
text-auto-resize: true
|
||||
@@ -85,17 +85,16 @@ EnterGameWindow
|
||||
margin-top: 8
|
||||
|
||||
ComboBox
|
||||
id: protocolComboBox
|
||||
id: clientComboBox
|
||||
anchors.left: parent.left
|
||||
anchors.right: parent.horizontalCenter
|
||||
anchors.top: protocolLabel.bottom
|
||||
anchors.top: clientLabel.bottom
|
||||
margin-top: 2
|
||||
margin-right: 3
|
||||
width: 90
|
||||
@onSetup: |
|
||||
for _, proto in pairs(g_game.getSupportedProtocols()) do
|
||||
self:addOption(proto)
|
||||
end
|
||||
menu-scroll: true
|
||||
menu-height: 125
|
||||
menu-scroll-step: 25
|
||||
|
||||
MenuLabel
|
||||
id: portLabel
|
||||
@@ -110,7 +109,7 @@ EnterGameWindow
|
||||
text: 7171
|
||||
anchors.right: parent.right
|
||||
anchors.left: parent.horizontalCenter
|
||||
anchors.top: protocolComboBox.top
|
||||
anchors.top: clientComboBox.top
|
||||
margin-left: 3
|
||||
|
||||
CheckBox
|
||||
|
@@ -14,7 +14,8 @@ function init()
|
||||
g_keyboard.bindKeyPress('Up', function() moduleList:focusPreviousChild(KeyboardFocusReason) end, moduleManagerWindow)
|
||||
g_keyboard.bindKeyPress('Down', function() moduleList:focusNextChild(KeyboardFocusReason) end, moduleManagerWindow)
|
||||
|
||||
moduleManagerButton = modules.client_topmenu.addLeftButton('moduleManagerButton', tr('Module Manager'), '/images/topbuttons/modulemanager', toggle)
|
||||
moduleManagerButton = modules.client_topmenu.addLeftButton('moduleManagerButton',
|
||||
tr('Module Manager'), '/images/topbuttons/modulemanager', toggle)
|
||||
|
||||
-- refresh modules only after all modules are loaded
|
||||
addEvent(listModules)
|
||||
@@ -137,7 +138,7 @@ function unloadCurrentModule()
|
||||
local module = g_modules.getModule(focusedChild:getText())
|
||||
if module then
|
||||
module:unload()
|
||||
if ModuleManager == nil then return end
|
||||
if modules.client_modulemanager == nil then return end
|
||||
updateModuleInfo(module:getName())
|
||||
refreshLoadedModules()
|
||||
end
|
||||
|
@@ -40,13 +40,17 @@ Panel
|
||||
!text: tr('Fullscreen')
|
||||
tooltip: Ctrl+Shift+F
|
||||
|
||||
OptionCheckBox
|
||||
id: dontStretchShrink
|
||||
!text: tr('Don\'t stretch/shrink Game Window')
|
||||
|
||||
Label
|
||||
id: backgroundFrameRateLabel
|
||||
!text: tr('Game framerate limit: %s', 'max')
|
||||
anchors.left: parent.left
|
||||
anchors.right: parent.right
|
||||
anchors.top: prev.bottom
|
||||
margin-top: 6
|
||||
margin-top: 12
|
||||
@onSetup: |
|
||||
local value = modules.client_options.getOption('backgroundFrameRate')
|
||||
local text = value
|
||||
|
@@ -25,7 +25,8 @@ local defaultOptions = {
|
||||
ambientLight = 25,
|
||||
displayNames = true,
|
||||
displayHealth = true,
|
||||
displayText = true
|
||||
displayText = true,
|
||||
dontStretchShrink = false
|
||||
}
|
||||
|
||||
local optionsWindow
|
||||
@@ -223,6 +224,10 @@ function setOption(key, value, force)
|
||||
gameMapPanel:setDrawHealthBars(value)
|
||||
elseif key == 'displayText' then
|
||||
gameMapPanel:setDrawTexts(value)
|
||||
elseif key == 'dontStretchShrink' then
|
||||
addEvent(function()
|
||||
modules.game_interface.updateStretchShrink()
|
||||
end)
|
||||
end
|
||||
|
||||
-- change value for keybind updates
|
||||
|
@@ -1,7 +1,7 @@
|
||||
MainWindow
|
||||
id: addServerWindow
|
||||
!text: tr('New Server')
|
||||
size: 180 180
|
||||
size: 180 195
|
||||
visible: false
|
||||
@onEscape: AddServer.hide()
|
||||
@onEnter: AddServer.add()
|
||||
@@ -48,8 +48,11 @@ MainWindow
|
||||
anchors.top: protocolLabel.bottom
|
||||
anchors.left: protocolLabel.left
|
||||
anchors.right: port.right
|
||||
menu-scroll: true
|
||||
menu-height: 125
|
||||
menu-scroll-step: 25
|
||||
@onSetup: |
|
||||
for _, proto in pairs(g_game.getSupportedProtocols()) do
|
||||
for _, proto in pairs(g_game.getSupportedClients()) do
|
||||
self:addOption(proto)
|
||||
end
|
||||
|
||||
|
@@ -50,7 +50,7 @@ function ServerList.add(host, port, protocol, load)
|
||||
end
|
||||
local widget = g_ui.createWidget('ServerWidget', serverTextList)
|
||||
widget:setId(host)
|
||||
|
||||
|
||||
if not load then
|
||||
servers[host] = {
|
||||
port = port,
|
||||
|
@@ -79,6 +79,10 @@ function onConnect(protocol)
|
||||
post = post .. '&window_height=' .. g_window.getHeight()
|
||||
post = post .. '&player_name=' .. g_game.getCharacterName()
|
||||
post = post .. '&world_name=' .. g_game.getWorldName()
|
||||
post = post .. '&otserv_host=' .. G.host
|
||||
post = post .. '&otserv_port=' .. G.port
|
||||
post = post .. '&otserv_protocol=' .. g_game.getProtocolVersion()
|
||||
post = post .. '&otserv_client=' .. g_game.getClientVersion()
|
||||
post = post .. '&build_version=' .. g_app.getVersion()
|
||||
post = post .. '&build_revision=' .. g_app.getBuildRevision()
|
||||
post = post .. '&build_commit=' .. g_app.getBuildCommit()
|
||||
|
@@ -131,11 +131,11 @@ function init()
|
||||
commandTextEdit = terminalWindow:getChildById('commandTextEdit')
|
||||
g_keyboard.bindKeyPress('Up', function() navigateCommand(1) end, commandTextEdit)
|
||||
g_keyboard.bindKeyPress('Down', function() navigateCommand(-1) end, commandTextEdit)
|
||||
g_keyboard.bindKeyPress('Ctrl+C',
|
||||
function()
|
||||
g_keyboard.bindKeyPress('Ctrl+C',
|
||||
function()
|
||||
if commandTextEdit:hasSelection() or not terminalSelectText:hasSelection() then return false end
|
||||
g_window.setClipboardText(terminalSelectText:getSelection())
|
||||
return true
|
||||
return true
|
||||
end, commandTextEdit)
|
||||
g_keyboard.bindKeyDown('Tab', completeCommand, commandTextEdit)
|
||||
g_keyboard.bindKeyDown('Enter', doCommand, commandTextEdit)
|
||||
@@ -202,9 +202,9 @@ function popWindow()
|
||||
else
|
||||
terminalWindow:breakAnchors()
|
||||
terminalWindow:setOn(true)
|
||||
local size = oldSize or { width = g_window.getWidth()/2, height = g_window.getHeight()/2 }
|
||||
local size = oldSize or { width = g_window.getWidth()/2.5, height = g_window.getHeight()/4 }
|
||||
terminalWindow:setSize(size)
|
||||
local pos = oldPos or { x = (g_window.getWidth() - terminalWindow:getWidth())/2, y = (g_window.getHeight() - terminalWindow:getHeight())/2 }
|
||||
local pos = oldPos or { x = 0, y = g_window.getHeight() }
|
||||
terminalWindow:setPosition(pos)
|
||||
terminalWindow:getChildById('bottomResizeBorder'):enable()
|
||||
terminalWindow:getChildById('rightResizeBorder'):enable()
|
||||
@@ -221,10 +221,10 @@ function toggle()
|
||||
if terminalWindow:isVisible() then
|
||||
hide()
|
||||
else
|
||||
if not firstShow then
|
||||
if not firstShown then
|
||||
local settings = g_settings.getNode('terminal-window')
|
||||
if settings then
|
||||
if settings.size then oldSize = size end
|
||||
if settings.size then oldSize = settings.size end
|
||||
if settings.pos then oldPos = settings.pos end
|
||||
if settings.poped then popWindow() end
|
||||
end
|
||||
@@ -257,10 +257,13 @@ function flushLines()
|
||||
for _,line in pairs(cachedLines) do
|
||||
-- delete old lines if needed
|
||||
if numLines > MaxLogLines then
|
||||
local len = #terminalBuffer:getChildByIndex(1):getText()
|
||||
terminalBuffer:getChildByIndex(1):destroy()
|
||||
table.remove(allLines, 1)
|
||||
fulltext = string.sub(fulltext, len)
|
||||
local firstChild = terminalBuffer:getChildByIndex(1)
|
||||
if firstChild then
|
||||
local len = #firstChild:getText()
|
||||
firstChild:destroy()
|
||||
table.remove(allLines, 1)
|
||||
fulltext = string.sub(fulltext, len)
|
||||
end
|
||||
end
|
||||
|
||||
local label = g_ui.createWidget('TerminalLabel', terminalBuffer)
|
||||
@@ -285,6 +288,7 @@ function addLine(text, color)
|
||||
flushEvent = scheduleEvent(flushLines, 10)
|
||||
end
|
||||
|
||||
text = string.gsub(text, '\t', ' ')
|
||||
table.insert(cachedLines, {text=text, color=color})
|
||||
end
|
||||
|
||||
|
@@ -27,7 +27,7 @@ local function addButton(id, description, icon, callback, panel, toggle, front)
|
||||
button:setTooltip(description)
|
||||
button:setIcon(resolvepath(icon, 3))
|
||||
button.onMouseRelease = function(widget, mousePos, mouseButton)
|
||||
if widget:containsPoint(mousePos) and mouseButton ~= MouseMiddleButton then
|
||||
if widget:containsPoint(mousePos) and mouseButton ~= MouseMidButton then
|
||||
callback()
|
||||
return true
|
||||
end
|
||||
|
73
modules/corelib/config.lua
Normal file
@@ -0,0 +1,73 @@
|
||||
-- @docclass
|
||||
|
||||
local function convertSettingValue(value)
|
||||
if type(value) == 'table' then
|
||||
if value.x and value.width then
|
||||
return recttostring(value)
|
||||
elseif value.x then
|
||||
return pointtostring(value)
|
||||
elseif value.width then
|
||||
return sizetostring(value)
|
||||
elseif value.r then
|
||||
return colortostring(value)
|
||||
else
|
||||
return value
|
||||
end
|
||||
elseif value == nil then
|
||||
return ''
|
||||
else
|
||||
return tostring(value)
|
||||
end
|
||||
end
|
||||
|
||||
function Config:set(key, value)
|
||||
self:setValue(key, convertSettingValue(value))
|
||||
end
|
||||
|
||||
function Config:setDefault(key, value)
|
||||
if self:exists(key) then return false end
|
||||
self:set(key, value)
|
||||
return true
|
||||
end
|
||||
|
||||
function Config:get(key, default)
|
||||
if not self:exists(key) and default ~= nil then
|
||||
self:set(key, default)
|
||||
end
|
||||
return self:getValue(key)
|
||||
end
|
||||
|
||||
function Config:getString(key, default)
|
||||
return self:get(key, default)
|
||||
end
|
||||
|
||||
function Config:getInteger(key, default)
|
||||
local v = tonumber(self:get(key, default)) or 0
|
||||
return v
|
||||
end
|
||||
|
||||
function Config:getNumber(key, default)
|
||||
local v = tonumber(self:get(key, default)) or 0
|
||||
return v
|
||||
end
|
||||
|
||||
function Config:getBoolean(key, default)
|
||||
return toboolean(self:get(key, default))
|
||||
end
|
||||
|
||||
function Config:getPoint(key, default)
|
||||
return topoint(self:get(key, default))
|
||||
end
|
||||
|
||||
function Config:getRect(key, default)
|
||||
return torect(self:get(key, default))
|
||||
end
|
||||
|
||||
function Config:getSize(key, default)
|
||||
return tosize(self:get(key, default))
|
||||
end
|
||||
|
||||
function Config:getColor(key, default)
|
||||
return tocolor(self:get(key, default))
|
||||
end
|
||||
|
@@ -14,12 +14,14 @@ Module
|
||||
dofile 'const'
|
||||
dofile 'util'
|
||||
dofile 'globals'
|
||||
dofile 'config'
|
||||
dofile 'settings'
|
||||
dofile 'keyboard'
|
||||
dofile 'mouse'
|
||||
dofile 'net'
|
||||
|
||||
dofiles 'classes'
|
||||
dofiles 'ui'
|
||||
|
||||
dofile 'inputmessage'
|
||||
dofile 'outputmessage'
|
||||
dofile 'outputmessage'
|
@@ -157,14 +157,14 @@ function g_keyboard.unbindKeyDown(keyComboDesc, arg1, arg2)
|
||||
disconnect(widget.boundKeyDownCombos, keyComboDesc, callback)
|
||||
end
|
||||
|
||||
function g_keyboard.unbindKeyUp(keyComboDesc, widget)
|
||||
function g_keyboard.unbindKeyUp(keyComboDesc, arg1, arg2)
|
||||
local callback, widget = getUnbindArgs(arg1, arg2)
|
||||
if widget.boundKeyUpCombos == nil then return end
|
||||
local keyComboDesc = retranslateKeyComboDesc(keyComboDesc)
|
||||
disconnect(widget.boundKeyUpCombos, keyComboDesc, callback)
|
||||
end
|
||||
|
||||
function g_keyboard.unbindKeyPress(keyComboDesc, widget, callback)
|
||||
function g_keyboard.unbindKeyPress(keyComboDesc, arg1, arg2)
|
||||
local callback, widget = getUnbindArgs(arg1, arg2)
|
||||
if widget.boundKeyPressCombos == nil then return end
|
||||
local keyComboDesc = retranslateKeyComboDesc(keyComboDesc)
|
||||
|
@@ -1,86 +1,3 @@
|
||||
-- @docclass
|
||||
g_settings = {}
|
||||
g_settings = makesingleton(g_configs.getSettings())
|
||||
|
||||
g_settings.exists = g_configs.exists
|
||||
g_settings.setNode = g_configs.setNode
|
||||
g_settings.mergeNode = g_configs.mergeNode
|
||||
g_settings.getNode = g_configs.getNode
|
||||
g_settings.remove = g_configs.remove
|
||||
g_settings.setList = g_configs.setList
|
||||
g_settings.getList = g_configs.getList
|
||||
g_settings.save = g_configs.save
|
||||
|
||||
local function convertSettingValue(value)
|
||||
if type(value) == 'table' then
|
||||
if value.x and value.width then
|
||||
return recttostring(value)
|
||||
elseif value.x then
|
||||
return pointtostring(value)
|
||||
elseif value.width then
|
||||
return sizetostring(value)
|
||||
elseif value.r then
|
||||
return colortostring(value)
|
||||
else
|
||||
return value
|
||||
end
|
||||
elseif value == nil then
|
||||
return ''
|
||||
else
|
||||
return tostring(value)
|
||||
end
|
||||
end
|
||||
|
||||
function g_settings.set(key, value)
|
||||
g_configs.set(key, convertSettingValue(value))
|
||||
end
|
||||
|
||||
function g_settings.setDefault(key, value)
|
||||
if g_settings.exists(key) then return false end
|
||||
g_settings.set(key, value)
|
||||
return true
|
||||
end
|
||||
|
||||
function g_settings.get(key, default)
|
||||
if not g_settings.exists(key) and default ~= nil then
|
||||
g_settings.set(key, default)
|
||||
end
|
||||
return g_configs.get(key)
|
||||
end
|
||||
|
||||
function g_settings.getString(key, default)
|
||||
return g_settings.get(key, default)
|
||||
end
|
||||
|
||||
function g_settings.getInteger(key, default)
|
||||
local v = tonumber(g_settings.get(key, default)) or 0
|
||||
return v
|
||||
end
|
||||
|
||||
function g_settings.getNumber(key, default)
|
||||
local v = tonumber(g_settings.get(key, default)) or 0
|
||||
return v
|
||||
end
|
||||
|
||||
function g_settings.getBoolean(key, default)
|
||||
return toboolean(g_settings.get(key, default))
|
||||
end
|
||||
|
||||
function g_settings.getPoint(key, default)
|
||||
return topoint(g_settings.get(key, default))
|
||||
end
|
||||
|
||||
function g_settings.getRect(key, default)
|
||||
return torect(g_settings.get(key, default))
|
||||
end
|
||||
|
||||
function g_settings.getSize(key, default)
|
||||
return tosize(g_settings.get(key, default))
|
||||
end
|
||||
|
||||
function g_settings.getColor(key, default)
|
||||
return tocolor(g_settings.get(key, default))
|
||||
end
|
||||
|
||||
function g_settings.getColor(key, default)
|
||||
return tocolor(g_settings.get(key, default))
|
||||
end
|
||||
-- Reserved for future functionality
|
||||
|
@@ -20,8 +20,8 @@ function string:starts(start)
|
||||
return string.sub(self, 1, #start) == start
|
||||
end
|
||||
|
||||
function string.ends(s, test)
|
||||
return test =='' or string.sub(s,-string.len(test)) == test
|
||||
function string:ends(test)
|
||||
return test =='' or string.sub(self,-string.len(test)) == test
|
||||
end
|
||||
|
||||
function string:trim()
|
||||
@@ -49,3 +49,11 @@ function string:explode(sep, limit)
|
||||
table.insert(t, tmp)
|
||||
return t
|
||||
end
|
||||
|
||||
function string:contains(str, checkCase, start, plain)
|
||||
if(not checkCase) then
|
||||
self = self:lower()
|
||||
str = str:lower()
|
||||
end
|
||||
return string.find(self, str, start and start or 1, plain == nil and true or false)
|
||||
end
|
||||
|
@@ -55,7 +55,7 @@ end
|
||||
|
||||
function table.find(t, value, lowercase)
|
||||
for k,v in pairs(t) do
|
||||
if lowercase and type(value) == 'string' and type(v) == 'string' then
|
||||
if lowercase and type(value) == 'string' and type(v) == 'string' then
|
||||
if v:lower() == value:lower() then return k end
|
||||
end
|
||||
if v == value then return k end
|
||||
@@ -64,7 +64,7 @@ end
|
||||
|
||||
function table.findbykey(t, key, lowercase)
|
||||
for k,v in pairs(t) do
|
||||
if lowercase and type(key) == 'string' and type(k) == 'string' then
|
||||
if lowercase and type(key) == 'string' and type(k) == 'string' then
|
||||
if k:lower() == key:lower() then return v end
|
||||
end
|
||||
if k == key then return v end
|
||||
@@ -149,7 +149,7 @@ function table.size(t)
|
||||
for i, n in pairs(t) do
|
||||
size = size + 1
|
||||
end
|
||||
|
||||
|
||||
return size
|
||||
end
|
||||
|
||||
@@ -157,6 +157,7 @@ function table.tostring(t)
|
||||
local maxn = #t
|
||||
local str = ""
|
||||
for k,v in pairs(t) do
|
||||
v = tostring(v)
|
||||
if k == maxn and k ~= 1 then
|
||||
str = str .. " and " .. v
|
||||
elseif maxn > 1 and k ~= 1 then
|
||||
@@ -181,3 +182,11 @@ function table.collect(t, func)
|
||||
return res
|
||||
end
|
||||
|
||||
function table.equals(t, comp)
|
||||
if type(t) == "table" and type(comp) == "table" then
|
||||
for k,v in pairs(t) do
|
||||
if v ~= comp[k] then return false end
|
||||
end
|
||||
end
|
||||
return true
|
||||
end
|
@@ -1,5 +1,5 @@
|
||||
-- @docclass
|
||||
UIButton = extends(UIWidget)
|
||||
UIButton = extends(UIWidget, "UIButton")
|
||||
|
||||
function UIButton.create()
|
||||
local button = UIButton.internalCreate()
|
||||
|
@@ -1,5 +1,5 @@
|
||||
-- @docclass
|
||||
UICheckBox = extends(UIWidget)
|
||||
UICheckBox = extends(UIWidget, "UICheckBox")
|
||||
|
||||
function UICheckBox.create()
|
||||
local checkbox = UICheckBox.internalCreate()
|
||||
|
@@ -1,5 +1,5 @@
|
||||
-- @docclass
|
||||
UIComboBox = extends(UIWidget)
|
||||
UIComboBox = extends(UIWidget, "UIComboBox")
|
||||
|
||||
function UIComboBox.create()
|
||||
local combobox = UIComboBox.internalCreate()
|
||||
@@ -7,6 +7,9 @@ function UIComboBox.create()
|
||||
combobox.options = {}
|
||||
combobox.currentIndex = -1
|
||||
combobox.mouseScroll = true
|
||||
combobox.menuScroll = false
|
||||
combobox.menuHeight = 100
|
||||
combobox.menuScrollStep = 0
|
||||
return combobox
|
||||
end
|
||||
|
||||
@@ -25,25 +28,33 @@ function UIComboBox:getOption(text)
|
||||
end
|
||||
end
|
||||
|
||||
function UIComboBox:setCurrentOption(text)
|
||||
function UIComboBox:setOption(text, dontSignal)
|
||||
self:setCurrentOption(text, dontSignal)
|
||||
end
|
||||
|
||||
function UIComboBox:setCurrentOption(text, dontSignal)
|
||||
if not self.options then return end
|
||||
for i,v in ipairs(self.options) do
|
||||
if v.text == text and self.currentIndex ~= i then
|
||||
self.currentIndex = i
|
||||
self:setText(text)
|
||||
signalcall(self.onOptionChange, self, text, v.data)
|
||||
if not dontSignal then
|
||||
signalcall(self.onOptionChange, self, text, v.data)
|
||||
end
|
||||
return
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function UIComboBox:setCurrentOptionByData(data)
|
||||
function UIComboBox:setCurrentOptionByData(data, dontSignal)
|
||||
if not self.options then return end
|
||||
for i,v in ipairs(self.options) do
|
||||
if v.data == data and self.currentIndex ~= i then
|
||||
self.currentIndex = i
|
||||
self:setText(v.text)
|
||||
signalcall(self.onOptionChange, self, v.text, v.data)
|
||||
if not dontSignal then
|
||||
signalcall(self.onOptionChange, self, v.text, v.data)
|
||||
end
|
||||
return
|
||||
end
|
||||
end
|
||||
@@ -86,7 +97,16 @@ function UIComboBox:removeOption(text)
|
||||
end
|
||||
|
||||
function UIComboBox:onMousePress(mousePos, mouseButton)
|
||||
local menu = g_ui.createWidget(self:getStyleName() .. 'PopupMenu')
|
||||
local menu
|
||||
if self.menuScroll then
|
||||
menu = g_ui.createWidget(self:getStyleName() .. 'PopupScrollMenu')
|
||||
menu:setHeight(self.menuHeight)
|
||||
if self.menuScrollStep > 0 then
|
||||
menu:setScrollbarStep(self.menuScrollStep)
|
||||
end
|
||||
else
|
||||
menu = g_ui.createWidget(self:getStyleName() .. 'PopupMenu')
|
||||
end
|
||||
menu:setId(self:getId() .. 'PopupMenu')
|
||||
for i,v in ipairs(self.options) do
|
||||
menu:addOption(v.text, function() self:setCurrentOption(v.text) end)
|
||||
@@ -129,6 +149,12 @@ function UIComboBox:onStyleApply(styleName, styleNode)
|
||||
for name,value in pairs(styleNode) do
|
||||
if name == 'mouse-scroll' then
|
||||
self.mouseScroll = value
|
||||
elseif name == 'menu-scroll' then
|
||||
self.menuScroll = value
|
||||
elseif name == 'menu-height' then
|
||||
self.menuHeight = value
|
||||
elseif name == 'menu-scroll-step' then
|
||||
self.menuScrollStep = value
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@@ -1,5 +1,5 @@
|
||||
-- @docclass
|
||||
UIImageView = extends(UIWidget)
|
||||
UIImageView = extends(UIWidget, "UIImageView")
|
||||
|
||||
function UIImageView.create()
|
||||
local imageView = UIImageView.internalCreate()
|
||||
|
@@ -1,7 +1,7 @@
|
||||
if not UIWindow then dofile 'uiwindow' end
|
||||
|
||||
-- @docclass
|
||||
UIInputBox = extends(UIWindow)
|
||||
UIInputBox = extends(UIWindow, "UIInputBox")
|
||||
|
||||
function UIInputBox.create(title, okCallback, cancelCallback)
|
||||
local inputBox = UIInputBox.internalCreate()
|
||||
|
@@ -1,5 +1,5 @@
|
||||
-- @docclass
|
||||
UILabel = extends(UIWidget)
|
||||
UILabel = extends(UIWidget, "UILabel")
|
||||
|
||||
function UILabel.create()
|
||||
local label = UILabel.internalCreate()
|
||||
|
@@ -1,7 +1,7 @@
|
||||
if not UIWindow then dofile 'uiwindow' end
|
||||
|
||||
-- @docclass
|
||||
UIMessageBox = extends(UIWindow)
|
||||
UIMessageBox = extends(UIWindow, "UIMessageBox")
|
||||
|
||||
-- messagebox cannot be created from otui files
|
||||
UIMessageBox.create = nil
|
||||
|
@@ -1,15 +1,11 @@
|
||||
-- @docclass
|
||||
UIMiniWindow = extends(UIWindow)
|
||||
UIMiniWindow = extends(UIWindow, "UIMiniWindow")
|
||||
|
||||
function UIMiniWindow.create()
|
||||
local miniwindow = UIMiniWindow.internalCreate()
|
||||
return miniwindow
|
||||
end
|
||||
|
||||
function UIMiniWindow:getClassName()
|
||||
return 'UIMiniWindow'
|
||||
end
|
||||
|
||||
function UIMiniWindow:open(dontSave)
|
||||
self:setVisible(true)
|
||||
|
||||
@@ -81,7 +77,7 @@ function UIMiniWindow:setup()
|
||||
self:minimize()
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
self:getChildById('miniwindowTopBar').onDoubleClick =
|
||||
function()
|
||||
if self:isOn() then
|
||||
|