[C++] [Python] Érzelmek bővítése

Indította Pisti95, 2016-01-21, 10:58:26

2016-01-21, 10:58:26 Utolsó szerkesztés: 2018-06-06, 20:27:21 Szerző: Pisti95
Sziasztok fórumozók!  :)

Sok dolgot kaptam, hogy csak másolgatni tudok, meg nem értek ehhez meg ahhoz. Azért nem is publikáltam ezen a fórumon se semmit, hiszen nem akarok kritikákat.  ;D

Ezt kiteszem, mert ezt nem nehéz megcsinálni, de nem láttam erről leírást.

Sokak fejében biztos megfordult, jó lenne több érzelem berakása. Itt egy lehetőség arra, hogyan bővítsük ezt.

Mondjuk a slot-ot nem tudtam bővíteni, hiszen nem találtam indítóba a változót. Biztos máshol van benne. Arra gondolok itt, hogy uicharacter.py meghívja az Érzelmek panelt, és ott nincs bővítés.

Ez a leírás jó más érzelmek pótlására is, csak tánchoz írtam.  ;D



Indító forrás:

Gamelib/ActorInstanceMotion.cpp

Ezt a tömböt kell kiegészíteni.

case CRaceMotionData::NAME_DANCE_1:
case CRaceMotionData::NAME_DANCE_2:
case CRaceMotionData::NAME_DANCE_3:
case CRaceMotionData::NAME_DANCE_4:
case CRaceMotionData::NAME_DANCE_5:
case CRaceMotionData::NAME_DANCE_6:

      
Kiegészíted ezzel:

case CRaceMotionData::NAME_DANCE_7:

      

Gamelib/RaceMotionData.cpp

Ezt a tömböt kiegészíted:

case NAME_DANCE_1:
case NAME_DANCE_2:
case NAME_DANCE_3:
case NAME_DANCE_4:
case NAME_DANCE_5:
case NAME_DANCE_6:

      
Kiegészíted:

case NAME_DANCE_7:

      

Gamelib/RaceMotionData.h

Ezt egészíted ki:

NAME_DANCE_1,
NAME_DANCE_2,
NAME_DANCE_3,
NAME_DANCE_4,
NAME_DANCE_5,
NAME_DANCE_6, // °­ł˛˝şĹ¸ŔĎ

         
Egy ilyen sorral:

NAME_DANCE_7,

         
########

Userinterface/PythonCharacterModule.cpp

Ehhez a tömbhöz:

PyModule_AddIntConstant(poModule, "MOTION_DANCE_1", CRaceMotionData::NAME_DANCE_1);
PyModule_AddIntConstant(poModule, "MOTION_DANCE_2", CRaceMotionData::NAME_DANCE_2);

PyModule_AddIntConstant(poModule, "MOTION_DANCE_3", CRaceMotionData::NAME_DANCE_3);
PyModule_AddIntConstant(poModule, "MOTION_DANCE_4", CRaceMotionData::NAME_DANCE_4);
PyModule_AddIntConstant(poModule, "MOTION_DANCE_5", CRaceMotionData::NAME_DANCE_5);
PyModule_AddIntConstant(poModule, "MOTION_DANCE_6", CRaceMotionData::NAME_DANCE_6);



Újabb sort adsz:

PyModule_AddIntConstant(poModule, "MOTION_DANCE_7", CRaceMotionData::NAME_DANCE_7);

   

   
Userinterface/PythonNetworkStreamCommand.cpp

Rákeresel erre:

s_emotionDict["dance6"] = CRaceMotionData::NAME_DANCE_6;

         

Aláírod ezt:

s_emotionDict["dance7"] = CRaceMotionData::NAME_DANCE_7;

         

Userinterface/PythonPlayerModule.cpp

Ezt a tömböt kiegészíted:

EMOTION_DANCE_1,
EMOTION_DANCE_2,
EMOTION_DANCE_3,
EMOTION_DANCE_4,
EMOTION_DANCE_5,
EMOTION_DANCE_6, // °­ł˛˝şĹ¸ŔĎ

   

Ezzel a sorral:

EMOTION_DANCE_7,

   

Ugyan itt rákeresel erre:

PyModule_AddIntConstant(poModule, "EMOTION_DANCE_1", EMOTION_DANCE_1);
PyModule_AddIntConstant(poModule, "EMOTION_DANCE_2", EMOTION_DANCE_2);
PyModule_AddIntConstant(poModule, "EMOTION_DANCE_3", EMOTION_DANCE_3);
PyModule_AddIntConstant(poModule, "EMOTION_DANCE_4", EMOTION_DANCE_4);
PyModule_AddIntConstant(poModule, "EMOTION_DANCE_5", EMOTION_DANCE_5);
PyModule_AddIntConstant(poModule, "EMOTION_DANCE_6", EMOTION_DANCE_6); // PSY °­ł˛˝şĹ¸ŔĎ

   
   
Alá írsz egy ilyet:

PyModule_AddIntConstant(poModule, "EMOTION_DANCE_7", EMOTION_DANCE_7);



################################################
################################################

Game fájl forrásba:

cmd.cpp fájlt megnyitod!

Megkeresed ezt a listát:

// DANCE
{ "dance1", do_emotion, 0, POS_FIGHTING, GM_PLAYER },
{ "dance2", do_emotion, 0, POS_FIGHTING, GM_PLAYER },
{ "dance3", do_emotion, 0, POS_FIGHTING, GM_PLAYER },
{ "dance4", do_emotion, 0, POS_FIGHTING, GM_PLAYER },
{ "dance5", do_emotion, 0, POS_FIGHTING, GM_PLAYER },
{ "dance6", do_emotion, 0, POS_FIGHTING, GM_PLAYER },
// END_OF_DANCE


Itt kell bővítened, hogy a GM parancsként is lejátszódjon az animáció. pl.: /dance6

Ezzel bővíted:

{ "dance7", do_emotion, 0, POS_FIGHTING, GM_PLAYER },

   
/////////////////////////////////////////////////////////////////////////////////////

cmd_emotion.cpp

Ezt a tömböt egészíted itt is ki:

// DANCE
{ "´í˝ş1", "dance1", 0, 1.0f },
{ "´í˝ş2", "dance2", 0, 1.0f },
{ "´í˝ş3", "dance3", 0, 1.0f },
{ "´í˝ş4", "dance4", 0, 1.0f },
{ "´í˝ş5", "dance5", 0, 1.0f },
{ "´í˝ş6", "dance6", 0, 1.0f },
// END_OF_DANCE

   
Pl.: Ezzel:


{ "´í˝ş7", "dance7", 0, 1.0f },

   
   

A forrás része itt véget is ér.  8)


--------------------------------------------------------------------------------------------------------------------

Kliens python bővítés

root.eix/epk

Emotion.py


Rákeresünk erre a sorra:


EMOTION_DANCE_6 = 18


Aláírjuk ezt:


EMOTION_DANCE_7 = 19


Utána rákeresünk erre:


EMOTION_DANCE_6 : {"name": locale.EMOTION_DANCE_6, "command":"/dance6"},


Aláírjuk ezt:


EMOTION_DANCE_7 : {"name": locale.EMOTION_DANCE_7, "command":"/dance7"},



Rákeresünk erre a sorra is:


EMOTION_DANCE_6 : "icon/action/dance6.tga",


Aláírjuk ezt:


EMOTION_DANCE_6 : "icon/action/dance7.tga",


Rákeresünk erre:


chr.MOTION_DANCE_6 : "dance_6.msa",


Alá írjuk ezt:


chr.MOTION_DANCE_7 : "dance_7.msa",



Kész, elmentheted!


Locale.eix/epk-t kibontod!

locale_game.txt-t megnyitod Notepad++-al

Megkeresed ezt a sort:


EMOTION_DANCE_6


Aláírod ezt a sort:


EMOTION_DANCE_7 Tánc 7



Változtatni lehet az érzelmek fülön, hogy több helyünk legyen!
Köszönet Danesz-nek, hogy kipróbálta a leírást! :)


uiscript/characterwindow.py

Így nézzen ki (részlet):
{     "name" : "Emoticon_Page",     "type" : "window",     "style" : ("attach",),     "x" : 0,     "y" : 24,     "width" : 250,     "height" : 304,     "children" :     (      ## ±âş» ľ×ĽÇ Á¦¸ń      { "name":"Action_Bar", "type":"horizontalbar", "x":12, "y":11, "width":223, },      { "name":"Action_Bar_Text", "type":"text", "x":15, "y":13, "text":uiScriptLocale.CHARACTER_NORMAL_ACTION },      ## Basis Action Slot      {       "name" : "SoloEmotionSlot",       "type" : "grid_table",       "x" : 30,       "y" : 33,       "horizontal_align" : "center",       "start_index" : 1,       "x_count" : 6,       "y_count" : 5,       "x_step" : 32,       "y_step" : 32,       "x_blank" : 0,       "y_blank" : 0,       "image" : ICON_SLOT_FILE,      },      ## »óČŁ ľ×ĽÇ Á¦¸ń      { "name":"Reaction_Bar", "type":"horizontalbar", "x":12, "y":8+200, "width":223, },      { "name":"Reaction_Bar_Text", "type":"text", "x":15, "y":10+200, "text":uiScriptLocale.CHARACTER_MUTUAL_ACTION },      ## Reaction Slot      {       "name" : "DualEmotionSlot",       "type" : "grid_table",       "x" : 30,       "y" : 230,       "start_index" : 51,       "x_count" : 6,       "y_count" : 1,       "x_step" : 32,       "y_step" : 32,       "x_blank" : 0,       "y_blank" : 0,       "image" : ICON_SLOT_FILE,      },     ),    },



Végeredmény:





Ennyi lenne! :D


Üdv, Pisti95