Seite 13 von 180 ErsteErste ... 3910111213141516172363113 ... LetzteLetzte
Ergebnis 181 bis 195 von 2699

Thema: Der SDK-Fragen-Thread

  1. #181
    verschollen Avatar von deepwater
    Registriert seit
    23.04.11
    Beiträge
    1.580
    PHP-Code:
    bool CvUnit.getUpgradeUnitClass(int x
    Das die immer nur bool funktionene machen können.
    Musst halt alle Klassen durchloopen.

    Edit: Ah hier, es gibt noch eine für ne CyUnit:

    PHP-Code:
    bool CyUnit.canUpgrade (UnitType eUnitbool bTestVisible
    Den zweiten bool wirste wohl ignorieren können. Ich schätze, die erste Funktion ist trotzdem besser, weil man bei der zweiten alle Einheiten durchloopen müsste. Ist wohl eher nur zur Überprüfung, ob upgraden zu einer bestimmten Einheit möglich ist.

    Edit2: Noch eine, jetzt kannst du dir eine Aussuchen.
    PHP-Code:
    BOOL CyUnit.upgradeAvailable (UnitType eFromUnitUnitClassType eToUnitClassINT iCount
    Frag mich nicht, wozu der iCount ist, vielleicht um zu bestimmen, wieviele Upgrades es maximal sein düfren.

    Edit3: Wenn du dir folgende Funktion im SDK anschaust wirst du sehen können, wie die Unitklasse bestimmt wird, in die gepugradet werden kann.
    PHP-Code:
    INT CyUnit.upgradePrice (UnitType eUnit
    Geändert von deepwater (03. September 2011 um 14:11 Uhr)

    ...too old...

  2. #182
    Registrierter Benutzer Avatar von Monaldinio
    Registriert seit
    10.11.09
    Ort
    HRO
    Beiträge
    7.650
    Noch spezieller...sagen wir du könnstest in deinen Mod eine Stadt auf Pikê bauen, also auf diese großen Berge, in diesen Fall wäre das ja keine Otto-normalo Stadt...dann müsstest die Ki verstehen warum sie in dieser Stadt nur eine Einheit zu Verteidigung bauen darf/kann/muss...die dieses Gelände betreten bzw irgend einen Bonus darauf bekommt oder eine entsprechende Beförderung, denn normaler Weise können die Einheiten dieses Gelände nicht betreten und haben auch keinen Boni für sie...
    Glaube ich jedenfalls, normales Civ habe ich ewig nicht gespielt.^^
    Conflict on Chiron - Sid Meier's Alpha Centauri vs. Call to Power!

    Neu Version Conflict on Chiron v3.4 BETA - 16.01.16

    Patch1 - 07.04.16

    Die deutschen Sounds und Wunderfilme sind bereits in der MainFile integriert!
    Ihr könnt sofort loslegen.

    Über Feedback würde ich mich freuen...

  3. #183
    Waddehaddedudeda Avatar von Cybah
    Registriert seit
    01.09.06
    Beiträge
    30.454
    hmpf... loopen ist unschön für jede einheit. ich will dass eine einheit eine bestimmte beförderung nicht mehr bekommen kann, sobald sie nicht mehr upgradable ist.
    Pucc's Lets Plays BASE 6.0: #1 #2 #3 #4 #5

    Download von BASE 6.4 [D]: HIER (klick mich!) (Stand: 08.07.2022)

  4. #184
    verschollen Avatar von deepwater
    Registriert seit
    23.04.11
    Beiträge
    1.580
    Lässt sich aber nicht vermeiden. Nimm doch die Funktion:
    PHP-Code:
    BOOL CyUnit.hasUpgrade (BOOL bSearch
    Dann musst du wenigstens nicht selber sehen, wie geloopt wird. Für bSearch musst du eins einsetzen, sonst werden nur die Städte gecheckt, die weniger als 16 Felder entfernt sind.

    ...too old...

  5. #185
    Waddehaddedudeda Avatar von Cybah
    Registriert seit
    01.09.06
    Beiträge
    30.454
    also if pUnit.hasUpgrade(1) ?

    im sdk ists einfach nur
    PHP-Code:
        if (hasUpgrade(eUnit)) 
    ich probiers mal, ist per sdk eh besser.

    edit: achne,das wäre ohne die vollständige suche.
    Pucc's Lets Plays BASE 6.0: #1 #2 #3 #4 #5

    Download von BASE 6.4 [D]: HIER (klick mich!) (Stand: 08.07.2022)

  6. #186
    Waddehaddedudeda Avatar von Cybah
    Registriert seit
    01.09.06
    Beiträge
    30.454
    blick da irgendwie nicht durch.. aber gehört jetzt eher ins sdk.
    Pucc's Lets Plays BASE 6.0: #1 #2 #3 #4 #5

    Download von BASE 6.4 [D]: HIER (klick mich!) (Stand: 08.07.2022)

  7. #187
    Waddehaddedudeda Avatar von Cybah
    Registriert seit
    01.09.06
    Beiträge
    30.454
    PHP-Code:
    // does not search all cities, only checks the closest one
    bool CvUnit::hasUpgrade(bool bSearch) const
    {
        return (
    getUpgradeCity(bSearch) != NULL);

    das scheint selbst mit bSearch nur die nächsten städte zu überprüfen?!
    Pucc's Lets Plays BASE 6.0: #1 #2 #3 #4 #5

    Download von BASE 6.4 [D]: HIER (klick mich!) (Stand: 08.07.2022)

  8. #188
    verschollen Avatar von deepwater
    Registriert seit
    23.04.11
    Beiträge
    1.580
    Die Funktion hasUpgrade(...) ist überladen, einmal mit hasUpgrade(bool bSearch) und hasUpgrade(UnitTypes eUnit, bool bSearch).
    Guck sie dir einfach mal an, ist wider der Gewohnheit recht gut kommentiert.

    ...too old...

  9. #189
    verschollen Avatar von deepwater
    Registriert seit
    23.04.11
    Beiträge
    1.580
    Alle, die dem Spieler gehören. Guck dir mal die Funktion getUpgradeCity(..) an. (ebenfalls überladen, die erstere von oben)

    Edit: Aber ich glaube ich hab da noch eine andere Lösung (SDK).

    ...too old...

  10. #190
    Waddehaddedudeda Avatar von Cybah
    Registriert seit
    01.09.06
    Beiträge
    30.454
    muss halt letztlich irgendwie in canPromote eingebaut werden können. dann bin ich happy.
    Pucc's Lets Plays BASE 6.0: #1 #2 #3 #4 #5

    Download von BASE 6.4 [D]: HIER (klick mich!) (Stand: 08.07.2022)

  11. #191
    Waddehaddedudeda Avatar von Cybah
    Registriert seit
    01.09.06
    Beiträge
    30.454
    wär eigentlich auch kein problem nur die paar städte überprüfen zu lassen, dann bau ich halt noch upgradeready mit ein, d.h. die beförderung geht nur dort, wo man auch die einheit upgraden kann.
    ich teste es mal eben gerade mit der bsearch.
    Pucc's Lets Plays BASE 6.0: #1 #2 #3 #4 #5

    Download von BASE 6.4 [D]: HIER (klick mich!) (Stand: 08.07.2022)

  12. #192
    Waddehaddedudeda Avatar von Cybah
    Registriert seit
    01.09.06
    Beiträge
    30.454
    hm... irgendwie ist das verbuggt.

    habs mal mit

    PHP-Code:
            if (!hasUpgrade(1))
            {
                return 
    false;
            } 
    versucht. rausgekommen ist folgendes: die beförderung ist nur dann möglich, wenn ein upgrade IMMER möglich ist, d.h. das upgrade nicht von ressourcen abhängt. selbst wenn ich eisen hab und der krieger sich zum schwerti upgraden könnte, ist die beförderung verboten. wenn ich aber drall hab, ist die beförderung erlaubt.

    ??!?!?!
    Pucc's Lets Plays BASE 6.0: #1 #2 #3 #4 #5

    Download von BASE 6.4 [D]: HIER (klick mich!) (Stand: 08.07.2022)

  13. #193
    Waddehaddedudeda Avatar von Cybah
    Registriert seit
    01.09.06
    Beiträge
    30.454
    selbst das scheint auch nicht immer der fall zu sein, wenn der krieger zum streiti modernisiert werden kann, ist die beförderung erlaubt. what the fuc* ?

    wenn er zum speeri oder schwerti oder axti modernisiert werden kann, ists verboten. da soll mal einer durchblicken.
    Pucc's Lets Plays BASE 6.0: #1 #2 #3 #4 #5

    Download von BASE 6.4 [D]: HIER (klick mich!) (Stand: 08.07.2022)

  14. #194
    verschollen Avatar von deepwater
    Registriert seit
    23.04.11
    Beiträge
    1.580
    Im Prinzip würds doch auch langen, wenn man in der XmL schaut, ob bei UpgradeClasses was ist, oder?

    ...too old...

  15. #195
    verschollen Avatar von deepwater
    Registriert seit
    23.04.11
    Beiträge
    1.580
    CvInfos.h: (im public Bereich von CvUnitInfo)
    PHP-Code:
        //neu
        
    bool canHaveUpgrade() const; 
    CvInfos.cpp:
    PHP-Code:
    //neu
    bool CvUnitInfo::canHaveUpgrade() const
    {
        for (
    int iI 0iI GC.getNumUnitClassInfos(); iI++)
        {
            if (
    m_pbUpgradeUnitClass[iI])
            {
                return 
    true;
            }
        }
        return 
    false;


    ungetestet
    Wenn dus in Python brauchst, wrapps dir einfach.

    ...too old...

Seite 13 von 180 ErsteErste ... 3910111213141516172363113 ... LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •