elitepvpers

elitepvpers (https://www.elitepvpers.com/forum/)
-   Flyff PServer Guides & Releases (https://www.elitepvpers.com/forum/flyff-pserver-guides-releases/)
-   -   [Release] Items kaufen via Perin (https://www.elitepvpers.com/forum/flyff-pserver-guides-releases/2714555-release-items-kaufen-via-perin.html)

Pumaaa 07/12/2013 02:41

[Release] Items kaufen via Perin
 
Ihr müsst evtl noch die andern TIDs ändern wenn ihr die vernünftigen Texte dazu haben wollt.


Function ProcessRegenItem()

unter

[Only registered and activated users can see links. Click Here To Register...]

Code:

#ifdef __PMA_PERIN_VENDOR
                                else if(pCharacter->m_nVenderType == 3)
                                {
                                        if(pCharacter->m_venderItemAry2[i].GetSize())
                                        {
                                                fShop        = TRUE;
                                                m_ShopInventory[i]->Clear();
                                                for( int j = 0; j < pCharacter->m_venderItemAry2[i].GetSize(); j++ )
                                                {
                                                        pVendor        = (LPVENDOR_ITEM)pCharacter->m_venderItemAry2[i].GetAt(j);
                                                        CItemElem itemElem;
                                                        itemElem.m_dwItemId        = pVendor->m_dwItemId;
                                                        itemElem.m_nItemNum        = (short)( prj.GetItemProp( pVendor->m_dwItemId )->dwPackMax );
                                                        itemElem.m_nHitPoint = prj.GetItemProp( pVendor->m_dwItemId )->dwEndurance;
                                                        if( (int)itemElem.GetChipCost() < 1 )
                                                                Error( "Perin cost < 1 : npc = %s, item = %d", pCharacter->m_szKey, pVendor->m_dwItemId );
                                                        else
                                                                m_ShopInventory[i]->Add( &itemElem );
                                                }
                                        }
                                }
#endif

Function CMover::IsVendorNPC()

bei

[Only registered and activated users can see links. Click Here To Register...]
Code:

#ifdef __PMA_PERIN_VENDOR
 || pCharacter->m_nVenderType == 3
#endif

CDPSrvr::OnBuyChipItem

[Only registered and activated users can see links. Click Here To Register...]
Code:

#ifdef __PMA_PERIN_VENDOR
                if( lpChar && lpChar->m_nVenderType != 1 && lpChar->m_nVenderType != 3 )        // 1 - Ĩ »óÀÎ
                        return;
#else
                if( lpChar && lpChar->m_nVenderType != 1 )        // 1 - Ĩ »óÀÎ
                        return;
#endif

[Only registered and activated users can see links. Click Here To Register...]
Code:

#ifdef __PMA_PERIN_VENDOR
                if( lpChar->m_nVenderType == 3 )
                {
                        if( pUser->m_Inventory.GetAtItemNum( II_SYS_SYS_SCR_PERIN ) < (int)( pItemElem->GetChipCost() * nNum ) )
                        {
                                // Ĩ °³¼ö ºÎÁ· ÅØ½ºÆ® Ãâ·Â
                                pUser->AddDefinedText( TID_GAME_LACKMONEY );
                                return;
                        }
                }
                else
                {
                        if( pUser->m_Inventory.GetAtItemNum( II_CHP_RED ) < (int)( pItemElem->GetChipCost() * nNum ) )
                        {
                                // Ĩ °³¼ö ºÎÁ· ÅØ½ºÆ® Ãâ·Â
                                pUser->AddDefinedText( TID_GAME_LACKCHIP );
                                return;
                        }
                }

#else
                // ¼ÒÁöÇÑ Ä¨ÀÇ °³¼ö°¡ ºÎÁ·ÇÒ ¶§
                if( pUser->m_Inventory.GetAtItemNum( II_CHP_RED ) < (int)( pItemElem->GetChipCost() * nNum ) )
                {
                        // Ĩ °³¼ö ºÎÁ· ÅØ½ºÆ® Ãâ·Â
                        pUser->AddDefinedText( TID_GAME_LACKCHIP );
                        return;
                }
#endif

[Only registered and activated users can see links. Click Here To Register...]
Code:

#ifdef __PMA_PERIN_VENDOR
                        ItemProp* pChipItemProp;
                       
                        lpChar->m_nVenderType > 2 ? pChipItemProp = prj.GetItemProp( II_SYS_SYS_SCR_PERIN ) : pChipItemProp = prj.GetItemProp( II_CHP_RED );
#else
                        ItemProp* pChipItemProp = prj.GetItemProp( II_CHP_RED );
#endif

[Only registered and activated users can see links. Click Here To Register...]
Code:

#ifdef __PMA_PERIN_VENDOR
                pUser->RemoveItemA( (lpChar->m_nVenderType > 2 ? II_SYS_SYS_SCR_PERIN : II_CHP_RED), (short)dwChipCost );
#else
                pUser->RemoveItemA( II_CHP_RED, (short)dwChipCost );
#endif

[Only registered and activated users can see links. Click Here To Register...]
Code:

#ifdef __PMA_PERIN_VENDOR
                        aLogItem.Gold = pUser->GetItemNum( (lpChar->m_nVenderType > 2 ? II_SYS_SYS_SCR_PERIN : II_CHP_RED) ) + itemElem.GetChipCost() * nNum;
                        aLogItem.Gold2 = pUser->GetItemNum( (lpChar->m_nVenderType > 2 ? II_SYS_SYS_SCR_PERIN : II_CHP_RED) );
#else
                        aLogItem.Gold = pUser->GetItemNum( II_CHP_RED ) + itemElem.GetChipCost() * nNum;
                        aLogItem.Gold2 = pUser->GetItemNum( II_CHP_RED );
#endif

CWndInventory::OnChildNotify

[Only registered and activated users can see links. Click Here To Register...]
Code:

#ifdef __PMA_PERIN_VENDOR
                                        if(lpCharacter->m_nVenderType == 3)
                                        {
                                                if(g_pPlayer->m_Inventory.GetAtItemNum( II_SYS_SYS_SCR_PERIN ) - (int)((CItemElem*)lpShortcut->m_dwData)->GetChipCost() >= 0) //±¸¸ÅÇÏ·Á´Â ǰ¸ñÀÇ Ä¨°³¼ö ÀÌ»óÀ» °¡Áö°í ÀÖ´ÂÁö È®ÀÎ.
                                                {
                                                        safe_delete( m_pWndConfirmBuy );
                                                        m_pWndConfirmBuy = new CWndConfirmBuy;
                                                        m_pWndConfirmBuy->m_pItemElem = (CItemElem*)lpShortcut->m_dwData;
                                                        m_pWndConfirmBuy->m_nBuyType = 3;
                                                        m_pWndConfirmBuy->Initialize( this, APP_CONFIRM_BUY_ );
                                                        bForbid = FALSE;
                                                }
                                                else
                                                        g_WndMng.OpenMessageBox( _T( prj.GetText(TID_GAME_CANNT_BY_PERIN) ) );
                                        }
#endif


CWndConfirmBuy::OnChangeBuyCount

[Only registered and activated users can see links. Click Here To Register...]

Code:

#ifdef __PMA_PERIN_VENDOR
        else if(m_nBuyType == 3)
                dwCost = m_pItemElem->GetChipCost();
#endif

CWndConfirmBuy::Initialize

[Only registered and activated users can see links. Click Here To Register...]

Code:

#ifdef __PMA_PERIN_VENDOR
        else if(m_nBuyType == 3)
                dwCost = m_pItemElem->GetChipCost();
#endif


CWndConfirmBuy::OnOK()

[Only registered and activated users can see links. Click Here To Register...]

Code:

#ifdef __PMA_PERIN_VENDOR
        if(m_nBuyType == 3)
        {
                dwCost = m_pItemElem->GetChipCost();
                if( m_pItemElem->m_nItemNum < 1 || dwCost == 0 )
                {
                        g_WndMng.OpenMessageBox( _T( prj.GetText(TID_DIAG_0006) ) );        // ´Ù¸¥ »ç¿ëÀÚ¿¡°Ô ÆÈ·È½À´Ï´Ù.
                        return;
                }

                nBuy = atoi( m_pEdit->GetString() );
                if( (int)( (nBuy * dwCost) ) > g_pPlayer->m_Inventory.GetAtItemNum( II_SYS_SYS_SCR_PERIN )

                        )
                {
                        g_WndMng.OpenMessageBox( _T( prj.GetText(TID_GAME_CANNTBUY_REDCHIP) ) );        // ĨÀÌ ºÎÁ·ÇÕ´Ï´Ù.       
                        return;
                }
        }
#endif

CWndConfirmBuy::OnOK()

[Only registered and activated users can see links. Click Here To Register...]

Code:

#ifdef __PMA_PERIN_VENDOR
                        || m_nBuyType == 3
#endif

CWndShop::OnDraw

[Only registered and activated users can see links. Click Here To Register...]

Code:

#ifdef __PMA_PERIN_VENDOR
                                else if(lpCharacter->m_nVenderType == 3)
                                        dwCost += pItemBase->GetChipCost();
#endif

CWndItemCtrl::RanderIcon

[Only registered and activated users can see links. Click Here To Register...]

Code:

#ifdef __PMA_PERIN_VENDOR
                        if(lpCharacter && lpCharacter->m_nVenderType == 3)
                        {
                                if( bRander == 0 && g_pPlayer->m_Inventory.GetAtItemNum( II_SYS_SYS_SCR_PERIN ) < (int)pItemElem->GetChipCost() )
                                        bRander = 1;
                        }
#endif

CWndMgr::PutItemGold

[Only registered and activated users can see links. Click Here To Register...]


Code:

#ifdef __PMA_PERIN_VENDOR
                                else if(lpCharacter->m_nVenderType == 3)
                                        nCost = pItemElem->GetChipCost();
#endif

[Only registered and activated users can see links. Click Here To Register...]
Code:

#ifdef __PMA_PERIN_VENDOR
                        if(lpCharacter && lpCharacter->m_nVenderType == 3)
                        {
                                CString temp;
                                temp.Format(" %s", prj.GetText(TID_GAME_REDCHIP));
                                strTemp += temp;
                        }
#endif




~Pumaaa

luia 07/12/2013 08:05

nice :)

aber sind hier alle dupe möglichkeiten gefixed?
Forsaken hatte damit am anfang auch extreme probleme

19Dani92 07/12/2013 11:07

sieht gut aus.
Funzt das auch in private Shops?

Pumaaa 07/12/2013 11:16

Quote:

Originally Posted by luia (Post 23768096)
nice :)

aber sind hier alle dupe möglichkeiten gefixed?
Forsaken hatte damit am anfang auch extreme probleme

Mir sind keine Dupemöglichkeiten bekannt, wer etwas anderes bezeugen kann darf mich aber gerne eines Besseren belehren.

E:

Das System ist nur für NPC, habs gestern in 10 Minuten gemacht.

Ich kann auchnoch das für PrivatShop machen wenn die Nachfrage besteht.

Deadline. 07/12/2013 12:06

In [Only registered and activated users can see links. Click Here To Register...] ging es um Perin/Red Chips im Privat-Shop und wie du siehst besteht die Nachfrage.

Pumaaa 07/12/2013 12:31

Mkay dann release ich das morgen oder Sonntag natürlich ohne Dupemöglichkeiten.

xI3ubbLex3 07/12/2013 16:07

Hoy,

Also wenn ich es richtig erkannt habe, dann ist das die gleiche sache wie der Red Chip Händler? nur als Perins..?

mfg, Kevin

Velmore 07/12/2013 16:11

Quote:

Originally Posted by xI3ubbLex3 (Post 23774258)
Hoy,

Also wenn ich es richtig erkannt habe, dann ist das die gleiche sache wie der Red Chip Händler? nur als Perins..?

mfg, Kevin

Natürlich. Wenn du dir den Code angesehen hättest wüsstet du das auch.

Rhyder` 07/12/2013 16:12

Screens?

Velmore 07/12/2013 16:14

Quote:

Originally Posted by jayjei14 (Post 23774337)
Screens?

Das ist das gleiche wie beim Red Chip Händler.

Warum dann einen Screen?


@Pumaaa
Warum hast du als VendorType 3 genommen? Ist 2 schon vergeben? Habe jetzt nicht im Source geschaut.

- DK 07/12/2013 17:02

Quote:

Originally Posted by Velmore (Post 23774376)
Das ist das gleiche wie beim Red Chip Händler.

Warum dann einen Screen?


@Pumaaa
Warum hast du als VendorType 3 genommen? Ist 2 schon vergeben? Habe jetzt nicht im Source geschaut.

Vendor Typ 2 ist Red Chip händler..

Velmore 07/12/2013 17:30

[Only registered and activated users can see links. Click Here To Register...]

Meiner Meinung nach ist 1 Red Chip und 0 Penya. Macht auch mehr Sinn, da ein int immer mit 0 beginnt.

- DK 07/12/2013 17:46

Quote:

Originally Posted by Velmore (Post 23775655)
[Only registered and activated users can see links. Click Here To Register...]

Meiner Meinung nach ist 1 Red Chip und 0 Penya. Macht auch mehr Sinn, da ein int immer mit 0 beginnt.

Habe mich verschaut, meinte :AddVenderItem2

Schau mal in der Source einfach mal nach ..
Ich guck gleich auch mal ^^

Wanetrain 07/12/2013 18:00

Quote:

Originally Posted by Velmore (Post 23775655)
[Only registered and activated users can see links. Click Here To Register...]

Meiner Meinung nach ist 1 Red Chip und 0 Penya. Macht auch mehr Sinn, da ein int immer mit 0 beginnt.

0 = Penya
1 = Red Chip

evtl. hat er 2 für was anderes belegt, was er euch nicht geben möcht. (mögl. eigene währung) oder sonstiges, daher die 3.

Bzw, Int beginnt immer mit NULL? dafuq!? mach mal iwo int nBaum; und gib die Zahl mal aus, daraus kommt am ende eine Random Zahl von 0 bis 2.14mrd.. :[

Velmore 07/12/2013 18:08

Quote:

Originally Posted by Wanetrain (Post 23776170)
0 = Penya
1 = Red Chip

evtl. hat er 2 für was anderes belegt, was er euch nicht geben möcht. (mögl. eigene währung) oder sonstiges, daher die 3.

Bzw, Int beginnt immer mit NULL? dafuq!? mach mal iwo int nBaum; und gib die Zahl mal aus, daraus kommt am ende eine Random Zahl von 0 bis 2.14mrd.. :[


Joar aber man beginnt immer mit 0.

Мentus 07/12/2013 20:33

Quote:

Originally Posted by Wanetrain (Post 23776170)
0 = Penya
1 = Red Chip

evtl. hat er 2 für was anderes belegt, was er euch nicht geben möcht. (mögl. eigene währung) oder sonstiges, daher die 3.

Bzw, Int beginnt immer mit NULL? dafuq!? mach mal iwo int nBaum; und gib die Zahl mal aus, daraus kommt am ende eine Random Zahl von 0 bis 2.14mrd.. :[

Lass doch die kleinen Fische, sie wachsen auch irgendwann.
Quote:

Originally Posted by luia (Post 23768096)
nice :)

aber sind hier alle dupe möglichkeiten gefixed?
Forsaken hatte damit am anfang auch extreme probleme

@Thread
Damals auf Forsaken gab es die Dupe Methode, da ich statt CMover::RemoveItemA nur CMover::RemoveItem genutzt habe.

Viel Arbeit ist es nicht, das Einzige was etwas nervt, ist der Client - Teil bei dem man das Fenster modifizieren muss.

Ryunat 07/12/2013 23:29

Habe jetzt mal versucht VendorType 2 + 3 einzubauen (wäre ja sinnlos das zu überspringen).

Klappt auch alles nur bei den Funktionen wo sowas hier steht:
Code:

pUser->RemoveItemA( (lpChar->m_nVenderType > 2 ? II_SYS_SYS_SCR_PERIN : II_CHP_RED), (short)dwChipCost );
meine Änderung:
Code:

pUser->RemoveItemA( (lpChar->m_nVenderType > 3 ? II_SYS_SYS_SCR_PERIN : II_CHP_HEAVEN : II_CHP_RED), (short)dwChipCost );
sagt er immer:
Code:

c:\Gates-of-Heaven\Source\Source\WORLDSERVER\DPSrvr.cpp(3177): error C2143: syntax error : missing ')' before ':'
Würde mich sehr über Hilfe freuen =)

Velmore 07/12/2013 23:36

Bin mir nicht ganz sicher aber ich glaube das : II_CHP_RED ist das else. Daher kannst du nicht 3 Sachen abfragen.

Setzt einfach eine neue varibale.

©ross 07/13/2013 00:31

Quote:

Originally Posted by Velmore (Post 23782110)
Bin mir nicht ganz sicher aber ich glaube das : II_CHP_RED ist das else. Daher kannst du nicht 3 Sachen abfragen.

Setzt einfach eine neue varibale.

Richtig - Ist ein "Shorthand-if-else"

Quasi
wenn bedingung erfüllt ? JA : NEIN

Mir ist nicht bekannt das man dort eine 3. Variable einbauen kann

Im Grunde kann man hier -> [Only registered and activated users can see links. Click Here To Register...] sich das angucken. Ist ja vom Syntax her das gleiche

Wanetrain 07/13/2013 01:17

Quote:

Originally Posted by ©ross (Post 23782891)
Richtig - Ist ein "Shorthand-if-else"

Quasi
wenn bedingung erfüllt ? JA : NEIN

Mir ist nicht bekannt das man dort eine 3. Variable einbauen kann

Im Grunde kann man hier -> [Only registered and activated users can see links. Click Here To Register...] sich das angucken. Ist ja vom Syntax her das gleiche

Man könnte es aber auch besser machen als mit "?" bei 3+, einfach n switch/case..

Quote:

switch( lpChar->m_nVenderType )
{
case 1: pUser->RemoveItemA( II_CHP_RED), (short)dwChipCost ); break;
case 2: pUser->RemoveItemA( II_SYS_SYS_SCR_PERIN, (short)dwChipCost ); break;
case 3: pUser->RemoveItemA( II_CHP_HEAVEN, (short)dwChipCost ); break;
}
Natürlich kann man dies auch anders machen..

Mal so OT: man sollte die grundlagen von C++ kennen, wenn man sich FlyFF Developer im bereich Source schimpfen will, oder meint ihr nich?

Velmore 07/13/2013 09:04

Quote:

Originally Posted by Wanetrain (Post 23783478)
Man könnte es aber auch besser machen als mit "?" bei 3+, einfach n switch/case..



Natürlich kann man dies auch anders machen..



Das mit dem Switch ist eine Sachen wenn man nur auf Performence geht ist ein switch ab 5 möglichkeiten die alle die selbe warscheinlichkeit haben schneller als eine IF abfrage. Das bewegt sich aber im nicht wirklich relevanten bereich.

Quote:

Originally Posted by Wanetrain (Post 23783478)
Mal so OT: man sollte die grundlagen von C++ kennen, wenn man sich FlyFF Developer im bereich Source schimpfen will, oder meint ihr nich?

You made my day.

Pumaaa 07/13/2013 20:11

Quote:

Originally Posted by Wanetrain (Post 23783478)
Man könnte es aber auch besser machen als mit "?" bei 3+, einfach n switch/case..



Natürlich kann man dies auch anders machen..

Mal so OT: man sollte die grundlagen von C++ kennen, wenn man sich FlyFF Developer im bereich Source schimpfen will, oder meint ihr nich?


Der Code da ist nicht optimal anyway, ich habe es so gemacht weil es das einfachste einzubauen ist ohne extra neue Funktionen zu erstellen.

Quote:

Originally Posted by Velmore


Das mit dem Switch ist eine Sachen wenn man nur auf Performence geht ist ein switch ab 5 möglichkeiten die alle die selbe warscheinlichkeit haben schneller als eine IF abfrage. Das bewegt sich aber im nicht wirklich relevanten bereich.

Mag in der Theorie stimmen, jedoch bezweifele ich dass du ab einer gewissen Optimierungsstufe des Compilers einen anderen Code erhälst.


EDIT:

Der Release dauert noch etwas, war die letzten Tage kaum zuhause.

xI3ubbLex3 07/26/2013 13:35

Ich hätte mal eine frage :)

Ich habe das jetzt in meiner Source drinnen.. funkt auch danke nochmals ist sehr cool von dir :D

Aber wenn ich jz. eine 3 vendertype haben möchte kann ich das in __PMA_PERIN... oder einfach nochmal alles genau so einfügen mit z.b. __PMA_DC_CHIP ?

mfg. Kevin

©ross 07/26/2013 15:42

Quote:

Originally Posted by xI3ubbLex3 (Post 24044796)
Ich hätte mal eine frage :)

Ich habe das jetzt in meiner Source drinnen.. funkt auch danke nochmals ist sehr cool von dir :D

Aber wenn ich jz. eine 3 vendertype haben möchte kann ich das in __PMA_PERIN... oder einfach nochmal alles genau so einfügen mit z.b. __PMA_DC_CHIP ?

mfg. Kevin

Einfach und ohne drum rumzureden....


Ja

Serenity-. 07/26/2013 15:52

Kann mir jemand sagen in welchen dateien ich das alles ändern muss usw

Uloure 07/27/2013 20:05

Quote:

Originally Posted by Serenity-. (Post 24047508)
Kann mir jemand sagen in welchen dateien ich das alles ändern muss usw

Such einfach? Stehen überall noch Sachen dabei.

xI3ubbLex3 07/27/2013 20:44

Ich finde das Syste ist sehr nice, doch ich habe herausgefunden wenn man anstatt perins z.b. i-welche eigenen chips in meinem fall blue chips dadurch ersetzt... kann man wenn man ein item vkft.. das man stappeln kann das z.b. 1000 blue chips kostet un du sagen wir 50k blue chips im invi hast und dir 50 solche items kaufst, das nur z.b. 1-9k blue chips weggehen und somit kannst du das mehrfach machen und hast schnell 10x mehr leistenkönnen als du dir eigentlich leisten könntest... ich habe aber noch nichts gefunden wie man das fixxen könnte... wollte es nur mal gesagt ahben, das sich jmd der viel mit source arbeitet das mal unter die lupe nehmen könnte :P

mfg. Kevin

Uloure 07/27/2013 21:16

Quote:

Originally Posted by xI3ubbLex3 (Post 24074057)
Ich finde das Syste ist sehr nice, doch ich habe herausgefunden wenn man anstatt perins z.b. i-welche eigenen chips in meinem fall blue chips dadurch ersetzt... kann man wenn man ein item vkft.. das man stappeln kann das z.b. 1000 blue chips kostet un du sagen wir 50k blue chips im invi hast und dir 50 solche items kaufst, das nur z.b. 1-9k blue chips weggehen und somit kannst du das mehrfach machen und hast schnell 10x mehr leistenkönnen als du dir eigentlich leisten könntest... ich habe aber noch nichts gefunden wie man das fixxen könnte... wollte es nur mal gesagt ahben, das sich jmd der viel mit source arbeitet das mal unter die lupe nehmen könnte :P

mfg. Kevin

Ich denke eher das du zu Dumm bist. Das ist eine art copy and paste vom red chip ding daher.

xI3ubbLex3 07/27/2013 21:40

Quote:

Originally Posted by Uloure (Post 24074601)
Ich denke eher das du zu Dumm bist. Das ist eine art copy and paste vom red chip ding daher.

Ich denke eher du solltest es mal selbst ausprobieren :)

mfg. Kevin

Serenity-. 07/27/2013 22:07

Ich weiß nicht wie ich das selbst rausfinden soll wo und in welchen dateien müssen die codes rein ....

LoscArmy 08/20/2013 00:20

Thanks for the release, Can you create the system for Perin in Private Shop please? Thanks so much in advances!

lanzelord996 08/21/2013 21:51

He dont has to create it, he already created it, but i dont know if he want's to release it ^^

Мentus 08/23/2013 13:02

@Tear
Lass dich nicht auf eine Diskussion mit so einem ein, von ihm kommt eh nur Mist.
@Pumaaa
Wolltest du nicht noch eine Private Shop Version davon releasen? Ich hab sie ja schon seit Ewigkeiten, vielleicht sollte ich es releasen.

@ Die anderen
Das ist nur ein geänderter NPC Shop, damit ihr wie z.B mit Redchips halt mit Perin zahlen könnt.


( Falls das dir (Reavern) nicht passt das ich meine Meinung so äußere dann bearbeite den Beitrag )

SadPANDA.ツ 08/23/2013 13:18

Ich finde den Release gut, danke Pumaaa.
(Würde mich auch über den erweiterten Release freuen) Und nein, ich sag das nicht weil ich das System brauche ->Siehe Lightning Grave. Dort ist es bei mir auch schon 5Monate eingebaut.

Mfg SadPANDA

Reavern 08/23/2013 19:47

Bin mal durchgegangen.
Bei den Beiträgen, die ich bearbeitet habe, habe ich nur das Zitat und die Antwort darauf entfernt.

Wenn ihr eine Frage/Problem zu/mit dem Release habt, könnt ihr diese gerne posten.
Wer flamen will, solle dies gleich lassen.

tangia1426 10/28/2013 04:47

what file or .h .ccp can put this codes?

Sorry for my bad english

what file or .h .ccp can put this codes?

Sorry for my bad english

Pumaaa 10/28/2013 10:24

Quote:

Originally Posted by Мentus (Post 24566921)
@Tear
Lass dich nicht auf eine Diskussion mit so einem ein, von ihm kommt eh nur Mist.
@Pumaaa
Wolltest du nicht noch eine Private Shop Version davon releasen? Ich hab sie ja schon seit Ewigkeiten, vielleicht sollte ich es releasen.

@ Die anderen
Das ist nur ein geänderter NPC Shop, damit ihr wie z.B mit Redchips halt mit Perin zahlen könnt.


( Falls das dir (Reavern) nicht passt das ich meine Meinung so äußere dann bearbeite den Beitrag )

Wollte ich ja, habe aber barely any time wegen meiner Ausbildung.

.Trotex. 05/11/2014 16:14

Gibt es mit dem System Probleme bei der CWndShop::OnDraw Funktion mit dem Shoppingcart? denn ich habe bei meiner nicht mehr den ganzen gedönst sondern nur noch:
Spoiler:
void CWndShop::OnDraw( C2DRender* p2DRender )
{
LPCHARACTER lpCharacter = m_pMover->GetCharacter();
if( lpCharacter == NULL)
return;

#ifdef __SHOPPING_CART
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_STATIC3 );
LONG longLeft = 0;
LONG longUp = 0;
for( int i = 0; i < MAX_CART_ITEM; i++ )
{
if( !pCartItem.pItemElem[i] )
continue;

CItemBase* pItemBase = pCartItem.pItemElem[i];
if( !pItemBase )
continue;

pItemBase->GetTexture()->Render( p2DRender, CPoint( pWndCtrl->rect.left + longLeft, pWndCtrl->rect.top + longUp ) );
if( pCartItem.dwNum[i] > 1 )
{
TCHAR szTemp[ 32 ];
_stprintf( szTemp, "%d", pCartItem.dwNum[i] );
CSize size = m_p2DRender->m_pFont->GetTextExtent( szTemp );
p2DRender->TextOut( (pWndCtrl->rect.left + longLeft + 37 ) - size.cx, (pWndCtrl->rect.top + longUp + 37 ) - size.cy, szTemp, 0xff0000ff );
p2DRender->TextOut( (pWndCtrl->rect.left + longLeft + 36 ) - size.cx, (pWndCtrl->rect.top + longUp + 36 ) - size.cy, szTemp, 0xffb0b0f0 );
}

longLeft += 37;

if( i == 5 )
{
longUp += 32;
longLeft = 0;
}
}
#endif __SHOPPING_CART
}
#selber gelöst! :p

macboyem07 06/20/2014 02:42

where can i put
this 3 Function
Spoiler:
#ifdef __PMA_PERIN_VENDOR
if( lpChar->m_nVenderType == 3 )
{
if( pUser->m_Inventory.GetAtItemNum( II_SYS_SYS_SCR_PERIN ) < (int)( pItemElem->GetChipCost() * nNum ) )
{
// Ĩ °³¼ö ºÎÁ· ÅØ½ºÆ® Ãâ·Â
pUser->AddDefinedText( TID_GAME_LACKMONEY );
return;
}
}
else
{
if( pUser->m_Inventory.GetAtItemNum( II_CHP_RED ) < (int)( pItemElem->GetChipCost() * nNum ) )
{
// Ĩ °³¼ö ºÎÁ· ÅØ½ºÆ® Ãâ·Â
pUser->AddDefinedText( TID_GAME_LACKCHIP );
return;
}
}

#else
// ¼ÒÁöÇÑ Ä¨ÀÇ °³¼ö°¡ ºÎÁ·ÇÒ ¶§
if( pUser->m_Inventory.GetAtItemNum( II_CHP_RED ) < (int)( pItemElem->GetChipCost() * nNum ) )
{
// Ĩ °³¼ö ºÎÁ· ÅØ½ºÆ® Ãâ·Â
pUser->AddDefinedText( TID_GAME_LACKCHIP );
return;
}
#endif

Spoiler:
#ifdef __PMA_PERIN_VENDOR
ItemProp* pChipItemProp;

lpChar->m_nVenderType > 2 ? pChipItemProp = prj.GetItemProp( II_SYS_SYS_SCR_PERIN ) : pChipItemProp = prj.GetItemProp( II_CHP_RED );
#else
ItemProp* pChipItemProp = prj.GetItemProp( II_CHP_RED );
#endif

Spoiler:
#ifdef __PMA_PERIN_VENDOR
pUser->RemoveItemA( (lpChar->m_nVenderType > 2 ? II_SYS_SYS_SCR_PERIN : II_CHP_RED), (short)dwChipCost );
#else
pUser->RemoveItemA( II_CHP_RED, (short)dwChipCost );
#endif

i can't see tutorial pictures for 3 Function

elmo142008 07/15/2014 15:38

what about if i add another vendertype??

i got an error from DPSvr.cpp
in the line when you use ":" between the item ID


All times are GMT +2. The time now is 10:55.

Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.