|
You last visited: Today at 06:07
Advertisement
[Mini-Release] User Upgrade Befehl
Discussion on [Mini-Release] User Upgrade Befehl within the Flyff PServer Guides & Releases forum part of the Flyff Private Server category.
02/06/2013, 19:59
|
#1
|
elite*gold: 0
Join Date: Feb 2013
Posts: 160
Received Thanks: 151
|
[Mini-Release] User Upgrade Befehl
FuncTextCmd.cpp:
Unter:
Quote:
#define BEGINE_TEXTCMDFUNC_MAP TextCmdFunc m_textCmdFunc[] = {
#define END_TEXTCMDFUNC_MAP 0, 0, 0, 0, 0, 0, AUTH_GENERAL, 0 };
#define ON_TEXTCMDFUNC( a, b, c, d, e, f, g, h ) a, b, c, d, e, f, g, h,
|
Dashier einfügen:
Code:
BOOL TextCmd_PerfektItem( CScanner & s )
{
CUser* pUser = (CUser*)s.dwValue;
CItemElem* pItemElem = pUser->m_Inventory.GetAt( 0 );
if( IsValidObj( pUser ) && pItemElem )
{
if( pItemElem->GetProp()->dwItemKind1 == IK1_WEAPON || pItemElem->GetProp()->dwItemKind1 == IK1_ARMOR )
{
pUser->UpdateItem( (BYTE)pItemElem->m_dwObjId, UI_AO, 10 );
if( pItemElem->GetProp()->dwItemKind1 != IK1_WEAPON )
pUser->UpdateItem( (BYTE)pItemElem->m_dwObjId, UI_PIERCING_SIZE, 10 );
else
pUser->UpdateItem( (BYTE)pItemElem->m_dwObjId, UI_PIERCING_SIZE, 4 );
pUser->UpdateItem( (BYTE)pItemElem->m_dwObjId, UI_ULTIMATE_PIERCING_SIZE, 5 );
}
else
if( pItemElem->IsAccessory() )
pUser->UpdateItem( (BYTE)pItemElem->m_dwObjId, UI_AO, 20 );
else
pUser->AddText( "Du kannst nur Waffen und Rüstung Upgraden." );
}
return TRUE;
}
Unter:
Code:
BEGINE_TEXTCMDFUNC_MAP
Dashier einfügen:
Code:
ON_TEXTCMDFUNC( TextCmd_PerfektItem, "UpgradeItem", "upgrade", "±Ó¼Ó¸»", "±Ó", TCM_BOTH, AUTH_GENERAL , "±Ó¼Ó¸» [/¸í·É ¾ÆÀ̵𠳻¿ë]" )
Credits: Mentus, Pixelhut
PUMAAA´s VERSION
Code:
BOOL TextCmd_PerfektItem( CScanner & s )
{
CUser* pUser = (CUser*)s.dwValue;
CItemElem* pItemElem = pUser->m_Inventory.GetAt( 0 );
if( IsValidObj( pUser ) && pItemElem && pItemElem->GetProp() )
{
ItemProp* pItemProp = pItemElem->GetProp();
switch( pItemProp->dwItemKind1 )
{
case IK1_WEAPON:
{
#ifdef __BARUNA_16
if( pItemProp->IsBaruna() )
pUser->UpdateItem( (BYTE)pItemElem->m_dwObjId, UI_AO, 20 );
else
#endif
pUser->UpdateItem( (BYTE)pItemElem->m_dwObjId, UI_AO, 10 );
pUser->UpdateItem( (BYTE)pItemElem->m_dwObjId, UI_PIERCING_SIZE, MAX_PIERCING );
if( pItemProp->IsUltimate()
#ifdef __BARUNA_16
|| pItemProp->IsBaruna() )
#endif
pUser->UpdateItem( (BYTE)pItemElem->m_dwObjId, UI_ULTIMATE_PIERCING_SIZE, MAX_PIERCING_ULTIMATE );
} break;
case IK1_ARMOR:
{
pUser->UpdateItem( (BYTE)pItemElem->m_dwObjId, UI_AO, 10 );
if( pItemProp->dwItemKind3 == IK3_SUIT )
pUser->UpdateItem( (BYTE)pItemElem->m_dwObjId, UI_PIERCING_SIZE, 4 );
} break;
case IK3_EGG:
{
/* Grad keine Ahnung wie die Funktionsnamen lauten */
} break;
default :
{
if( pItemElem->IsAccessory() )
pUser->UpdateItem( (BYTE)pItemElem->m_dwObjId, UI_AO, 20 );
}
}
}
return TRUE;
}
|
|
|
02/06/2013, 20:16
|
#2
|
elite*gold: 10
Join Date: Feb 2011
Posts: 1,760
Received Thanks: 501
|
Die Idee ist nicht schlecht und auf einem High Rate Server auch nicht schlecht.
Ist die Funktion soweit sicher? Habs mir jetzt nicht angesehen.
|
|
|
02/06/2013, 20:17
|
#3
|
ベトナム警察
elite*gold: 725
Join Date: Jan 2012
Posts: 16,371
Received Thanks: 3,429
|
Es wäre nett, wenn du dafür eine Einleitung schreiben würdest.
|
|
|
02/06/2013, 20:18
|
#4
|
elite*gold: 0
Join Date: Mar 2008
Posts: 598
Received Thanks: 465
|
Quote:
if( pItemElem->GetProp()->dwItemKind1 != IK1_WEAPON )
pUser->UpdateItem( (BYTE)pItemElem->m_dwObjId, UI_PIERCING_SIZE, 10 );
else
pUser->UpdateItem( (BYTE)pItemElem->m_dwObjId, UI_PIERCING_SIZE, 4 );
|
Bin grad etwas müde, aber sorgen diese Zeilen nicht dafür dass Rüstung 10mal und Waffen nur 4mal gepierct werden, müsste das != nicht eigentlich == sein?
Und es sieht für mich auch so aus als würden hier Helmet,Gauntlets und Boots mit der Suit über einen Kamm geschert und auch denen ein Piercing verpasst.
|
|
|
02/06/2013, 22:02
|
#5
|
elite*gold: 1
Join Date: Dec 2012
Posts: 263
Received Thanks: 24
|
.... Nivau= Kindergarten hier? Wenn jemand soetwas haben würde wollen , würde er sich die parts selber aus der Source raussuchen , warum sollte hir wegen so ner kleinigkeit , und um so ne kleinigkeit großen wind gemacht werden..?
|
|
|
02/07/2013, 07:43
|
#6
|
elite*gold: 59
Join Date: Aug 2009
Posts: 1,586
Received Thanks: 489
|
mhm ^^ Hatte die FUnktion schon vor nem Jahr in irgend nem Server eingebaut.. kP vll wars MoM oder Sensou? ^^
|
|
|
02/07/2013, 08:26
|
#7
|
elite*gold: 59
Join Date: Aug 2009
Posts: 1,586
Received Thanks: 489
|
Hatte ich aber im nächsten Update dann gefixxt :>
|
|
|
02/07/2013, 08:46
|
#8
|
elite*gold: 0
Join Date: Sep 2008
Posts: 569
Received Thanks: 695
|
Code:
BOOL TextCmd_PerfectItem( CScanner & s )
{
CUser* pUser = (CUser*)s.dwValue;
CItemElem* pItemElem = pUser->m_Inventory.GetAt( 0 );
if( IsValidObj( pUser ) && pItemElem && pItemElem->GetProp() )
{
ItemProp* pItemProp = pItemElem->GetProp();
switch( pItemProp->dwItemKind1 )
{
case IK1_WEAPON:
{
#ifdef __BARUNA_16
if( pItemProp->IsBaruna() )
pUser->UpdateItem( (BYTE)pItemElem->m_dwObjId, UI_AO, 20 );
else
#endif
pUser->UpdateItem( (BYTE)pItemElem->m_dwObjId, UI_AO, 10 );
pUser->UpdateItem( (BYTE)pItemElem->m_dwObjId, UI_PIERCING_SIZE, MAX_PIERCING );
if( pItemProp->IsUltimate()
#ifdef __BARUNA_16
|| pItemProp->IsBaruna() )
#endif
pUser->UpdateItem( (BYTE)pItemElem->m_dwObjId, UI_ULTIMATE_PIERCING_SIZE, MAX_PIERCING_ULTIMATE );
} break;
case IK1_ARMOR:
{
pUser->UpdateItem( (BYTE)pItemElem->m_dwObjId, UI_AO, 10 );
if( pItemProp->dwItemKind3 == IK3_SUIT )
pUser->UpdateItem( (BYTE)pItemElem->m_dwObjId, UI_PIERCING_SIZE, 4 );
} break;
case IK3_EGG:
{
/* Grad keine Ahnung wie die Funktionsnamen lauten */
} break;
default :
{
if( pItemElem->IsAccessory() )
pUser->UpdateItem( (BYTE)pItemElem->m_dwObjId, UI_AO, 20 );
}
}
}
return TRUE;
}
Soviel dazu
Hab den Code fürs Pet noch nicht geaddet, da mir grad die Funktionsnamen entfallen sind.
Sitze nicht zuhause und habs auch nicht getestet, sollte aber so passen.
|
|
|
02/07/2013, 14:41
|
#9
|
elite*gold: 59
Join Date: Aug 2009
Posts: 1,586
Received Thanks: 489
|
Er hats selbst geschrieben? oO
Ich denke nicht das puma was aus src'n nimmt xD
|
|
|
02/07/2013, 17:51
|
#10
|
elite*gold: 0
Join Date: Apr 2011
Posts: 319
Received Thanks: 20
|
wath dos this do, can somone explain at engl?
|
|
|
02/07/2013, 18:49
|
#11
|
elite*gold: 142
Join Date: Apr 2010
Posts: 859
Received Thanks: 428
|
It's a simple command, for Users, to Upgrade an Item.
I only don't know where the Item must are in the Inventory to be selected from the command
(I know... very bad english :x )
|
|
|
02/07/2013, 18:58
|
#12
|
elite*gold: 0
Join Date: Feb 2013
Posts: 160
Received Thanks: 151
|
Quote:
It's a simple command, for Users, to Upgrade an Item.
I only don't know where the Item must are in the Inventory to be selected from the command
(I know... very bad english :x )
|
Code:
CItemElem* pItemElem = pUser->m_Inventory.GetAt( 0 );
Bedeutet das es der erste Platz im Inventar ist.
|
|
|
02/07/2013, 19:45
|
#13
|
elite*gold: 142
Join Date: Apr 2010
Posts: 859
Received Thanks: 428
|
@i33zGames: Okay gut zu wissen
An sich ists ne spielerei die man... naja nicht umbedingt braucht.
Ob es sinnvoll auf gewissen Serverarten ist oder nicht bleibt dann die endfrage
greetz
|
|
|
04/19/2013, 10:32
|
#14
|
elite*gold: 0
Join Date: Sep 2008
Posts: 569
Received Thanks: 695
|
Kann auch nicht garantieren dass meine Version funktioniert,
da ich die frei heraus ohne Checks in der Schule mit Notepad geschrieben hab.
|
|
|
|
Similar Threads
|
[Src Release] Awake User Befehl Stackfixxed
01/30/2013 - Flyff PServer Guides & Releases - 36 Replies
Hier ein /awake Befehl der nach Art der Scroll of Awakening arbeitet und pro Awakening erweckungskosten nimmt.
Das ganze ist so aufgebaut das es ingame völlig Idiotensicher zu benutzen ist sobald man den Befehl /awake kennt.
Alles was man falsch machen kann wird vom System automatisch beantwortet.
PetStack Fixxed |||| Baruna Crash Bug Fixxed
Falls ihr eure Baruna Waffen awakebar habt und mit /awake nutzbar machen wollt alle Zeilen die Mit //Baruna kommentiert sind komplett...
|
[Mini Release] Credits Befehl
12/16/2012 - Flyff PServer Guides & Releases - 13 Replies
Hallöchen da ich eben die im Titel genannte idee hatte hier mal für alle:
FuncTextCmd.cpp
über:
BOOL TextCmd_say( CScanner& scanner )
{
#ifdef __WORLDSERVER
static CHAR lpString;
CUser* pUser = (CUser*)scanner.dwValue;
|
[Mini-Release] Level UP Befehl in Quests
12/22/2011 - Metin2 PServer Guides & Strategies - 21 Replies
Hey.
Hab grade ne Quest für meine Teamler geschrieben.(sie werden von lvl 1 auf 99).
Da das mit den herkömmlichen Mitteln total lange dauert, hab ich mir lua bissl genauer angeschaut und voila :P
habe ne lösung gefunden die ich jetzt mich euch teilen werde.
while pc.get_level() < 99 do
local a = pc.get_next_exp()
pc.give_exp2(a)
end
|
[Mini Release]Navicat Massenverarbeitung /Befehl
05/03/2011 - Metin2 PServer Guides & Strategies - 5 Replies
Hallo Community,
ich wollte manchen leuten hier zeigen wie es geht
alle daten einer spalte oder auch ganze Tabellen in Navicat zu ändern.
Also das man zum beispiel jeden auf level 100 macht oder so xD
weil man ja nicht gerne 1200 Accounts einzeln ändern möchte ;)
Ihr geht so vor:
Ihr öffnet Navicat und Connected auf euren MySQL Server.
Dann geht ihr links bei der Table auf die ihr geklickt habt auf
"Console"
|
All times are GMT +2. The time now is 06:07.
|
|