Register for your free account! | Forgot your password?

Go Back   elitepvpers > Popular Games > Metin2 > Metin2 Private Server > Metin2 PServer Guides & Strategies
You last visited: Today at 09:11

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[Mini-RLS][C++] Switcher / Adder / Refine Scroll stackable

Discussion on [Mini-RLS][C++] Switcher / Adder / Refine Scroll stackable within the Metin2 PServer Guides & Strategies forum part of the Metin2 Private Server category.

Reply
 
Old   #1
 
iPeri /..'s Avatar
 
elite*gold: 2
Join Date: Jun 2015
Posts: 352
Received Thanks: 422
[Mini-RLS][C++] Switcher / Adder stackable

Hi Leute,

ich denke mal, dass der Titel beschreibt, was dieses Mini-Release macht!

Ihr geht in die char_item.cpp

Sucht nach:
Code:
					case USE_PUT_INTO_BELT_SOCKET:
					case USE_PUT_INTO_RING_SOCKET:
					case USE_PUT_INTO_ACCESSORY_SOCKET:
					case USE_ADD_ACCESSORY_SOCKET:
					case USE_CLEAN_SOCKET:
					case USE_CHANGE_ATTRIBUTE:
					case USE_CHANGE_ATTRIBUTE2 :
					case USE_ADD_ATTRIBUTE:
					case USE_ADD_ATTRIBUTE2:
						{
							LPITEM item2;
							if (!IsValidItemPosition(DestCell) || !(item2 = GetItem(DestCell)))
								return false;
Und fügt darunter:
Code:
							if (item->GetVnum() == item2->GetVnum())
							{
								int d = item->GetCount();
								if ((item->GetCount() + item2->GetCount()) > 200)
									d = 200 - item2->GetCount();
								item2->SetCount(item2->GetCount() + d);
								item->SetCount(item->GetCount() - d);
								return false;
							}

Andere Methode von rollback:
Quote:
Originally Posted by rollback View Post
Code:
int add = MIN(200 - item->GetCount(), item2->GetCount());

item->SetCount(item->GetCount() + add);
item2->SetCount(item2->GetCount() - add);
iPeri /.. is offline  
Thanks
1 User
Old 12/07/2016, 11:18   #2


 
Benhero's Avatar
 
elite*gold: 964
Join Date: Mar 2008
Posts: 2,634
Received Thanks: 1,637
Und wenn man auf einen Stack mit 199 Stück 50 stück draufzieht ?
Der zweite wird gelöscht und der erste denke ich wird auf das Limit von 200 gesetzt.

Also wäre eine zweite Abfrage bzw eine for schleife nicht schlecht um ggf. einen Zweiten stack zu erstellen oder dem zweiten Stack nur soviel abzuziehen bis das Limit erreicht ist.

Code dafür: (aus dem Kopf geschrieben)
Code:
int difference = pkItemScroll->GetCount();
if ((item.GetCount() + pkItemScroll->GetCount()) > 200)
	diffence = 200 - item.getCount()
item->SetCount(item->GetCount() + diffence);
pkItemScroll->SetCount(pkItemScroll->GetCount() - diffence);
return false;
Grüße
Benhero is offline  
Thanks
1 User
Old 12/07/2016, 11:39   #3
 
iPeri /..'s Avatar
 
elite*gold: 2
Join Date: Jun 2015
Posts: 352
Received Thanks: 422
Quote:
Originally Posted by Benhero View Post
Und wenn man auf einen Stack mit 199 Stück 50 stück draufzieht ?
Der zweite wird gelöscht und der erste denke ich wird auf das Limit von 200 gesetzt.

Also wäre eine zweite Abfrage bzw eine for schleife nicht schlecht um ggf. einen Zweiten stack zu erstellen oder dem zweiten Stack nur soviel abzuziehen bis das Limit erreicht ist.

Code dafür: (aus dem Kopf geschrieben)
Code:
int difference = pkItemScroll->GetCount();
if ((item.GetCount() + pkItemScroll->GetCount()) > 200)
	diffence = 200 - item.getCount()
item->SetCount(item->GetCount() + diffence);
pkItemScroll->SetCount(pkItemScroll->GetCount() - diffence);
return false;
Grüße
Stimmt, das habe ich aus dem Auge gelassen!
War auch eigentlich nur testweise

Werde es nachfügen!
iPeri /.. is offline  
Old 12/07/2016, 12:53   #4


 
Benhero's Avatar
 
elite*gold: 964
Join Date: Mar 2008
Posts: 2,634
Received Thanks: 1,637
Die Abfrage muss heißen > 200 nicht >= 200

Grüße
Benhero is offline  
Old 12/07/2016, 12:59   #5
 
iPeri /..'s Avatar
 
elite*gold: 2
Join Date: Jun 2015
Posts: 352
Received Thanks: 422
Quote:
Originally Posted by Benhero View Post
Die Abfrage muss heißen > 200 nicht >= 200

Grüße
Habe ich beim Testen auch gemerkt Mathematik ist nicht unbedingt die Stärke
iPeri /.. is offline  
Old 12/07/2016, 17:49   #6

 
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
Code:
int add = MIN(200 - item->GetCount(), item2->GetCount());

item->SetCount(item->GetCount() + add);
item2->SetCount(item2->GetCount() - add);
und anstatt 200 die globale Variable für die Stackgröße nutzen, die gibt es ja irgendwie soweit ich weiß.
rollback is offline  
Thanks
2 Users
Old 12/07/2016, 19:45   #7
 
elite*gold: 0
The Black Market: 105/0/0
Join Date: May 2016
Posts: 8,679
Received Thanks: 1,638
Guter Release

Danke
悪地城 is offline  
Old 12/07/2016, 23:42   #8
 
Yiv's Avatar
 
elite*gold: 47
Join Date: Feb 2012
Posts: 2,282
Received Thanks: 2,579
Quote:
Originally Posted by rollback View Post
Code:
int add = MIN(200 - item->GetCount(), item2->GetCount());

item->SetCount(item->GetCount() + add);
item2->SetCount(item2->GetCount() - add);
und anstatt 200 die globale Variable für die Stackgröße nutzen, die gibt es ja irgendwie soweit ich weiß.
Gute Lösung, keine Ahnung was ihr da sonst macht, aber so ist es das einfachste...

MfG
Yiv is offline  
Thanks
1 User
Old 12/07/2016, 23:43   #9
 
DasSchwarzeT's Avatar
 
elite*gold: 399
Join Date: Sep 2011
Posts: 5,323
Received Thanks: 3,937
Quote:
Originally Posted by Yiv View Post
Gute Lösung, keine Ahnung was ihr da sonst macht, aber so ist es das einfachste...

MfG
Ich finde man sollte nochmal betonen, dass Sens äh rollback das viel schöner gemacht hat
DasSchwarzeT is offline  
Thanks
2 Users
Old 12/08/2016, 00:23   #10
 
iPeri /..'s Avatar
 
elite*gold: 2
Join Date: Jun 2015
Posts: 352
Received Thanks: 422
Quote:
Originally Posted by rollback View Post
Code:
int add = MIN(200 - item->GetCount(), item2->GetCount());

item->SetCount(item->GetCount() + add);
item2->SetCount(item2->GetCount() - add);
und anstatt 200 die globale Variable für die Stackgröße nutzen, die gibt es ja irgendwie soweit ich weiß.
Danke für deine kleine Verbesserung, an sich ist es ja egal, beide Varianten funktionieren.
iPeri /.. is offline  
Old 12/08/2016, 01:11   #11
 
Yiv's Avatar
 
elite*gold: 47
Join Date: Feb 2012
Posts: 2,282
Received Thanks: 2,579
Quote:
Originally Posted by 'iPeri View Post
Danke für deine kleine Verbesserung, an sich ist es ja egal, beide Varianten funktionieren.
Richtig, beide Varianten funktionieren, egal ist es trzdm. nicht. Ohne dich angreifen zu wollen: Der Code von Rollback ist qualitativer, das ist der große und entscheidende Unterschied, den es zwischen Programmierern gibt. Normalerweise produziert jeder funktionierenden Code, aber der eine qualitativ hochwertigen Code und beim anderen läuft es halt.
Ich möchte dich damit nicht persönlich angreifen oder sonst etwas, Rollback hat ja auch nur einen Verbesserungsvorschlag gepostet. Durch Verbesserungsvorschläge lernt man und du solltest einfach ein wenig üben und dich informieren, wie man qualitativ entwickelt.

MfG
Yiv is offline  
Thanks
2 Users
Old 12/08/2016, 10:52   #12
 
iPeri /..'s Avatar
 
elite*gold: 2
Join Date: Jun 2015
Posts: 352
Received Thanks: 422
Quote:
Originally Posted by Yiv View Post
Richtig, beide Varianten funktionieren, egal ist es trzdm. nicht. Ohne dich angreifen zu wollen: Der Code von Rollback ist qualitativer, das ist der große und entscheidende Unterschied, den es zwischen Programmierern gibt. Normalerweise produziert jeder funktionierenden Code, aber der eine qualitativ hochwertigen Code und beim anderen läuft es halt.
Ich möchte dich damit nicht persönlich angreifen oder sonst etwas, Rollback hat ja auch nur einen Verbesserungsvorschlag gepostet. Durch Verbesserungsvorschläge lernt man und du solltest einfach ein wenig üben und dich informieren, wie man qualitativ entwickelt.

MfG
C++ ist bisher nicht meine Stärke, dort bin ich auch noch in der Lernphase und kannte die Funktion von Rollback nicht...
Ich finde es ja gut Verbesserungsvorschläge zu bekommen, damit ich dies für meinen eigenen Coding-Stil übernehmen kann.

Angegriffen fühle ich mich keinesfall, da ich halt noch Anfänger in dieser Programmiersprache bin und auch gerne immer neue Ideen und Lösungswege für meine Methoden lernen möchte.

Von der Funktionalität ist es klar, dass es beides geht, jedoch weiß ich auch, dass mein Coding-Stil nicht immer der schönste ist.
iPeri /.. is offline  
Thanks
2 Users
Reply


Similar Threads Similar Threads
Unknown refine scroll item
04/17/2015 - Metin2 Private Server - 3 Replies
I have done some search in goggle and found solution for this that Item Magic Stone" I have to change in Database Field name Value0 with value "from 0 to 1". But even after changing values. I am getting this error if some player is upgrading. Syserr: DoRefineWithScroll: REFINE : Unknown refine scroll item. Value0: 1
Unknown Refine Scroll [extended error report]
09/10/2014 - Metin2 Private Server - 3 Replies
How can i fix this error? Syserr: DoRefineWithScroll: REFINE : Unknown refine scroll item. Value0: 1 Syslog:
[FIX]DoRefineWithScroll: REFINE : Unknown refine scroll
07/27/2013 - Metin2 PServer Guides & Strategies - 9 Replies
Hi, falls euch der fehler DoRefineWithScroll: REFINE : Unknown refine scroll item in der syserr auf den sack geht habe ich hier eine Lösung für euch wie ihr es fixt. 1. Player Datenbank öffnen 2. refine_proto tabelle öffnen 3. Oben links auf "file" und dann auf "Query Table.." klicken 4. folgendes einfügen und oben auf "Run" klicken UPDATE player.refine_proto SET count0='0' WHERE vnum0='0'; UPDATE player.refine_proto SET count1='0' WHERE vnum1='0'; UPDATE player.refine_proto SET...
vk tarvos switcher/ adder
01/13/2013 - Metin2 Trading - 0 Replies
macht gebote wv switchen/ adden ihr wollt. ist nicht handelbar, sondern aus lehrlingstruhe. ihr seht das dann per teamviewer, obs klappt^^
2089_svn and 6th/7th bonus adder/switcher.
08/26/2011 - Metin2 Private Server - 0 Replies
Hi, I've a server started with 2010/11 ServerFiles and with 2089_svn gamefile. But, I've a problem: I've in the item_proto client and server the 6/7 bonus/add switcher with both right flag and antiflag, but it doesn't work. The bonus won't be changed/added. I need to hex-edit something?



All times are GMT +1. The time now is 09:13.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.