Beiträge von flightm0de
-
-
WIe kann man aus dem Serversrc heraus nur eine bestimmte Anzahl Items vom Spieler "wegnehmen" ?
Wichtig ist hierbei wirklich nur eine festgelegte Summe und nicht zwingend alles von diesem Item zu löschen. -
Habe mir dieses System verbaut:
Bitte melden Sie sich an, um diesen Link zu sehen.Im Prinzip läufts, jedoch immer wenn ich Items aufhebe gehen die auf denselben Slot und überschreiben das vorherige Item.
Nach einem Serverneustart liegen die ganzen überschriebenen Items dann im normalen Inventar.
Also hab ich mir die entsprechende Funktion im Server Source angeschaut und dabei bemerkt, dass die entsprechenden Funktionen
"GetEmptyStoneInventory" (und auch alle anderen) aus der char_item.cpp immer den Startwert von i liefern, obwohl der angegeben
Endwert weitaus höher ist.
Hat da jemand ne Ahnung wie man das ganze beheben kann ?Die "size" Parameter der ganzen GetEmpty... Funktionen sowie der IsEmptyGrid hab ich bereits alle auf WORD angepasst was jedoch
nicht gebracht hat.
Bitte melden Sie sich an, um diesen Anhang zu sehen.Bitte melden Sie sich an, um diesen Anhang zu sehen.
-
Ist der von dracarys nicht der, der auch auf Aeldra war ?😄
Also der für ca 1.6k€
Nur weil jemand das Design klaut, ihn 1:1 nachmacht und 1600€ dafür verlangt, heißt es nicht das Qualität dahinter steckt.
Und nein dracarys code wurde und wird auf aeldra niemals verbaut werden.
kind regards,
cream.
Woher hast du deine Informationen ?
Jetzt ohne irgendwen zu verteidigen: Das wär schon komisch, denn 99% der Systeme auf Aeldra gibts halt im Shop von Dracarys. Zu behaupten die wären alle gerippt/nachgemacht halte ich für ne Lüge -
Ist der von dracarys nicht der, der auch auf Aeldra war ?😄
Also der für ca 1.6k€
-
Topic sagt alles, hat jemand ne Ahnung wie man das ganze fixen, bzw debuggen kann ?
Die Errorlogs der Channel/DB geben keine wirkliche Hilfe.
Bestehende Chars können sich jedoch problemlos einloggen..
-
Wie bzw. wo kann ich eine Funktion im Src einfügen die beim Login die lokal ausgewählte Sprache des Clients an den Server übermittelt und entsprechend eine Funktion im Serversrc die es ermöglicht den Inhalt dieser abzufragen.
Also ein Packet welches einfach beispielsweise DE, EN, TR usw. enthält.
Hintergrund ist, dass im Martysource ja aktuell clientseitig ein ML-System verbaut ist, serverseitig jedoch nur die basic-translations ohne den entsprechenden Code.
Hat da jemand ne Idee/Lösung dazu ? Dürfte ja eig. nicht viel sein
-
Hab ich, ich hab des special inventory von sanii. Habe mir sagen lassen es könnte damit zusammenhängen. Bin den code nochmal durchgegeangen (den guide von m2dev und den code vom special inv system). Finde nichts irgendwie. Bei sanii sehe ich nicht warum es die stack size beeinflussen sollte, beim code vom guide ists 1:1 übernommen ohne syserr etc. Ganz komisch
welche files benutzt du ?
Edit:
Bei den Martyfiles ist das Erhöhen des Stacklimits "teilweise" implementiert, jedoch nicht ganz.
An manchen Stellen muss man dementsprechend die hinterlegte Variable aus der Config durch das neu erstellte Limit aus dem Tutorial ersetzen was bei dem System nicht erwähnt wird.Läuft jetzt bei ihm
-
Technisch gesehen funktionierts, man kann items kaufen usw. Nur werden alle restlichen Slots wo keine Items hinterlegt sind mit Items
der Vnum -29368 gefüllt..
Syserr spuckt auch nur "Cannot find item by -29368"
Die syserr der jeweiligen Channel spuckt diesbezüglich keine Fehler.
Jemand ne Idee ? 😅
Bitte melden Sie sich an, um diesen Anhang zu sehen.
Scheint ein tooltip fehler zu sein
Bins grad nochmal drüber gegangen und konnte kein Einbau-Fehler feststellen..
-
Technisch gesehen funktionierts, man kann items kaufen usw. Nur werden alle restlichen Slots wo keine Items hinterlegt sind mit Items
der Vnum -29368 gefüllt..
Syserr spuckt auch nur "Cannot find item by -29368"
Die syserr der jeweiligen Channel spuckt diesbezüglich keine Fehler.
Jemand ne Idee ? 😅
Bitte melden Sie sich an, um diesen Anhang zu sehen.
-
Irgendwer hat doch mal das genannte System verkauft, gibts denjenigen noch bzw. wird das noch verkauft von irgendwem ?
-
Da ich grad auf Google nichts dazu finden konnte, hab ich es schnell selbst gemacht und dachte ich teile die Info hier mal
-
Fehler besteht immernoch, du hast ja auch nur die 2 Zeilen reinkopiert die ich direkt darunter auskommentiert hab
-
Im Anhang ist die neue uiinventory. Btw wenn ich so ein Kebab Code sehe, rate ich dir dringend von so ein System ab. Oder optimiere den Code
Bitte melden Sie sich an, um diesen Link zu sehen.hab ich bei der ahme….py schon gemacht bei mir 😂😜
-
Poste einmal deine ui.py und uiinventory.py
-
Hab soeben das Problem mit den Icons oben rechts gefixt bekommen, jedoch nicht den Bug mit dem Verschieben der Items..
-
Ja, hab den Martysource und da ists direkt integriert.
Das dürft aber nicht der Grund fürs Verschieben der Items sein oder ?
Das kann ich dir nicht sagen. Ich kann dir aber sagen dass ich den Effect gefixt habe weil du den uiinventory Teil anders machen musst. Mein RefreshBagSlotWindow sieht so aus:
Code- def RefreshBagSlotWindow(self):
- getItemVNum=player.GetItemIndex
- getItemCount=player.GetItemCount
- setItemVNum=self.wndItem.SetItemSlot
- for i in xrange(player.INVENTORY_PAGE_SIZE):
- slotNumber = self.__InventoryLocalSlotPosToGlobalSlotPos(i)
- itemCount = getItemCount(slotNumber)
- # itemCount == 0이면 소켓을 비운다.
- if 0 == itemCount:
- self.wndItem.ClearSlot(i)
- continue
- elif 1 == itemCount:
- itemCount = 0
- itemVnum = getItemVNum(slotNumber)
- setItemVNum(i, itemVnum, itemCount)
- ## 자동물약 (HP: #72723 ~ #72726, SP: #72727 ~ #72730) 특수처리 - 아이템인데도 슬롯에 활성화/비활성화 표시를 위한 작업임 - [hyo]
- if constInfo.IS_AUTO_POTION(itemVnum):
- # metinSocket - [0] : 활성화 여부, [1] : 사용한 양, [2] : 최대 용량
- metinSocket = [player.GetItemMetinSocket(slotNumber, j) for j in xrange(player.METIN_SOCKET_MAX_NUM)]
- if slotNumber >= player.INVENTORY_PAGE_SIZE*self.inventoryPageIndex:
- slotNumber -= player.INVENTORY_PAGE_SIZE*self.inventoryPageIndex
- isActivated = 0 != metinSocket[0]
- if isActivated:
- self.wndItem.ActivateSlot(slotNumber)
- potionType = 0;
- if constInfo.IS_AUTO_POTION_HP(itemVnum):
- potionType = player.AUTO_POTION_TYPE_HP
- elif constInfo.IS_AUTO_POTION_SP(itemVnum):
- potionType = player.AUTO_POTION_TYPE_SP
- usedAmount = int(metinSocket[1])
- totalAmount = int(metinSocket[2])
- player.SetAutoPotionInfo(potionType, isActivated, (totalAmount - usedAmount), totalAmount, self.__InventoryLocalSlotPosToGlobalSlotPos(i))
- else:
- self.wndItem.DeactivateSlot(slotNumber)
- if app.ENABLE_SASH_SYSTEM:
- slotNumberChecked = 0
- if not constInfo.IS_AUTO_POTION(itemVnum):
- # if app.ENABLE_HIGHLIGHT_SYSTEM:
- # if not slotNumber in self.listHighlightedSlot:
- # self.wndItem.DeactivateSlot(i)
- # else:
- self.wndItem.DeactivateSlot(i)
- for j in xrange(sash.WINDOW_MAX_MATERIALS):
- (isHere, iCell) = sash.GetAttachedItem(j)
- if isHere:
- if iCell == slotNumber:
- self.wndItem.ActivateSlot(i, (36.00 / 255.0), (222.00 / 255.0), (3.00 / 255.0), 1.0)
- if not slotNumber in self.listAttachedSashs:
- self.listAttachedSashs.append(slotNumber)
- slotNumberChecked = 1
- else:
- if slotNumber in self.listAttachedSashs and not slotNumberChecked:
- self.wndItem.DeactivateSlot(i)
- self.listAttachedSashs.remove(slotNumber)
- if app.ENABLE_NEW_TYPE_OF_POTION:
- if constInfo.IS_NEW_SPEED_POTION(itemVnum):
- metinSocket = [player.GetItemMetinSocket(slotNumber, j) for j in xrange(player.METIN_SOCKET_MAX_NUM)]
- if slotNumber >= player.INVENTORY_PAGE_SIZE * self.inventoryPageIndex:
- slotNumber -= player.INVENTORY_PAGE_SIZE * self.inventoryPageIndex
- isActivated = 0 != metinSocket[0]
- if isActivated:
- self.wndItem.ActivateSlot(slotNumber)
- else:
- self.wndItem.DeactivateSlot(slotNumber)
- self.wndItem.RefreshSlot()
- if self.wndBelt:
- self.wndBelt.RefreshSlot()
Musst den if app.ENABLE_NEW_TYPE_OF_POTION: Teil einfach am Ende des Sash Teiles setzen
War bei mir tatsächlich schon in derselben Funktion drin, hat also keins der beiden Probleme behoben.
-
Wegen dem Active Effect: Hast du Schulterband verbaut?
Ja, hab den Martysource und da ists direkt integriert.
Das dürft aber nicht der Grund fürs Verschieben der Items sein oder ?
-
Also ich hab das wirklich 1:1 nach dem beigelegten Tutorial eingebaut, bin das ganze mehrfach durchgegangen.
Aktivieren/Deaktivieren geht, zwar haben die Taus kein Icon oben links aber das ist ne andere Geschichte.
Nur lassen sich die neuen Items nur innerhalb der ersten Itemreihe (auf jeder Invetarseite) bewegen.Andere Items lassen sich problemlos bewegen, nur die Perma-Buffitems nicht wie man im Video sehen kann.
Ebenso fehlt der "aktiv"-Effekt wie bei neu aufgehobenen Items gänzlich.Syserr spuckt auch nichts Sinnvolles raus.. gibts hier evtl. jemanden der ne Idee hat oder mal drüberschauen könnte ?
Bitte melden Sie sich an, um diesen Link zu sehen.
Im Anhang ist das besagte System, welches aus einem Sammelthread hier im Forum habe. -
Prinzipiell läuft der Server mit den Protos, sobald ich jedoch neue Inhalte hinzufüge
und diese packe (was sich auch fehlerfrei packen lässt) bringt der Server nachm Hochfahren nur "connection refused"..
Jemand vllt. ne Idee ? Hab nichts am Encoding der Textdateien geändert, sobald ich nur neue Inhalte einpaste
will er mit der neuen Proto einfach nicht hochfahren