Sziasztok, ebben a témában pvp szervereknek adok tippeket, módosításokat.
Ami szükséges hozzá:
- Forrás.
- Leleményesség.
- Ne légy hülye.
1, Optolók végtelenítése.
game/src/char_item.cpp
[spoiler=6-7 opt cserélő]keress rá erre:
case 71052 :
Ebben az ágban ezt:
item->SetCount(item->GetCount() - 1);
módosítsd így:
//item->SetCount(item->GetCount() - 1);
[/spoiler]
[spoiler=6-7 opt hozzáadó]keress rá erre:
case 71051 :
Ebben az ágban ezt:
item->SetCount(item->GetCount() - 1);
módosítsd így:
//item->SetCount(item->GetCount() - 1);
[/spoiler]
[spoiler=1-5 opt cserélő]keress rá erre:
case USE_CHANGE_ATTRIBUTE :
Ebben az ágban ezt:
item->SetCount(item->GetCount() - 1);
módosítsd így:
//item->SetCount(item->GetCount() - 1);
[/spoiler]
[spoiler=1-4 opt hozzáadó]keress rá erre:
case USE_ADD_ATTRIBUTE :
Ebben az ágban ezt:
item->SetCount(item->GetCount() - 1);
módosítsd így:
//item->SetCount(item->GetCount() - 1);
[/spoiler]
[spoiler=5 hozzáadó]keress rá erre:
case USE_ADD_ATTRIBUTE2 :
Ebben az ágban ezt:
item->SetCount(item->GetCount() - 1);
módosítsd így:
//item->SetCount(item->GetCount() - 1);
[/spoiler]
Tipp: Ha egyszer pvp szerver akkor már ne kelljen folyton optolót vennie hanem az is legyen végtelenített.
2, Optolók 100%-os berakása [spoiler]http://metin2hungary.net/index.php?topic=196440.0[/spoiler]
[spoiler=1-4 optoló]Keress rá erre:
case USE_ADD_ATTRIBUTE :
Ez alatt nemsokkal van egy ilyen rész:
{
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("속성 추가에 실패하였습니다."));
LogManager::instance().ItemLog(this, item, "ADD_ATTRIBUTE_FAIL", buf);
}
Ezt cseréld le erre:
{
item2->AddAttribute();
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("속성 추가에 성공하였습니다."));
int iAddedIdx = item2->GetAttributeCount() - 1;
LogManager::instance().ItemLog(
GetPlayerID(),
item2->GetAttributeType(iAddedIdx),
item2->GetAttributeValue(iAddedIdx),
item->GetID(),
"ADD_ATTRIBUTE_SUCCESS",
buf,
GetDesc()->GetHostName(),
item->GetOriginalVnum());
}
[/spoiler]
[spoiler=5. optoló]Keress rá erre:
case USE_ADD_ATTRIBUTE2 :
Szintén ez alatt nemsokkal van egy ilyen rész:
{
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("속성 추가에 실패하였습니다."));
LogManager::instance().ItemLog(this, item, "ADD_ATTRIBUTE2_FAIL", buf);
}
Ezt szintén cseréljük le erre:
{
item2->AddAttribute();
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("속성 추가에 성공하였습니다."));
int iAddedIdx = item2->GetAttributeCount() - 1;
LogManager::instance().ItemLog(
GetPlayerID(),
item2->GetAttributeType(iAddedIdx),
item2->GetAttributeValue(iAddedIdx),
item->GetID(),
"ADD_ATTRIBUTE2_SUCCESS",
buf,
GetDesc()->GetHostName(),
item->GetOriginalVnum());
}
[/spoiler]
3, Switchbot:
Szükséges fájlok:
- switchbot.py
- root fájlok
- eternexus
1. lépés: Nyisd meg a root/game.py-t
Fentebb az importok alá írjátok be ezt:
from switchbot import Bot
keressetek utána erre:
self.__ProcessPreservedServerCommand()
alá mehet ez:
self.switchbot = Bot()
self.switchbot.Hide()
keressetek rá erre:
onPressKeyDict[app.DIK_F4]
alá mehet ez:
onPressKeyDict[app.DIK_F5] = lambda : self.__toggleSwitchbot()
fájl végére illesszétek be ezt:
def __toggleSwitchbot(self):
if self.switchbot.bot_shown == 1:
self.switchbot.Hide()
else:
self.switchbot.Show()
A switchbot.py-t helyezzétek be a root-ba és csomagoljátok vissza! (https://drive.google.com/open?id=0BxYzJN8NsyN0Q2lZeWQxT21CR00)
Mellékelt txt-ben találhatók melyik szám melyik opt.
Köszönöm DarreDevil15-nek a visszajelzést. Letöltési link cserélve!
[spoiler=Pvp pont beváltó quest]quest pvp_pont_bevaltas begin
state start begin
when NPCID.chat."Pontok beváltása" begin
say_title("Üdvözöllek ..pc.get_name..")
say("Nálam minőségi fegyvereket,vérteket")
say("Szerezhetsz minőségi áron!")
say("A halálos fegyvereket és az isten páncélokat")
say("nemes fémből munkálták!")
say_reward("Mit szeretnél vásárolni?")
local s = select("Páncélt", "Fegyvert", "Mégse")
if s == 3 then
return
end
if s == 1 then -- Páncélok
local s1 = select("Harcos", "Ninja", "Sura", "Sámán", "Mégse")
if s1 == 5 then -- mégse
return
end
if s1 == 1 then -- Harcos
if pc.count_item(pontid) >= darab then
say("Ez a vért xy pontba kerül!")
pc.remove_item(pontid, darab)
pc.give_item2(Harcosvertid, 1)
else
say("Sajnálom neked nincs elég pontod!")
say("Gyere vissza ha szereztél xy pontot!")
say_item_vnum(pontid)
end
end
if s1 == 2 then --Ninja
if pc.count_item(pontid) >= darab then
say("Ez a vért xy pontba kerül!")
pc.remove_item(pontid, darab)
pc.give_item2(Ninjavertid, 1)
else
say("Sajnálom neked nincs elég pontod!")
say("Gyere vissza ha szereztél xy pontot!")
say_item_vnum(pontid)
end
end
if s1 == 3 then --Sura
if pc.count_item(pontid) >= darab then
say("Ez a vért xy pontba kerül!")
pc.remove_item(pontid, darab)
pc.give_item2(Suravertid, 1)
else
say("Sajnálom neked nincs elég pontod!")
say("Gyere vissza ha szereztél xy pontot!")
say_item_vnum(pontid)
end
end
if s1 == 4 then --Sámán
if pc.count_item(pontid) >= darab then
say("Ez a vért xy pontba kerül!")
pc.remove_item(pontid, darab)
pc.give_item2(Samanvertid, 1)
else
say("Sajnálom neked nincs elég pontod!")
say("Gyere vissza ha szereztél xy pontot!")
say_item_vnum(pontid)
end
end
if s == 2 then -- Fegyverek
local s1 = select("Kard", "Pallos", "Sura kard", "Tőr", "Íj", "Harang", "Legyező ", "Mégse")
if s2 == 8 then -- mégse
return
end
if s2 == 1 then -- Harcos kard
if pc.count_item(pontid) >= darab then
say("Ez a fegyver xy pontba kerül!")
pc.remove_item(pontid, darab)
pc.give_item2(Harcoskardid, 1)
else
say("Sajnálom neked nincs elég pontod!")
say("Gyere vissza ha szereztél xy pontot!")
say_item_vnum(pontid)
end
end
if s2 == 2 then -- Harcos pallos
if pc.count_item(pontid) >= darab then
say("Ez a fegyver xy pontba kerül!")
pc.remove_item(pontid, darab)
pc.give_item2(Harcospallosid, 1)
else
say("Sajnálom neked nincs elég pontod!")
say("Gyere vissza ha szereztél xy pontot!")
say_item_vnum(pontid)
end
end
if s2 == 3 then -- Sura kard
if pc.count_item(pontid) >= darab then
say("Ez a fegyver xy pontba kerül!")
pc.remove_item(pontid, darab)
pc.give_item2(Surakardid, 1)
else
say("Sajnálom neked nincs elég pontod!")
say("Gyere vissza ha szereztél xy pontot!")
say_item_vnum(pontid)
end
end
if s2 == 4 then -- Ninja Tőr
if pc.count_item(pontid) >= darab then
say("Ez a fegyver xy pontba kerül!")
pc.remove_item(pontid, darab)
pc.give_item2(Ninjator, 1)
else
say("Sajnálom neked nincs elég pontod!")
say("Gyere vissza ha szereztél xy pontot!")
say_item_vnum(pontid)
end
end
if s2 == 5 then -- Ninja Íj
if pc.count_item(pontid) >= darab then
say("Ez a fegyver xy pontba kerül!")
pc.remove_item(pontid, darab)
pc.give_item2(Ninjaijid, 1)
else
say("Sajnálom neked nincs elég pontod!")
say("Gyere vissza ha szereztél xy pontot!")
say_item_vnum(pontid)
end
end
if s2 == 6 then -- Sámán harang
if pc.count_item(pontid) >= darab then
say("Ez a fegyver xy pontba kerül!")
pc.remove_item(pontid, darab)
pc.give_item2(Samanharangid, 1)
else
say("Sajnálom neked nincs elég pontod!")
say("Gyere vissza ha szereztél xy pontot!")
say_item_vnum(pontid)
end
end
if s2 == 7 then -- Sámán legyező
if pc.count_item(pontid) >= darab then
say("Ez a fegyver xy pontba kerül!")
pc.remove_item(pontid, darab)
pc.give_item2(Samanlegyezoid, 1)
else
say("Sajnálom neked nincs elég pontod!")
say("Gyere vissza ha szereztél xy pontot!")
say_item_vnum(pontid)
end
end
end
end
end
end
[/spoiler]
Ezt a kis témát folytatni fogom!