Skip to content

Commit 8e48b17

Browse files
authored
Add files via upload
1 parent e412064 commit 8e48b17

13 files changed

+51371
-0
lines changed

Fonts/frizquadratatt_pl.ttf

56.4 KB
Binary file not shown.

Fonts/morpheus_pl.ttf

64.7 KB
Binary file not shown.

Gossip_BR.lua

Lines changed: 11198 additions & 0 deletions
Large diffs are not rendered by default.

Init/QuestTradutorInit-vanilla.lua

Lines changed: 149 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,149 @@
1+
-- QuestTradutor, Addon para Vanilla (1.12.1), TBC (2.4) e Wrath (3.3.0+)
2+
-- Port por: Leandro Araujo
3+
-- Pagina do Github: https://github.com/leoaviana/QuestTradutor
4+
-- Original Addon: WoWpoPolsku_Quests (wersja: CLASSIC.02) 2019.12.23
5+
-- Opis: AddOn wyświetla przetłumaczone questy w języku polskim.
6+
-- Autor: Platine (e-mail: platine.wow@gmail.com)
7+
-- Original Addon project page: https://wowpopolsku.pl
8+
9+
QuestTradutor = CreateFrame("Frame", nil, UIParent);
10+
11+
QuestTradutor.target = 1 -- vanilla
12+
13+
QuestTradutor:RegisterEvent("ADDON_LOADED");
14+
QuestTradutor:RegisterEvent("QUEST_LOG_UPDATE");
15+
QuestTradutor:RegisterEvent("QUEST_DETAIL");
16+
QuestTradutor:RegisterEvent("QUEST_PROGRESS");
17+
QuestTradutor:RegisterEvent("QUEST_COMPLETE");
18+
QuestTradutor:RegisterEvent("QUEST_GREETING");
19+
QuestTradutor:RegisterEvent("GOSSIP_SHOW");
20+
21+
QuestTradutor.G = getfenv()
22+
QuestTradutor.QuestLogDetailFrame = QuestLogFrame
23+
24+
25+
26+
local function c_gossipHelper(a, ...)
27+
local gn = 0
28+
for i=1, arg.n, a do
29+
gn = gn+1
30+
end
31+
return gn
32+
end
33+
34+
QuestTradutor.GetNumGossipOptions = function(self)
35+
return c_gossipHelper(2, GetGossipOptions())
36+
end
37+
38+
QuestTradutor.GetNumGossipActiveQuests = function(self)
39+
return c_gossipHelper(4, GetGossipActiveQuests())
40+
end
41+
42+
QuestTradutor.GetNumGossipAvailableQuests = function(self)
43+
return c_gossipHelper(5, GetGossipAvailableQuests())
44+
end
45+
46+
QuestTradutor.HookSecureFunction = function (arg1, arg2, arg3)
47+
if type(arg1) == "string" then
48+
arg1, arg2, arg3 = QuestTradutor.G, arg1, arg2
49+
end
50+
local orig = arg1[arg2]
51+
if type(orig) ~= "function" then
52+
error("The function "..arg2.." does not exist", 2)
53+
end
54+
arg1[arg2] = function(...)
55+
local tmp = {orig(unpack(arg))}
56+
arg3(unpack(arg))
57+
return unpack(tmp)
58+
end
59+
end
60+
61+
QuestTradutor.Print = function(arg1)
62+
DEFAULT_CHAT_FRAME:AddMessage(arg1);
63+
end
64+
65+
QuestTradutor.SecHookScript = function(f, script, func)
66+
local prev = f:GetScript(script)
67+
f:SetScript(script, function(a1,a2,a3,a4,a5,a6,a7,a8,a9)
68+
if prev then prev(a1,a2,a3,a4,a5,a6,a7,a8,a9) end
69+
func(a1,a2,a3,a4,a5,a6,a7,a8,a9)
70+
end)
71+
end
72+
73+
QuestTradutor.StringHash = function(self, text)
74+
local counter = 1;
75+
local pomoc = 0;
76+
local dlug = string.len(text);
77+
for i = 1, dlug, 3 do
78+
counter = math.mod(counter*8161, 4294967279); -- 2^32 - 17: Prime!
79+
pomoc = (string.byte(text,i)*16776193);
80+
counter = counter + pomoc;
81+
pomoc = ((string.byte(text,i+1) or (dlug-i+256))*8372226);
82+
counter = counter + pomoc;
83+
pomoc = ((string.byte(text,i+2) or (dlug-i+256))*3932164);
84+
counter = counter + pomoc;
85+
end
86+
return math.mod(counter, 4294967291) -- 2^32 - 5: Prime (and different from the prime in the loop)
87+
end
88+
89+
90+
QuestTradutor.GetQuestIDFromQuestLog = function(self, questName, questID, QTR_name, QTR_race, QTR_class)
91+
local q_title = questName
92+
local q_i
93+
local quest_ID
94+
95+
if ( quest_ID == 0 or quest_ID==nil) then
96+
if (QuestTranslator_QuestList[q_title]) then
97+
local q_lists=QuestTranslator_QuestList[q_title];
98+
q_i=string.find(q_lists, ",");
99+
if ( string.find(q_lists, ",")==nil ) then
100+
-- only 1 questID to this title
101+
quest_ID=tonumber(q_lists);
102+
else
103+
local QTR_table=QuestTradutor:splitqinfo(q_lists, ",", -1);
104+
105+
if(QTR_table == nil) then
106+
return 0;
107+
end
108+
local QTR_multiple = "";
109+
local QTR_Center="";
110+
111+
SelectQuestLogEntry(questID)
112+
113+
for ii,vv in ipairs(QTR_table) do
114+
if (QuestTranslator_QuestMatch[tonumber(vv)]) then
115+
local origQuestText = GetQuestLogQuestText();
116+
local questTxtMatch = QuestTranslator_QuestMatch[tonumber(vv)];
117+
questTxtMatch = string.gsub(questTxtMatch, '$N$', string.upper(QTR_name));
118+
questTxtMatch = string.gsub(questTxtMatch, '$N', QTR_name);
119+
questTxtMatch = string.gsub(questTxtMatch, '$B', '\n');
120+
questTxtMatch = string.gsub(questTxtMatch, '$R', QTR_race);
121+
questTxtMatch = string.gsub(questTxtMatch, '$C', QTR_class);
122+
questTxtMatch = string.gsub(questTxtMatch, '$b$', string.upper(QTR_name));
123+
questTxtMatch = string.gsub(questTxtMatch, '$n', QTR_name);
124+
questTxtMatch = string.gsub(questTxtMatch, '$b', '\n');
125+
questTxtMatch = string.gsub(questTxtMatch, '$r', QTR_race);
126+
questTxtMatch = string.gsub(questTxtMatch, '$c', QTR_class);
127+
128+
if(string.find(origQuestText, questTxtMatch)) then
129+
if (QTR_Center=="") then
130+
QTR_Center=vv;
131+
else
132+
QTR_multiple = QTR_multiple .. ", " .. vv;
133+
end
134+
end
135+
end
136+
end
137+
if ( string.len(QTR_Center)>0 ) then
138+
quest_ID=tonumber(QTR_Center);
139+
if ( string.len(QTR_multiple)>0 ) then
140+
QTR_multiple = " (" .. string.sub(QTR_multiple, 3) .. ")";
141+
-- Essa quest possui duplicatas, sua tradução pode estar incorreta, porem, é garantida a seleção correta da quest no banco
142+
-- de dados utilizando o QuestLog (L) (WOTLK apenas.)
143+
end
144+
end
145+
end
146+
end
147+
end
148+
return (quest_ID);
149+
end

Init/QuestTradutorInit.lua

Lines changed: 150 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,150 @@
1+
-- QuestTradutor, Addon para Vanilla (1.12.1), TBC (2.4) e Wrath (3.3.0+)
2+
-- Port por: Leandro Araujo
3+
-- Pagina do Github: https://github.com/leoaviana/QuestTradutor
4+
-- Original Addon: WoWpoPolsku_Quests (wersja: CLASSIC.02) 2019.12.23
5+
-- Opis: AddOn wyświetla przetłumaczone questy w języku polskim.
6+
-- Autor: Platine (e-mail: platine.wow@gmail.com)
7+
-- Original Addon project page: https://wowpopolsku.pl
8+
9+
QuestTradutor = CreateFrame("Frame", nil, UIParent);
10+
11+
12+
local _, _, _, version = GetBuildInfo();
13+
14+
if version >= 20000 and version <= 20400 then
15+
QuestTradutor.target = 2
16+
elseif version >= 30000 and version <= 30300 then
17+
QuestTradutor.target = 3
18+
else
19+
QuestTradutor.target = 3
20+
end
21+
22+
QuestTradutor:RegisterEvent("ADDON_LOADED");
23+
QuestTradutor:RegisterEvent("QUEST_LOG_UPDATE");
24+
QuestTradutor:RegisterEvent("QUEST_DETAIL");
25+
QuestTradutor:RegisterEvent("QUEST_PROGRESS");
26+
QuestTradutor:RegisterEvent("QUEST_COMPLETE");
27+
QuestTradutor:RegisterEvent("QUEST_ACCEPTED");
28+
QuestTradutor:RegisterEvent("QUEST_GREETING");
29+
QuestTradutor:RegisterEvent("GOSSIP_SHOW");
30+
31+
if(QuestTradutor.target == 2) then
32+
QuestTradutor.G = getfenv()
33+
QuestTradutor.QuestLogDetailFrame = QuestLogFrame
34+
else
35+
QuestTradutor.G = _G
36+
QuestTradutor.QuestLogDetailFrame = QuestLogDetailFrame
37+
end
38+
39+
40+
if(QuestTradutor.target > 2) then
41+
QuestTradutor.Print = function(...) print(...) end
42+
else
43+
QuestTradutor.Print = function(arg1) DEFAULT_CHAT_FRAME:AddMessage(arg1); end
44+
end
45+
46+
47+
local function c_gossipHelper(...)
48+
local gn = 0
49+
for i=1, select('#', ...), 2 do
50+
gn = gn+1
51+
end
52+
return gn
53+
end
54+
55+
QuestTradutor.SecHookScript = function(f, script, func)
56+
local prev = f:GetScript(script)
57+
f:SetScript(script, function(a1,a2,a3,a4,a5,a6,a7,a8,a9)
58+
if prev then prev(a1,a2,a3,a4,a5,a6,a7,a8,a9) end
59+
func(a1,a2,a3,a4,a5,a6,a7,a8,a9)
60+
end)
61+
end
62+
63+
QuestTradutor.HookSecureFunction = hooksecurefunc
64+
65+
if(QuestTradutor.target < 3) then
66+
QuestTradutor.GetNumGossipOptions = function()
67+
return c_gossipHelper(GetGossipOptions())
68+
end
69+
else
70+
QuestTradutor.GetNumGossipOptions = GetNumGossipOptions
71+
end
72+
QuestTradutor.GetNumGossipActiveQuests = GetNumGossipActiveQuests
73+
QuestTradutor.GetNumGossipAvailableQuests = GetNumGossipAvailableQuests
74+
75+
QuestTradutor.StringHash = function(self, text)
76+
local counter = 1;
77+
local pomoc = 0;
78+
local dlug = string.len(text);
79+
for i = 1, dlug, 3 do
80+
counter = math.fmod(counter*8161, 4294967279); -- 2^32 - 17: Prime!
81+
pomoc = (string.byte(text,i)*16776193);
82+
counter = counter + pomoc;
83+
pomoc = ((string.byte(text,i+1) or (dlug-i+256))*8372226);
84+
counter = counter + pomoc;
85+
pomoc = ((string.byte(text,i+2) or (dlug-i+256))*3932164);
86+
counter = counter + pomoc;
87+
end
88+
return math.fmod(counter, 4294967291) -- 2^32 - 5: Prime (and different from the prime in the loop)
89+
end
90+
91+
QuestTradutor.GetQuestIDFromQuestLog = function(self, questName, questID, QTR_name, QTR_race, QTR_class)
92+
local q_title = questName
93+
local q_i
94+
local quest_ID
95+
96+
if ( quest_ID == 0 or quest_ID==nil) then
97+
if (QuestTranslator_QuestList[q_title]) then
98+
local q_lists=QuestTranslator_QuestList[q_title];
99+
q_i=string.find(q_lists, ",");
100+
if ( string.find(q_lists, ",")==nil ) then
101+
-- only 1 questID to this title
102+
quest_ID=tonumber(q_lists);
103+
else
104+
local QTR_table=QuestTradutor:splitqinfo(q_lists, ",", -1);
105+
106+
if(QTR_table == nil) then
107+
return 0;
108+
end
109+
local QTR_multiple = "";
110+
local QTR_Center="";
111+
112+
SelectQuestLogEntry(questID)
113+
114+
for ii,vv in ipairs(QTR_table) do
115+
if (QuestTranslator_QuestMatch[tonumber(vv)]) then
116+
local origQuestText = GetQuestLogQuestText();
117+
local questTxtMatch = QuestTranslator_QuestMatch[tonumber(vv)];
118+
questTxtMatch = string.gsub(questTxtMatch, '$N$', string.upper(QTR_name));
119+
questTxtMatch = string.gsub(questTxtMatch, '$N', QTR_name);
120+
questTxtMatch = string.gsub(questTxtMatch, '$B', '\n');
121+
questTxtMatch = string.gsub(questTxtMatch, '$R', QTR_race);
122+
questTxtMatch = string.gsub(questTxtMatch, '$C', QTR_class);
123+
questTxtMatch = string.gsub(questTxtMatch, '$b$', string.upper(QTR_name));
124+
questTxtMatch = string.gsub(questTxtMatch, '$n', QTR_name);
125+
questTxtMatch = string.gsub(questTxtMatch, '$b', '\n');
126+
questTxtMatch = string.gsub(questTxtMatch, '$r', QTR_race);
127+
questTxtMatch = string.gsub(questTxtMatch, '$c', QTR_class);
128+
129+
if(string.find(origQuestText, questTxtMatch)) then
130+
if (QTR_Center=="") then
131+
QTR_Center=vv;
132+
else
133+
QTR_multiple = QTR_multiple .. ", " .. vv;
134+
end
135+
end
136+
end
137+
end
138+
if ( string.len(QTR_Center)>0 ) then
139+
quest_ID=tonumber(QTR_Center);
140+
if ( string.len(QTR_multiple)>0 ) then
141+
QTR_multiple = " (" .. string.sub(QTR_multiple, 3) .. ")";
142+
-- Essa quest possui duplicatas, sua tradução pode estar incorreta, porem, é garantida a seleção correta da quest no banco
143+
-- de dados utilizando o QuestLog (L) (WOTLK apenas.)
144+
end
145+
end
146+
end
147+
end
148+
end
149+
return (quest_ID);
150+
end

0 commit comments

Comments
 (0)