Register for your free account! | Forgot your password?

Go Back   elitepvpers > Popular Games > Metin2 > Metin2 Private Server
You last visited: Today at 15:30

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

Advertisement



[SOURCE] Bücher gestapelt lesbar?

Discussion on [SOURCE] Bücher gestapelt lesbar? within the Metin2 Private Server forum part of the Metin2 category.

Closed Thread
 
Old   #1
 
Venessen's Avatar
 
elite*gold: 18
Join Date: Nov 2008
Posts: 1,103
Received Thanks: 611
[SOURCE] Bücher gestapelt lesbar?

Hallo,
Was habe ich in der Source zu ändern, um Fertigkeitsbücher, Sprachbücher etc. gestapelt lesbar zu machen?
Sprich, beim Lesen soll jeweils nur ein Buch verschwinden und nicht der komplette Stack.

Danke.
Venessen is offline  
Old 09/08/2015, 09:28   #2
 
mrapc's Avatar
 
elite*gold: 238
Join Date: Sep 2009
Posts: 2,327
Received Thanks: 1,164
Bist du dir sicher dass das im Source gemacht wird?
Wir haben dafür ne Quest die zählt wie viele man hat und dann entsprechend ließt.
mrapc is offline  
Old 09/08/2015, 10:15   #3

 
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
So müsste es gehen:
Code:
quest fb begin
	state start begin
		when fbvnum.use begin
			local skillVnum = item.get_socket(0)
			local skillLevel = pc.get_skill_level(skillVnum)
			
			if skillLevel >= 40 then
				syschat("Diese Fertigkeit ist bereits auf der höchsten Stufe.")
				return
			elseif skillLevel >= 30 then
				syschat("Um diese Fertigkeit zu steigern benötigst du einen Seelenstein.")
				return
			elseif skillLevel < 20 then
				syschat("Du musst die Fertigkeit meistern, bevor du dieses Buch benutzen kannst.")
				return
			end
			
			local expNeed = 20000
			
			if pc.get_exp() < expNeed then
				syschat("Du benötigst " .. expNeed .. " Erfahrung um dieses Buch zu lesen.")
				return
			end
			
			if pc.getqf("waitTime_" .. skillVnum) > get_time() then
				syschat("Du kannst dieses Buch nur alle 18 Stunden lesen.")
				return
			end
			
			local techLevel = pc.getqf("techLevel_" .. skillVnum)
			local nextTechLevel = skillLevel - techLevel - 20
			
			
			pc.remove_item(item.get_vnum())
			pc.give_exp2(-expNeed)
			pc.setqf("waitTime_" .. skillVnum, get_time() + 60*60*18)
			
			if math.random(100) > 33 then
				syschat("Das Lesen des Buches war nicht erfolgreich ...")
				return
			end
			
			pc.setqf("techLevel_" .. skillVnum, nextTechLevel)
			
			if nextTechLevel == 0 then
				pc.set_skill_level(skillVnum, skillLevel + 1)
				syschat("Die Fertigkeit wurde auf Meisterstufe " .. (skillLevel - 20) .. " erhöht!")
			else
				syschat("Du hast das Buch erfolgreich gelesen, es fehlen noch " .. nextTechLevel .. " weitere, um die Fertigkeit auf die nächste Stufe zu erhöhen.")
			end
		end
	end
end
Allerdings werden Exos / Konzis da nicht berücksichtigt
rollback is offline  
Old 09/08/2015, 10:55   #4
 
Venessen's Avatar
 
elite*gold: 18
Join Date: Nov 2008
Posts: 1,103
Received Thanks: 611
Danke für eure Hilfestellungen,
Für andere Files gibt es ja eine Dif, durch die man FB´s gestapelt lesen kann.
Somit muss es möglich sein dies zu realisieren.
Da ich nun mit Source arbeite, kann ich keine Difs mehr verwenden und möchte es auch ungerne über Quests lösen.
Venessen is offline  
Old 09/08/2015, 11:03   #5

 
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
Die Stelle wo es removed wird durch das hier ersetzen:
Code:
item->SetCount(item->GetCount() - 1);
rollback is offline  
Thanks
1 User
Old 09/08/2015, 11:31   #6
 
elite*gold: 5
Join Date: Mar 2013
Posts: 1,986
Received Thanks: 2,254
char_item.cpp:
PHP Code:
case ITEM_SKILLBOOK
2x
PHP Code:
ITEM_MANAGER::instance().RemoveItem(item); 
->
Quote:
Originally Posted by Seחsi View Post
Code:
item->SetCount(item->GetCount() - 1);
xGr33n is offline  
Thanks
1 User
Old 09/08/2015, 11:47   #7
 
Venessen's Avatar
 
elite*gold: 18
Join Date: Nov 2008
Posts: 1,103
Received Thanks: 611
PHP Code:
case ITEM_SKILLBOOK:
            {
                if (
IsPolymorphed())
                {
                    
ChatPacket(CHAT_TYPE_INFOLC_TEXT("변신중에는 책을 읽을수 없습니다."));
                    return 
false;
                }

                
DWORD dwVnum 0;

                if (
item->GetVnum() == 50300)
                {
                    
dwVnum item->GetSocket(0);
                }
                else
                {
                    
// 새로운 수련서는 value 0 에 스킬 번호가 있으므로 그것을 사용.
                    
dwVnum item->GetValue(0);
                }

                if (
== dwVnum)
                {
                    
item->SetCount(item->GetCount() - 1);
                    return 
false;
                }

                if (
true == LearnSkillByBook(dwVnum))
                {
                    
item->SetCount(item->GetCount() - 1);

                    
int iReadDelay number(SKILLBOOK_DELAY_MINSKILLBOOK_DELAY_MAX);

                    if (
distribution_test_server)
                        
iReadDelay /= 3;

                    
//한국 본섭의 경우에는 시간을 24시간 고정
                    
if (LC_IsKorea())
                        
iReadDelay 86400;

                    
SetSkillNextReadTime(dwVnumget_global_time() + iReadDelay);
                }
            }
            break; 

Dies funktioniert zwar für Fertigkeitsbücher, allerdings nicht mit Buch der Verwandlung, Sprachbuch etc.


#Edit: Habs gefunden, danke an alle
Venessen is offline  
Old 09/08/2015, 12:00   #8
 
elite*gold: 5
Join Date: Mar 2013
Posts: 1,986
Received Thanks: 2,254
Quote:
Originally Posted by Venessen View Post

Dies funktioniert zwar für Fertigkeitsbücher, allerdings nicht mit Buch der Verwandlung, Sprachbuch etc.
char_item.cpp:
PHP Code:
case 50314: case 50315: case 50316
1x
PHP Code:
ITEM_MANAGER::instance().RemoveItem(item); 
->
PHP Code:
item->SetCount(item->GetCount() - 1); 

Wegen Buch der Verwandlung, die restlichen Vnums findest du denke ich selbst, das Prinzip sollte verstanden sein x:
xGr33n is offline  
Thanks
1 User
Old 09/08/2015, 12:02   #9
 
Venessen's Avatar
 
elite*gold: 18
Join Date: Nov 2008
Posts: 1,103
Received Thanks: 611
Jawoll, habe alles gefunden, vielen Dank.
Venessen is offline  
Closed Thread


Similar Threads Similar Threads
Meisterbücher gestapelt lesen Source Fix
11/19/2014 - Metin2 Private Server - 2 Replies
Abend, wollte mal fragen, ob jemand nen Fix für den Source hat, um die Bücher gestapelt lesen zu können. Finde nur Quests bei denen dann die Chance auf 100% ist. Soll alles so bleiben wie es normal festgelegt ist nur eben, dass sie gestapelt lesbar sind.
FB's gestapelt lesen
07/28/2014 - Metin2 Private Server - 6 Replies
Gibt es eine Möglichkeit FB's gestapelt zu lesen, ohne das alle gleich weg gehen? Ich benutze die Daroo files mfg
Seelsenstien Gestapelt Lesbar machen
05/06/2014 - Metin2 Private Server - 6 Replies
Hey, Wollte fragen wie ich es einstelle das man Sellis gestapelt lesbar machen kann MFG: cannibvb
[HILFE]Fbs gestapelt lesbar.
09/08/2012 - Metin2 Private Server - 4 Replies
Hallo epvp com. Weis jemand wie man Fbs und Seelis gestabelt lesen kann ohne das alle verschwinden? z.B. Ich habe 55 Aura Fbs dann drücke ich drauf und alle sind weg.Und der Skill ist nur M2..
Items Gestapelt
10/03/2010 - Metin2 Private Server - 2 Replies
hey leute ich habe gemacht das meine gemischt boni wechseln verkauft und hinzufügen 200 mal wird auch 200 mal angezeigt nur irrgentwie 1 gekauft wieso? O.o



All times are GMT +2. The time now is 15:30.


Powered by vBulletin®
Copyright ©2000 - 2024, 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 ©2024 elitepvpers All Rights Reserved.