PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : NPC_TALENT_MAX umschiffen



Der Ahnungslose
30.10.2012, 20:35
NPC_TALENT_MAX ist ja 12. Welche Möglichkeiten habe ich trotzdem ein weiteres Talent anzubieten?

Können mit Bordmitteln wirklich nur tatsächliche Talente und deren Skills im Charakterbildschirm zur Anzeige gebracht werden?

Wieso kann NPC_TALENT_UNKNOWN nicht zweckentfremdet werden?

Edit: Ich sehe gerade diese beiden Attribute, die nicht im Spiel verwendet werden.



const int ATR_REGENERATEHP = 6; // Regenerierung von HP alle x sekunden
const int ATR_REGENERATEMANA = 7; // Regenerierung von Mana alle x sekunden


Spricht etwas gegen die Zweckentfremdung?

Der Ahnungslose
01.11.2012, 17:57
Weiß jemand genau, wie die Anzeige der Attributwerte im Charaktermenü von Statten geht?

In der menu_status.d gibt man ja nur so etwas an:



INSTANCE MENU_ITEM_ATTRIBUTE_2(C_MENU_ITEM_DEF)
{
posx = STAT_A_X3; posy = STAT_ATR_Y + 2*STAT_DY;
fontName = STAT_FONT_DEFAULT;
flags = flags & ~IT_SELECTABLE;
};



Ich bin mir noch nicht im KLaren, wie die Engine die Werte ausliest, bzw. wie die Reihenfolge bestimmt wird. Ich habe mir mal die Klasse zCMenu.d angeschaut. Dort gibt es

//zCArray <oSMenuInfoAttribute> m_listAttributes;
var int m_listAttributes_array; //oSMenuInfoAttribute*
var int m_listAttributes_numAlloc; //int
var int m_listAttributes_numInArray;//int
//zCArray <oSMenuInfoTalent> m_listTalents;
var int m_listTalents_array; //oSMenuInfoTalent*
var int m_listTalents_numAlloc; //int
var int m_listTalents_numInArray; //int
//zCArray <oSMenuInfoArmor> m_listArmory;
var int m_listArmory_array; //oSMenuInfoArmor*
var int m_listArmory_numAlloc; //int
var int m_listArmory_numInArray; //int


Demnach schließe ich, dass die Attributwerte in einer festgelegten Reihenfolge in einem StringArray vorgehalten werden. Es gibt ja die beiden oben genannten bisher unbenutzten Attribute. Ich habe probiert, diese nutzbar zu machen und auch im Charaktermenü darzustellen, allerdings bekomme ich es nicht hin, den in PC_Hero.d definierten Wert im Charaktermenü darzustellen:



//--------- abilities --------
attribute[ATR_STRENGTH] = 10;
attribute[ATR_DEXTERITY] = 10;
attribute[ATR_MANA_MAX] = 5;
attribute[ATR_MANA] = 5;
attribute[ATR_HITPOINTS_MAX]= 40;
attribute[ATR_HITPOINTS] = 40;
attribute[ATR_REGENERATEMANA] = 10;


In menu_status.d habe ich dann sämtliche Werte zwischen 5 und 8 ausprobiert, um den Wert darzustellen:



INSTANCE MENU_ITEM_ATTRIBUTE_5(C_MENU_ITEM_DEF)
{
posx = STAT_A_X3; posy = STAT_ATR_Y + 5*STAT_DY;
fontName = STAT_FONT_DEFAULT;
flags = flags & ~IT_SELECTABLE;
};



Allerdings gelingt es mir nicht, den Wert zur Anzeige zu bringen. Jetzt bin ich am Rätseln, ob es an mir liegt, oder ob die Piranhas tatsächlich nur die vier Attribute, welches ins Spiel gefunden haben in den StringArray gelangen. :dnuhr: Weiß jemand von euch etwas genaueres darüber?

Umfi
01.11.2012, 18:07
Willst du im CharacterMenü etwas neues printen, z.b den Wert eines neuen Attributes?

Wenn ja, dann könnte dir das weiter helfen, hab das z,b in SOJ für das Attribut Ausdauer eingebaut.

Ist aber für G2, das müsstest du dann für G1 anpassen.

http://forum.worldofplayers.de/forum/threads/1123213-IntToString-bei-den-Talenten?p=18519984&viewfull=1#post18519984

Der Ahnungslose
01.11.2012, 18:47
Danke Umfi, primär ging es mir darum zu erfahren, ob die beiden Regenarionsattribute in der internen Liste oder dem StringArray enthalten sind.

Ein Post von NiCoDe gibt glaube ich Aufschluss, wobei ich keine Erklärung dafür habe, warum die beiden nicht ins Spiel gekommenen Attribute nicht in dieser internen Liste auftauchen?

http://forum.worldofplayers.de/forum/threads/60971-Neue-Fähigkeiten-Wie-anzeigen-lassen?p=1107659&viewfull=1#post1107659

Die nicht benutzten Talente tauchen ja auch in der internen Liste auf und können benutzt werden, von daher die Frage, warum die Länge der Liste hinsichtlich der Attribute nicht ATR_INDEX_MAX [8] folgt? :dnuhr:

Der Ahnungslose
02.11.2012, 14:59
Thema hat sich erledigt. Ich konnte von einem anderen Umstand der Piranhas profitieren, der es mir erlaubt einen weiteren Attributwert im StatusScreen zu printen. Es hat ein wenig gedauert, aber dann fiel es mir wie Schuppen von den Augen. Thread kann geschlossen werden, war ja sowieso größtenteils ein Monolog bzw. Selbstgespräch ;)

Dada
02.11.2012, 16:53
So rein aus Neugier:
Von welchem Umstand?

Der Ahnungslose
03.11.2012, 14:49
Naja, die Piranhas hatten auch beabsichtigt den Namen des PC_Hero im Charaktermenü anzuzeigen. Da ich den ja auf keinen Fall gebrauchen kann, kann ich den hero.name zur dynamischen Anzeige eines weiteren Attribute-Skills benutzen. §list

Sektenspinner
04.11.2012, 00:01
Naja, die Piranhas hatten auch beabsichtigt den Namen des PC_Hero im Charaktermenü anzuzeigen. Da ich den ja auf keinen Fall gebrauchen kann, kann ich den hero.name zur dynamischen Anzeige eines weiteren Attribute-Skills benutzen. §listIn den Monologuntertiteln ("Womit denn?") wird der Name des Helden angezeigt, falls der Spieler entsprechende Ini Einträge aktiviert hat (so Leute wie ich).

Folgender Thread könnte noch relevant sein, insbesondere, wenn eine Ikarus Lösung eine Option ist *klick* (http://forum.worldofplayers.de/forum/threads/1103461-Probleme-mit-der-Ausgabe).
Ich will dir aber nichts aufschwatzen.

Der Ahnungslose
04.11.2012, 01:02
Danke für den gutgemeinten Hinweis, aber das stellt kein Problem dar. Da ich das Öffnen und das Schließen des Charaktermenüs gehookt habe, wird der Name beim Schließen immer wieder entsprechend in "Ich" korrigiert bzw. beim Öffnen halt entsprechend zweckentfremdet zusammengebaut.

Ich heiße zwar "Der Ahnungslose" und mag auch ab und an diesem Nickname noch alle Ehre machen ;), aber dass du mir noch solch eine Nachlässigkeit zutraust, bringt mich zum Grübeln was meine Außendarstellung angeht §cry

Spaß beiseite, ich versuche eigentlich grundsätzlich und andauernd stets alle Eventualitäten mit ins Kalkül zu ziehen. :D