PvP Szervereknek ajánlott

Indította Samurai, 2016-09-06, 09:39:07

2016-09-06, 09:39:07 Utolsó szerkesztés: 2016-09-07, 12:37:26 Szerző: Samurai
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!
ElsÅ' az elsÅ'k között, Az emberek istent játszanak engedély nélkül.