Hier hast du ein funktionales system.
Beiträge von Dex
-
-
hast du auch die npclist.txt in der root richtig eigerichtet ?
-
..SRC.. hat mir vor euren letzten Antworten bereits geholfen und per pn gesagt das das ist was ich suche hatte ihm ne pn geschrieben
Alles gut Thema geklärt
Bitte melden Sie sich an, um dieses Bild zu sehen.
-
der Link ist down
2sec googeln und hättest den gefunden....
Bitte melden Sie sich an, um diesen Link zu sehen.
-
Hat jemand das Rüstungpaket und würde es zum Download freigeben?
Bitte melden Sie sich an, um diesen Link zu sehen.
Bitte melden Sie sich an, um diesen Link zu sehen.
-
-
Hilft es dir wenn ich sie einmal reinschicke?
Python- import player
- import exchange
- import net
- import localeInfo
- import chat
- import item
- import ui
- import mouseModule
- import uiPickMoney
- import wndMgr
- ###################################################################################################
- ## Exchange
- class ExchangeDialog(ui.ScriptWindow):
- def __init__(self):
- ui.ScriptWindow.__init__(self)
- self.TitleName = 0
- self.tooltipItem = 0
- self.xStart = 0
- self.yStart = 0
- def __del__(self):
- ui.ScriptWindow.__del__(self)
- def LoadDialog(self):
- PythonScriptLoader = ui.PythonScriptLoader()
- PythonScriptLoader.LoadScriptFile(self, "UIScript/exchangedialog.py")
- ## Owner
- self.OwnerSlot = self.GetChild("Owner_Slot")
- self.OwnerSlot.SetSelectEmptySlotEvent(ui.__mem_func__(self.SelectOwnerEmptySlot))
- self.OwnerSlot.SetSelectItemSlotEvent(ui.__mem_func__(self.SelectOwnerItemSlot))
- self.OwnerSlot.SetOverInItemEvent(ui.__mem_func__(self.OverInOwnerItem))
- self.OwnerSlot.SetOverOutItemEvent(ui.__mem_func__(self.OverOutItem))
- self.OwnerMoney = self.GetChild("Owner_Money_Value")
- self.OwnerAcceptLight = self.GetChild("Owner_Accept_Light")
- self.OwnerAcceptLight.Disable()
- self.OwnerMoneyButton = self.GetChild("Owner_Money")
- self.OwnerMoneyButton.SetEvent(ui.__mem_func__(self.OpenPickMoneyDialog))
- ## Target
- self.TargetSlot = self.GetChild("Target_Slot")
- self.TargetSlot.SetOverInItemEvent(ui.__mem_func__(self.OverInTargetItem))
- self.TargetSlot.SetOverOutItemEvent(ui.__mem_func__(self.OverOutItem))
- self.TargetMoney = self.GetChild("Target_Money_Value")
- self.TargetAcceptLight = self.GetChild("Target_Accept_Light")
- self.TargetAcceptLight.Disable()
- ## PickMoneyDialog
- dlgPickMoney = uiPickMoney.PickMoneyDialog()
- dlgPickMoney.LoadDialog()
- dlgPickMoney.SetAcceptEvent(ui.__mem_func__(self.OnPickMoney))
- dlgPickMoney.SetTitleName(localeInfo.EXCHANGE_MONEY)
- dlgPickMoney.SetMax(13)
- dlgPickMoney.Hide()
- self.dlgPickMoney = dlgPickMoney
- ## Button
- self.AcceptButton = self.GetChild("Owner_Accept_Button")
- self.AcceptButton.SetToggleDownEvent(ui.__mem_func__(self.AcceptExchange))
- self.TitleName = self.GetChild("TitleName")
- self.GetChild("TitleBar").SetCloseEvent(net.SendExchangeExitPacket)
- def Destroy(self):
- print "---------------------------------------------------------------------------- DESTROY EXCHANGE"
- self.ClearDictionary()
- self.dlgPickMoney.Destroy()
- self.dlgPickMoney = 0
- self.OwnerSlot = 0
- self.OwnerMoney = 0
- self.OwnerAcceptLight = 0
- self.OwnerMoneyButton = 0
- self.TargetSlot = 0
- self.TargetMoney = 0
- self.TargetAcceptLight = 0
- self.TitleName = 0
- self.AcceptButton = 0
- self.tooltipItem = 0
- def OpenDialog(self):
- self.TitleName.SetText(localeInfo.EXCHANGE_TITLE % (exchange.GetNameFromTarget()))
- self.AcceptButton.Enable()
- self.AcceptButton.SetUp()
- self.Show()
- (self.xStart, self.yStart, z) = player.GetMainCharacterPosition()
- def CloseDialog(self):
- wndMgr.OnceIgnoreMouseLeftButtonUpEvent()
- if 0 != self.tooltipItem:
- self.tooltipItem.HideToolTip()
- self.dlgPickMoney.Close()
- self.Hide()
- def SetItemToolTip(self, tooltipItem):
- self.tooltipItem = tooltipItem
- def OpenPickMoneyDialog(self):
- if exchange.GetElkFromSelf() > 0:
- chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.EXCHANGE_CANT_EDIT_MONEY)
- return
- self.dlgPickMoney.Open(player.GetElk())
- def OnPickMoney(self, money):
- net.SendExchangeElkAddPacket(money)
- def AcceptExchange(self):
- net.SendExchangeAcceptPacket()
- self.AcceptButton.Disable()
- def SelectOwnerEmptySlot(self, SlotIndex):
- if FALSE == mouseModule.mouseController.isAttached():
- return
- if mouseModule.mouseController.IsAttachedMoney():
- net.SendExchangeElkAddPacket(mouseModule.mouseController.GetAttachedMoneyAmount())
- else:
- attachedSlotType = mouseModule.mouseController.GetAttachedType()
- if (player.SLOT_TYPE_INVENTORY == attachedSlotType
- or player.SLOT_TYPE_DRAGON_SOUL_INVENTORY == attachedSlotType):
- attachedInvenType = player.SlotTypeToInvenType(attachedSlotType)
- SrcSlotNumber = mouseModule.mouseController.GetAttachedSlotNumber()
- DstSlotNumber = SlotIndex
- itemID = player.GetItemIndex(attachedInvenType, SrcSlotNumber)
- item.SelectItem(itemID)
- if item.IsAntiFlag(item.ANTIFLAG_GIVE):
- chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.EXCHANGE_CANNOT_GIVE)
- mouseModule.mouseController.DeattachObject()
- return
- net.SendExchangeItemAddPacket(attachedInvenType, SrcSlotNumber, DstSlotNumber)
- mouseModule.mouseController.DeattachObject()
- def SelectOwnerItemSlot(self, SlotIndex):
- if player.ITEM_MONEY == mouseModule.mouseController.GetAttachedItemIndex():
- money = mouseModule.mouseController.GetAttachedItemCount()
- net.SendExchangeElkAddPacket(money)
- def RefreshOwnerSlot(self):
- for i in xrange(exchange.EXCHANGE_ITEM_MAX_NUM):
- itemIndex = exchange.GetItemVnumFromSelf(i)
- itemCount = exchange.GetItemCountFromSelf(i)
- if 1 == itemCount:
- itemCount = 0
- self.OwnerSlot.SetItemSlot(i, itemIndex, itemCount)
- self.OwnerSlot.RefreshSlot()
- def RefreshTargetSlot(self):
- for i in xrange(exchange.EXCHANGE_ITEM_MAX_NUM):
- itemIndex = exchange.GetItemVnumFromTarget(i)
- itemCount = exchange.GetItemCountFromTarget(i)
- if 1 == itemCount:
- itemCount = 0
- self.TargetSlot.SetItemSlot(i, itemIndex, itemCount)
- self.TargetSlot.RefreshSlot()
- def Refresh(self):
- self.RefreshOwnerSlot()
- self.RefreshTargetSlot()
- self.OwnerMoney.SetText(str(exchange.GetElkFromSelf()))
- self.TargetMoney.SetText(str(exchange.GetElkFromTarget()))
- if TRUE == exchange.GetAcceptFromSelf():
- self.OwnerAcceptLight.Down()
- else:
- self.AcceptButton.Enable()
- self.AcceptButton.SetUp()
- self.OwnerAcceptLight.SetUp()
- if TRUE == exchange.GetAcceptFromTarget():
- self.TargetAcceptLight.Down()
- else:
- self.TargetAcceptLight.SetUp()
- def OverInOwnerItem(self, slotIndex):
- if 0 != self.tooltipItem:
- self.tooltipItem.SetExchangeOwnerItem(slotIndex)
- def OverInTargetItem(self, slotIndex):
- if 0 != self.tooltipItem:
- self.tooltipItem.SetExchangeTargetItem(slotIndex)
- def OverOutItem(self):
- if 0 != self.tooltipItem:
- self.tooltipItem.HideToolTip()
- def OnTop(self):
- self.tooltipItem.SetTop()
- def OnUpdate(self):
- USE_EXCHANGE_LIMIT_RANGE = 1000
- (x, y, z) = player.GetMainCharacterPosition()
- if abs(x - self.xStart) > USE_EXCHANGE_LIMIT_RANGE or abs(y - self.yStart) > USE_EXCHANGE_LIMIT_RANGE:
- (self.xStart, self.yStart, z) = player.GetMainCharacterPosition()
- net.SendExchangeExitPacket()
das ist die uiexchange.py shopEx ist im src
-
shopEx verkackt wahrscheinlich
-
Ich mach hier mal den anfang, das Gildenlager von Tirez:
[[Versteckter Inhalt]]Was fixed wurde? Items verschwinden nichtmehr & alles funkt soweit clean und perfekt.
Vergisst nicht in mousemodule.py
nach Type == player.SLOT_TYPE_SAFEBOX or\
suchen
und darunter einfügen
Type == player.SLOT_TYPE_GUILD_SAFEBOX or\
Auch wenn in dieser Szene definitiv einige Menschen vorhanden sind die diese Art von Hilfe nicht verdient haben, sind genauso welche da die es verdienen.
Viel Spaß beim nutzen. Das System ist momentan auf meinem Beta Server und wird nach Bugs / Exploits etc getestet.
Was die momentane ToDo ist:
- eine Art Log, wenn Geld oder Items genommen/eingelagert werden
- Das Yang auszahlen fixen, der Python Code funktioniert nicht, mehr sollte da auch nicht sein. (Einzahlen funkt in dem ihr das Yang ins Slot attached)
- Rechte (Wie bei Prof. Ente's Gildenlager)
- ANTI_GUILDSAFEBOX (für item_proto)
Bitte melden Sie sich an, um diesen Link zu sehen.
Edit: an dieser Stelle danke für Lead der mir jedesmal wenn ich nach Hilfe gefragt habe, geholfen hat.
1. Das Gildenlager ist nicht von tirez sondern von desty
2. Yang ein-/auszahlen funktioniert nur ist blöd gemacht gelöst ergo braucht man nichts fixen sondern umbauen
-
Jo du kannst "einfach" den part aus der root und der uiscript in das extra Lager integrieren. Oder du callst die Klasse und musst nur die uiscript anpassen
ich habe ja dies bereits integriert, aber wenn ich ja das normale Lager öffne, öffnet sich ja ein neues window...
-
Also ein Tab im extra Lager mit dem normalen lager ?
genau als Unterkategorie, diese soll sich aber darin öffnen und nicht in einem extra window
-
Servus,
was gäbe es denn für Möglichkeiten das normale Lager ins Extra Lager zu öffnen ohne ein neues Fenster des Lagers zu öffnen? Da das normale Lager ja Account gebunden ist und das andere nicht.
.Dex -
Wieso wird eine Kopie eine Enttaeuschung?
Musst dich nur genau informieren und dann 1zu1 so umsetzen.Ein Gildenlager in C++ und es veroeffentlichen.
Zum Thema BWL:
Es schadet halt nicht es zu Wissen. In einer Ausbildung kommst du auch nicht um BWL drum herum.
Desty's Gildenlager funktioniert doch perfekt und ist full C++ auf epvp
-
Hat noch jemand den Link?
-
Bitte melden Sie sich an, um diesen Link zu sehen.
so sah das mal früher aus alles
also grob etc
PSD: Bitte melden Sie sich an, um diesen Link zu sehen.
Bitte melden Sie sich an, um diesen Link zu sehen.
Hast du zufälligerweise auch die dazu gehörige Effekte der Skills?
-
Die ersten Videos mit P Skills stammen zumindest aus dem Jahre 2009. 2008 wurde, sofern ich mich noch richtig erinnere, nur bis G10 geskillt. Evtl. kann das einer noch bestätigen, der zu der Zeit ebenfalls schon aktiv war.
Ich bin mir eig auch recht sicher das ich keinen mit p skills damals gesehen hatte auch wenn ich nicht so arg lange m2 damals gespielt hatte
Ich hab die psd bzw die original grafik dazu da code technisch ist das nur python und halt playersettingsmodule das meiste sowie char_skill.cpp
Bin in so 2h daheim können uns dass dann anglubschen
Es wäre cool wenn du die Grafiken mit der Community austauschen würdest, falls du die oben genannten ausm Bild meinst
-
Bitte melden Sie sich an, um dieses Bild zu sehen.
-
Alle die es schaffen irgendwelche 0185 Files aufzusetzen:
Bitte melden Sie sich an, um dieses Bild zu sehen.
-
Bitte melden Sie sich an, um dieses Bild zu sehen.
-
Bitte melden Sie sich an, um dieses Bild zu sehen.
Bitte melden Sie sich an, um dieses Bild zu sehen.