void CDPSrvr::OnResizeChar( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
{
float vScalex, vScaley, vScalez;
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );
ar >> vScalex >> vScaley >> vScalez;
if( pUser )
{
if(((CMover*)pUser))
{
if(vScalex < 1)
{
int nPerin = ((CMover*)pUser)->GetPerinNum();
if(nPerin <= 24)
{
pUser->AddText("You dont have 25 Perin to change your Size smaller");
g_UserMng.UpdateResizeChar(pUser, ((CMover*)pUser)->m_vScale.x, ((CMover*)pUser)->m_vScale.y, ((CMover*)pUser)->m_vScale.z);
return;
}
for( int i=0; i< pUser->m_Inventory.GetMax(); ++i )
{
CItemElem* pItem = pUser->m_Inventory.GetAtId( i );
if( pItem && pItem->IsPerin() && ::IsUsableItem( pItem ) )
{
int newPerin = nPerin - 25;
pUser->UpdateItem( (BYTE)pItem->m_dwObjId, UI_NUM, newPerin );
break;
}
}
}
else if(vScalex > 1)
{
int nPerin = ((CMover*)pUser)->GetPerinNum();
if(nPerin <= 49)
{
pUser->AddText("You dont have 50 Perin to change your Size bigger");
g_UserMng.UpdateResizeChar(pUser, ((CMover*)pUser)->m_vScale.x, ((CMover*)pUser)->m_vScale.y, ((CMover*)pUser)->m_vScale.z);
return;
}
for( int i=0; i< pUser->m_Inventory.GetMax(); ++i )
{
CItemElem* pItem = pUser->m_Inventory.GetAtId( i );
if( pItem && pItem->IsPerin() && ::IsUsableItem( pItem ) )
{
int newPerin = nPerin - 50;
pUser->UpdateItem( (BYTE)pItem->m_dwObjId, UI_NUM, newPerin );
break;
}
}
}
pUser->m_vScale.x = vScalex;
pUser->m_vScale.y = vScaley;
pUser->m_vScale.z = vScalez;
((CObj*)pUser)->SetScale(D3DXVECTOR3(vScalex, vScaley, vScalez));
g_UserMng.UpdateResizeChar(pUser, vScalex, vScaley, vScalez);
}
}
}
wollte fragen ob mir wer eben helfen kann.
würde es gerne so haben das er statt perin penya verwendet.
für größer machen 1mrd und für kleiner machen auch.
DU bist totaler quatsch weil du dir nichtmal die zeit nimmst seinen thread richtig zu lesen lol.
ok wenn du meinst das dein code sinn ergibt.
Sein Wunsch
Quote:
würde es gerne so haben das er statt perin penya verwendet.
für größer machen 1mrd und für kleiner machen auch.
also er will 1 mrd abzug penya
Du hast nur bissl was gelöscht und dann nichtmal variablen abgepasst.
2. Wieso machstu noch ne if else abfrage wenn es eh nur noch 1x 1mrd abzug ist und nicht 2 verschieden
if(vScalex < 1)
{
int nPerin = ((CMover*)pUser)->GetGold();
if(nPerin <= 999999999)
{
pUser->AddText("You dont have 1.000.000.000 Penya to change your Size ");
g_UserMng.UpdateResizeChar(pUser, ((CMover*)pUser)->m_vScale.x, ((CMover*)pUser)->m_vScale.y, ((CMover*)pUser)->m_vScale.z);
return;
}
int newPerin = nPerin - 1000000000;
pUser->SetGold(newPerin);
}
else if(vScalex > 1)
{
int nPerin = ((CMover*)pUser)->GetGold();
if(nPerin <= 999999999)
{
pUser->AddText("You dont have 1.000.000.000 Penya to change your Size");
g_UserMng.UpdateResizeChar(pUser, ((CMover*)pUser)->m_vScale.x, ((CMover*)pUser)->m_vScale.y, ((CMover*)pUser)->m_vScale.z);
return;
}
int newPerin = nPerin - 1000000000;
pUser->SetGold(newPerin);
}
Code:
anstatt dein ganzer kram würde das volkommen reichen
if(pUser->GetGold() < 1000000000)
{
pUser->AddText("Du hast zu wenig Penya!");
return;
}
pUser->AddGold(-1000000000)
[Problem]Habe ein Problem und zwar spinnt mein VPC etwas(ohne Grund)?! 07/28/2011 - Metin2 Private Server - 10 Replies Also wie schon gesagt meins Server spinnt wodurch kiks usw. kommen :(
ich lade euch die Screens in den Anhang, mit der Hoffnung, dass ihr mir helfen könnt :) wäre echt sehr nice :)