Lélekhez kötés rendszer [TELJES]

Indította huzsihun1997, 2015-04-02, 17:21:47

2015-04-02, 17:21:47 Utolsó szerkesztés: 2015-04-07, 13:53:53 Szerző: huzsihun1997
Sziasztok!

Mi is ez?

A lélekhez kötés bizonyos tárgyakat az accounthoz köti. A kötés (és feloldás) egy npc-nél használható, és jelszóval védhető le.

(karakter kereskedelemnél, stb elég hasznos lehet, hogy a jelszó nélkül nem tudják levenni a cucait)

A lekötött tárgyak egyetlen tulajdonságát sem lehet megváltoztatni (még sárkány tekerccsel, vagy bármi mással sem). Ugyanígy nem adható hozzá bónusz, vagy nem használható rajta megbűvölő tárgy sem. DE a finomított ércek bele helyezhetőek, valamint a kőszilánkokat is el lehet távolítani a Kő kézikönyvel belőlük. A lekötött tárgyat negatív rang esetén sem lehet elveszíteni, illetve nem adható el és nem dobható ki.

A lekötött tárgyak az accounthoz tartoznak, így azokat különböző fiókokhoz nem lehet átadni.



Beüzemelés


constinfo.py hez adjuk hozzá
BlockItemsSystem = {
"Block" : 0,
}


game.py

ez alá:
def __PutItem(self, attachedType, attachedItemIndex, attachedItemSlotPos, attachedItemCount, dstChrID):

illeszük be ezt:
if constInfo.BlockItemsSystem["Block"] == 1:
chat.AppendChat(1, "Sicherheitssystem ist Aktiviert.")
return


valahogy igy:




ez alá:
def __PutMoney(self, attachedType, attachedMoney, dstChrID):

ezt:
if constInfo.BlockItemsSystem["Block"] == 1:
chat.AppendChat(1, "Sicherheitssystem ist Aktiviert.")
return


igy:

ez alá:
def RequestDropItem(self, answer):

ez:
if constInfo.BlockItemsSystem["Block"] == 1:
chat.AppendChat(1, "Sicherheitssystem ist Aktiviert.")
return


a "mall" részhez adjuk hozzá ezt:
"ManagerBlockItems" : self.ManagerBlockItems,

igy:




irjunk bele egy uj funkciót valahova
def ManagerBlockItems(self, cmd):
cmd = cmd.split("|")
if cmd[0] == "BlockItems":
constInfo.BlockItemsSystem["Block"] = 1
elif cmd[0] == "UnBlockItems":
constInfo.BlockItemsSystem["Block"] = 0


igy



uiinventory.py

ez alá

def __SendUseItemToItemPacket(self, srcSlotPos, dstSlotPos):

ezt:
if constInfo.BlockItemsSystem["Block"] == 1:
chat.AppendChat(1, "Sicherheitssystem ist Aktiviert.")
return

igy:


ez alá:
def __SendUseItemPacket(self, slotPos):

ezt:
if constInfo.BlockItemsSystem["Block"] == 1:
chat.AppendChat(1, "Sicherheitssystem ist Aktiviert.")
return


igy:

ez alá:
def __SendMoveItemPacket(self, srcSlotPos, dstSlotPos, srcItemCount):

ezt:
if constInfo.BlockItemsSystem["Block"] == 1:
chat.AppendChat(1, "Sicherheitssystem ist Aktiviert.")
return


igy:


uiprivateshopbuilder.py

ez alá:
def OnSelectItemSlot(self, selectedSlotPos):

ez:
import constInfo, chat
if constInfo.BlockItemsSystem["Block"] == 1:
chat.AppendChat(1, "Sicherheitssystem Aktiviert.")
return


igy:


uishop.py
ez alá:
def OnBuy(self):

ez
import constInfo, chat
if constInfo.BlockItemsSystem["Block"] == 1:
chat.AppendChat(1, "Sicherheitssystem Aktiviert.")
return

igy:
ez alá:def OnSell(self):
ez:import constInfo, chat
if constInfo.BlockItemsSystem["Block"] == 1:
chat.AppendChat(1, "Sicherheitssystem Aktiviert.")
return

igy:
ez alá:def SellAttachedItem(self):
ez:import constInfo, chat
if constInfo.BlockItemsSystem["Block"] == 1:
chat.AppendChat(1, "Sicherheitssystem Aktiviert.")
return

igy:
ez alá:def OnSellItem(self, slotPos, count):
ez:import constInfo, chat
if constInfo.BlockItemsSystem["Block"] == 1:
chat.AppendChat(1, "Sicherheitssystem Aktiviert.")
return

igy:
ez alá:def SelectItemSlot(self, selectedSlotPos):
ez:import constInfo, chat
if constInfo.BlockItemsSystem["Block"] == 1:
chat.AppendChat(1, "Sicherheitssystem Aktiviert.")
return

igy:

És a quest:
quest block_items begin
state start begin

when login begin
if pc.getqf("block_items_register") == 1 then
if pc.getqf("block_items_active") == 1 then
cmdchat("Item lekötés")
else
cmdchat("Item lekötés feloldva|")
end
end
end

when 9010.chat."Item lekötés" begin
if pc.getqf("block_items_register") == 0 then
say_title("Item lekötése")
say("Üdvözöllek "..pc.get_name())
say("Annak érdekében, hogy ezt a rendszert használd")
say("be kell jelentkezned vagy regisztrálnod kell.")
say("Szeretnéd használni a lekötést / feloldást?")
if select("Igen","Nem") == 1 then
say("Most adja meg a jelszavát.")
say("Kérjük, ne feledje, csak számokat!")
local pw = tonumber(input())
if pw == nil then say("Ez a jelszó érvénytelen.") return end
say("Kérem, adja meg a jelszavát és")
say("azonnal készül a mentés az itemről.")
say_reward("A jelszavad : "..pw)
say("")
pc.setqf("block_items_register" , 1)
pc.setqf("block_items_pw" , pw)
end
return
end

say("Üdvözöllek "..pc.get_name())
say("Kérjük, írja be a jelszót.")
local a = select("Jelszó megadása ", "Elfelejtett jelszó ", "Kilépés ")
if a == 1 then
say("Jelszó megadása.")
local pw = tonumber(input())
if pw == nil then say("Ez a jelszó érvénytelen.") return end
if pw != pc.getqf("block_items_pw") then say("Ez a jelszó nem megfelelő. ") return end
say("A jelszó érvényes.")
wait()
local estado
if pc.getqf("block_items_active") == 1 then
estado = "Feloldás"
else
estado = "Lekötés"
end
say("Üdvözöljük a beállítás menüben: "..pc.get_name())
say("Rendszer : "..estado)
say("Mit szeretnél csinálni?")
local s = select("Item lekötése", "Item feloldása", "Jelszó változtatás", "Kilépés")
if s == 1 then
if pc.getqf("block_items_active") == 1 then say("Az item lekötés aktiválva.") return end
cmdchat("ManagerBlockItems BlockItems|")
say("Item lekötve.")
pc.setqf("block_items_active", 1)
elseif s == 2 then
if pc.getqf("block_items_active") == 0 then say("Az item lekötés feloldva.") return end
cmdchat("ManagerBlockItems UnBlockItems|")
say("Item feloldva.")
pc.setqf("block_items_active", 0)
elseif s == 3 then
say("Tehát megszeretnéd változtatni a jelszavad...")
say("Adja meg a jelszavát.")
local pw = tonumber(input())
if pw == nil then say("Ez a jelszó érvénytelen.") return end
if pw == pc.getqf("block_items_pw") then say("A jelszó nem lehet azonos.") return end
say("Sikeresen megváltoztattad a jelszavad.")
say_reward("A jelszó : "..pw)
pc.setqf("block_items_pw" , pw)
end

elseif a == 2 then
--[[
say("Hogyan szeretné visszaállítani a jelszót?")
local c = select("E-mail", "Titkos válasz", "Kilépés")
if c == 1 then
--]]
local email = mysql_query("SELECT email from account.account where id = "..pc.get_account_id()..";")[1][1]
say("A jelszó visszaállításához érvényes")
say("e-mail címet kell megadni.")
say("")
say("")
local mail = input()
if mail != email then say("Az e-mail cím rossz.") return end
local new = number(10000, 99999)
say("A jelszó : "..new)
say("Kérjük jegyezze meg a jelszót.")
pc.setqf("block_items_pw" , new)
end
end
end
end