Register for your free account! | Forgot your password?

Go Back   elitepvpers > Popular Games > Metin2 > Metin2 Private Server
You last visited: Today at 12:34

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

Advertisement



[C++/Source] Steine Splitter

Discussion on [C++/Source] Steine Splitter within the Metin2 Private Server forum part of the Metin2 category.

Closed Thread
 
Old   #1
 
elite*gold: 0
Join Date: Oct 2015
Posts: 67
Received Thanks: 13
[C++/Source] Steine Splitter

Hallo,
Dieser Code ist die Funktion für das Item 25100 (Geiststein-Schriftrolle).
Dieses Item entfernt sockets aus einer Waffe/Rüsstung und hinterlässt Splitter.
Kann mir jemand diese Funktion so ändern damit keine Splitter hinterlassen werden sondern clean sockets ?

PHP Code:
        if (bHasMetinStone)
        {
            for (
int i 0ITEM_SOCKET_MAX_NUM; ++i)
            {
                
long socket pkTarget->GetSocket(i);
                if (
socket && socket != ITEM_BROKEN_METIN_VNUM)
                {
                    
AutoGiveItem(socket);
                    
pkTarget->SetSocket(iITEM_BROKEN_METIN_VNUM);
                }
            }
            
pkItem->SetCount(pkItem->GetCount() - 1);
            return 
true;
        }
        else
        {
            
ChatPacket(CHAT_TYPE_INFOLC_TEXT("빼낼 수 있는 메틴석이 없습니다."));
            return 
false;
        } 
PS: Diese Code befindet sich in char_item.cpp
[Flash] is offline  
Old 10/11/2015, 22:57   #2
 
DasSchwarzeT's Avatar
 
elite*gold: 399
Join Date: Sep 2011
Posts: 5,323
Received Thanks: 3,937
Quote:
Originally Posted by [Flash] View Post
Hallo,
Dieser Code ist die Funktion für das Item 25100 (Geiststein-Schriftrolle).
Dieses Item entfernt sockets aus einer Waffe/Rüsstung und hinterlässt Splitter.
Kann mir jemand diese Funktion so ändern damit keine Splitter hinterlassen werden sondern clean sockets ?

PHP Code:
        if (bHasMetinStone)
        {
            for (
int i 0ITEM_SOCKET_MAX_NUM; ++i)
            {
                
long socket pkTarget->GetSocket(i);
                if (
socket && socket != ITEM_BROKEN_METIN_VNUM)
                {
                    
AutoGiveItem(socket);
                    
pkTarget->SetSocket(iITEM_BROKEN_METIN_VNUM);
                }
            }
            
pkItem->SetCount(pkItem->GetCount() - 1);
            return 
true;
        }
        else
        {
            
ChatPacket(CHAT_TYPE_INFOLC_TEXT("빼낼 수 있는 메틴석이 없습니다."));
            return 
false;
        } 
PS: Diese Code befindet sich in char_item.cpp
PHP Code:
        if (bHasMetinStone)
        {
            for (
int i 0ITEM_SOCKET_MAX_NUM; ++i)
            {
                
long socket pkTarget->GetSocket(i);
                if (
socket && socket != ITEM_BROKEN_METIN_VNUM)
                {
                    
AutoGiveItem(socket);
                }
            }
            
pkItem->SetCount(pkItem->GetCount() - 1);
            return 
true;
        }
        else
        {
            
ChatPacket(CHAT_TYPE_INFOLC_TEXT("빼낼 수 있는 메틴석이 없습니다."));
            return 
false;
        } 
DasSchwarzeT is offline  
Thanks
3 Users
Old 10/12/2015, 12:27   #3
 
.Inya's Avatar
 
elite*gold: 50
Join Date: Mar 2013
Posts: 2,401
Received Thanks: 1,613
Quote:
Originally Posted by DasSchwarzeT View Post
PHP Code:
        if (bHasMetinStone)
        {
            for (
int i 0ITEM_SOCKET_MAX_NUM; ++i)
            {
                
long socket pkTarget->GetSocket(i);
                if (
socket && socket != ITEM_BROKEN_METIN_VNUM)
                {
                    
AutoGiveItem(socket);
                }
            }
            
pkItem->SetCount(pkItem->GetCount() - 1);
            return 
true;
        }
        else
        {
            
ChatPacket(CHAT_TYPE_INFOLC_TEXT("빼낼 수 있는 메틴석이 없습니다."));
            return 
false;
        } 
Damit duplizierst du die Steine, sie werden dir ins Inventar gegeben aber nicht aus dem Item entfernt
.Inya is offline  
Thanks
2 Users
Old 10/12/2015, 12:51   #4

 
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
Quote:
Originally Posted by .Inya View Post
Damit duplizierst du die Steine, sie werden dir ins Inventar gegeben aber nicht aus dem Item entfernt
Code:
        if (bHasMetinStone) 
        { 
            for (int i = 0; i < ITEM_SOCKET_MAX_NUM; ++i) 
            { 
                long socket = pkTarget->GetSocket(i); 
                if (socket > 2 && socket != ITEM_BROKEN_METIN_VNUM) 
                { 
                    AutoGiveItem(socket); 
                    pkTarget->SetSocket(i, VNUM_VOM_LEEREN_SOCKET);
                } 
            } 
            pkItem->SetCount(pkItem->GetCount() - 1); 
            return true; 
        } 
        else 
        { 
            ChatPacket(CHAT_TYPE_INFO, LC_TEXT("빼낼 수 있는 메틴석이 없습니다.")); 
            return false; 
        }
rollback is offline  
Thanks
1 User
Old 10/12/2015, 15:58   #5
 
elite*gold: 0
Join Date: Oct 2015
Posts: 67
Received Thanks: 13
Klappt alles nicht. Die Steine sollen aus dem gegenstand entfernt werden und es sollen keine splitter hinterlassen werden. Damit man neue Steine einfügen kann
[Flash] is offline  
Old 10/12/2015, 16:25   #6
 
DasSchwarzeT's Avatar
 
elite*gold: 399
Join Date: Sep 2011
Posts: 5,323
Received Thanks: 3,937
Quote:
Originally Posted by .Inya View Post
Damit duplizierst du die Steine, sie werden dir ins Inventar gegeben aber nicht aus dem Item entfernt
Oh habs falsch verstanden..

PHP Code:
        if (bHasMetinStone)
        {
            for (
int i 0ITEM_SOCKET_MAX_NUM; ++i)
            {
                
long socket pkTarget->GetSocket(i);
                if (
socket && socket != ITEM_BROKEN_METIN_VNUM)
                {
                    
AutoGiveItem(socket);
                    
pkTarget->SetSocket(i0);
                }
            }
            
pkItem->SetCount(pkItem->GetCount() - 1);
            return 
true;
        }
        else
        {
            
ChatPacket(CHAT_TYPE_INFOLC_TEXT("빼낼 수 있는 메틴석이 없습니다."));
            return 
false;
        } 
DasSchwarzeT is offline  
Thanks
1 User
Old 10/12/2015, 16:47   #7

 
Avulsed's Avatar
 
elite*gold: 90
Join Date: Apr 2010
Posts: 1,887
Received Thanks: 1,793
Quote:
Originally Posted by DasSchwarzeT View Post
Oh habs falsch verstanden..

PHP Code:
   if (bHasMetinStone)
        {
            for (
int i 0ITEM_SOCKET_MAX_NUM; ++i)
            {
                
long socket pkTarget->GetSocket(i);
                if (
socket && socket != ITEM_BROKEN_METIN_VNUM)
                {
                    
AutoGiveItem(socket);
                    
pkTarget->SetSocket(i0);
                }
            }
            
pkItem->SetCount(pkItem->GetCount() - 1);
            return 
true;
        }
        else
        {
            
ChatPacket(CHAT_TYPE_INFOLC_TEXT("빼낼 수 있는 메틴석이 없습니다."));
            return 
false;
        } 
Code:
  if (bHasMetinStone)
        {
            for (int i = 0; i < ITEM_SOCKET_MAX_NUM; ++i)
            {
                long socket = pkTarget->GetSocket(i);
                if (socket > 2 && socket != ITEM_BROKEN_METIN_VNUM)
                {
                    AutoGiveItem(socket);
                    pkTarget->SetSocket(i, 1);
                }
            }
            pkItem->SetCount(pkItem->GetCount() - 1);
            return true;
        }
        else
        {
            ChatPacket(CHAT_TYPE_INFO, LC_TEXT("빼낼 수 있는 메틴석이 없습니다."));
            return false;
        }
Wenn du den socket auf 0 setzt ist der Sockel ganz weg, um einen leeren einzufügen musst du ihn auf 1 setzen.
Avulsed is offline  
Thanks
1 User
Old 10/12/2015, 17:17   #8
 
elite*gold: 0
Join Date: Oct 2015
Posts: 67
Received Thanks: 13
Quote:
Originally Posted by Avulsed View Post
Code:
  if (bHasMetinStone)
        {
            for (int i = 0; i < ITEM_SOCKET_MAX_NUM; ++i)
            {
                long socket = pkTarget->GetSocket(i);
                if (socket > 2 && socket != ITEM_BROKEN_METIN_VNUM)
                {
                    AutoGiveItem(socket);
                    pkTarget->SetSocket(i, 1);
                }
            }
            pkItem->SetCount(pkItem->GetCount() - 1);
            return true;
        }
        else
        {
            ChatPacket(CHAT_TYPE_INFO, LC_TEXT("빼낼 수 있는 메틴석이 없습니다."));
            return false;
        }
Wenn du den socket auf 0 setzt ist der Sockel ganz weg, um einen leeren einzufügen musst du ihn auf 1 setzen.
Danke !
Ich hatte genau die selbe Funktion jedoch mit der Zahl 0.
#close
[Flash] is offline  
Closed Thread


Similar Threads Similar Threads
Metin2 Steine Vanile core Steine 100% einfügen
01/29/2015 - Metin2 Private Server - 3 Replies
Hallo Kann man bei der Vanile Core einstellen das die Steine zu 100% klappen ?
[HowTo]Neue Steine / Mehr Steine / Diamanten
01/06/2013 - Metin2 PServer Guides & Strategies - 50 Replies
Abend Elitepvpers, Ja, also ich hatte heute mal nen bissien langeweile und hab dann halt mal paar neue Steine erstellt die ich euch hier zur Verfügung stelle. Erstmal ein paar Bilder: (Auf den Bildern sind alle Steine +9, aber natürlich gibts die auch +0-+8 ;)) ...



All times are GMT +1. The time now is 12:35.


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