+ Antworten
Seite 1 von 2 1 2 LetzteLetzte
Ergebnis 1 bis 20 von 24
  1. #1
    Wirt Avatar von Fidelio1958
    Registriert seit
    18.06.2008
    Ort
    Wien 1100 (Österreich)
    Beiträge
    815

    Standard Namen im Questfenster

    Hi.
    Ich brauche für Questmeldungen einen zusätzlichen Ritter (hier Player4)
    Erzeugt mit: CreateEntity. Logic.SetEntityName funktioniert auch - der Name im Lebensbalken, aber:
    Mit:
    Logic.ExecuteInLuaLocalState('g_PlayerPortrait[4] = "h_knight_praphat"')
    kann man den Kopf im Questfenster ändern, aber der Name bleibt der alte (hier Alandra)!
    Wie kann ich den Namen im Questfenster ändern?
    Was ich bis jetzt probiert habe:
    g_PlayerName, g_SetPlayerName, g_UpdatePlayerName, erzeugen Fehlermeldungen.

  2. #2
    Fischer Avatar von CineMachus
    Registriert seit
    30.09.2007
    Beiträge
    240

    Standard AW: Namen im Questfenster

    also wenn ich es richtig verstehe...Alandra ist PlayerKnight ID4 und du erzeugst Praphat zusätzlich für ID4 um eine Meldung einzublenden?

  3. #3
    Wirt Avatar von Fidelio1958
    Registriert seit
    18.06.2008
    Ort
    Wien 1100 (Österreich)
    Beiträge
    815

    Standard AW: Namen im Questfenster

    Zitat Zitat von CineMachus Beitrag anzeigen
    also wenn ich es richtig verstehe...Alandra ist PlayerKnight ID4 und du erzeugst Praphat zusätzlich für ID4 um eine Meldung einzublenden?
    Hi:

    Alandras Vater wird aus der Gefangenschaft befreit, (2.Ritter ID4)
    Der Ritter ist ja von beginn an da, (In einem Käfig eingesperrt)
    Jetzt soll er was sagen: ich ändere den Kopf im Questfeld, aber den Namen kann ich nicht ändern. Ich brauche aber am Schluss beide Ritter.

    Eigentlich gehts hier nur um den Ritternamen im Questfeld unter dem Kopf! Den müsste ich ändern. Den Kopf hab ich schon öfter geändert!
    Und im Kartenassi ist ja bei Player 4 Alandra eingetragen.
    Geändert von Fidelio1958 (14.01.2010 um 11:28 Uhr)

  4. #4
    Fischer Avatar von CineMachus
    Registriert seit
    30.09.2007
    Beiträge
    240

    Standard AW: Namen im Questfenster

    da wirst du (vermutlich) für diese Quest tricksen müssen...Alandra für die Zeit löschen und Praphat createn und Kopf zuweisen fällt mir auf die schnelle ein...

  5. #5
    Wirt Avatar von Fidelio1958
    Registriert seit
    18.06.2008
    Ort
    Wien 1100 (Österreich)
    Beiträge
    815

    Standard AW: Namen im Questfenster

    Zitat Zitat von CineMachus Beitrag anzeigen
    da wirst du (vermutlich) für diese Quest tricksen müssen...Alandra für die Zeit löschen und Praphat createn und Kopf zuweisen fällt mir auf die schnelle ein...
    Kopf zuweisen geht ja, nur der Name nicht

  6. #6
    Schwertkämpfer Avatar von trabbi
    Registriert seit
    09.03.2006
    Beiträge
    4,437

    Standard AW: Namen im Questfenster

    Kannste nicht Zeitweise die ID ändern ?
    Keine mehr frei ?
    trabbi
    Was ist Theorie, - Wenns klappen soll und es klappt nie
    Was ist Praxis, - Frag nicht so dumm, wenns klappt und Du weißt nicht warum

  7. #7
    Wirt Avatar von Fidelio1958
    Registriert seit
    18.06.2008
    Ort
    Wien 1100 (Österreich)
    Beiträge
    815

    Standard AW: Namen im Questfenster

    Zitat Zitat von trabbi Beitrag anzeigen
    Kannste nicht Zeitweise die ID ändern ?
    Keine mehr frei ?
    Das wäre ja die einfachste Möglichkeit, aber leider keine mehr frei

  8. #8
    Schwertkämpfer Avatar von trabbi
    Registriert seit
    09.03.2006
    Beiträge
    4,437

    Standard AW: Namen im Questfenster

    Zitat Zitat von Fidelio1958 Beitrag anzeigen
    Das wäre ja die einfachste Möglichkeit, aber leider keine mehr frei
    denn haste ein Problem!
    kannste nicht, wie zB Banditen, auf eine einheitliche ID bringen ??
    trabbi
    Was ist Theorie, - Wenns klappen soll und es klappt nie
    Was ist Praxis, - Frag nicht so dumm, wenns klappt und Du weißt nicht warum

  9. #9
    Wirt Avatar von Fidelio1958
    Registriert seit
    18.06.2008
    Ort
    Wien 1100 (Österreich)
    Beiträge
    815

    Standard AW: Namen im Questfenster

    Ich kann hier nur eine ID einer Stadt nehmen, weil sonst das Steuern der Ritter nicht richtig funktioniert,
    das haben wir ja schon besprochen, bei Village gehts nicht richtig.
    Aber es muss ja einen Aufruf geben um den Namen im Questfeld zu ändern,
    mit dem Kopf gehts ja auch! Und das ist sicher im lokalen Sript!
    Ich komm halt nicht drauf, in der G_Liste hab ich auch nichts passendes gefunden.

  10. #10
    Schwertkämpfer Avatar von trabbi
    Registriert seit
    09.03.2006
    Beiträge
    4,437

    Standard AW: Namen im Questfenster

    kann mich aber erinnern, das wir dieses Thema schon mal hatten,
    weiss nur nicht mehr wo !

    Meine erste Quest
    Geändert von trabbi (14.01.2010 um 13:56 Uhr)
    trabbi
    Was ist Theorie, - Wenns klappen soll und es klappt nie
    Was ist Praxis, - Frag nicht so dumm, wenns klappt und Du weißt nicht warum

  11. #11
    Wirt Avatar von Fidelio1958
    Registriert seit
    18.06.2008
    Ort
    Wien 1100 (Österreich)
    Beiträge
    815

    Standard AW: Namen im Questfenster

    Ja, Trabbi, das Thema fremde Ritter steuern hatten wir, das hab ich ja hingebracht, geht ja nur um den Namen unter dem Rittergesicht im Questfenster!

  12. #12
    Fischer Avatar von CineMachus
    Registriert seit
    30.09.2007
    Beiträge
    240

    Standard AW: Namen im Questfenster

    probiere es mal damit...

    Code:
    Logic.ExecuteInLuaLocalState('g_PlayerPortrait[4] = "H_Knight_Praphat"');
    Logic.ExecuteInLuaLocalState('GUI.SetPlayerName(4, "Rudolf Praphat")');

  13. #13
    Wirt Avatar von Fidelio1958
    Registriert seit
    18.06.2008
    Ort
    Wien 1100 (Österreich)
    Beiträge
    815

    Standard AW: Namen im Questfenster

    Zitat Zitat von CineMachus Beitrag anzeigen
    probiere es mal damit...

    Code:
    Logic.ExecuteInLuaLocalState('g_PlayerPortrait[4] = "H_Knight_Praphat"');
    Logic.ExecuteInLuaLocalState('GUI.SetPlayerName(4, "Rudolf Praphat")');
    Danke, leider kein Erfolg!
    Das Gesicht geht ja, aber der Name ist noch immer Alandra

  14. #14
    Schwertkämpfer Avatar von trabbi
    Registriert seit
    09.03.2006
    Beiträge
    4,437

    Standard AW: Namen im Questfenster

    kannste das nicht dafür gebrauchen:
    GetEntityTypeName [AeK Script-Wiki]

    Stell ich mir so vor:
    local entityTypeName = GetEntityTypeName("Alandra", "Rosi")
    obs funktioniert ??
    Muss aber auch der code noch wo hin!
    Geändert von trabbi (14.01.2010 um 23:56 Uhr)
    trabbi
    Was ist Theorie, - Wenns klappen soll und es klappt nie
    Was ist Praxis, - Frag nicht so dumm, wenns klappt und Du weißt nicht warum

  15. #15
    Wirt Avatar von Fidelio1958
    Registriert seit
    18.06.2008
    Ort
    Wien 1100 (Österreich)
    Beiträge
    815

    Standard AW: Namen im Questfenster

    Zitat Zitat von trabbi Beitrag anzeigen
    kannste das nicht dafür gebrauchen:
    GetEntityTypeName [AeK Script-Wiki]

    Stell ich mir so vor:
    local entityTypeName = GetEntityTypeName("Alandra", "Rosi")
    obs funktioniert ??
    Muss aber auch der code noch wo hin!
    Geht hier leider auch nicht!
    Mit diesem Code bekommmst du ja nur den EntityType zurück!
    Hier: Alandra = U_KnightHealing

  16. #16
    Schwertkämpfer Avatar von trabbi
    Registriert seit
    09.03.2006
    Beiträge
    4,437

    Standard AW: Namen im Questfenster

    Zitat Zitat von Fidelio1958 Beitrag anzeigen
    Geht hier leider auch nicht!
    Mit diesem Code bekommmst du ja nur den EntityType zurück!
    Hier: Alandra = U_KnightHealing
    Nu Gut.
    Aber hier kann man doch Ansetzen.
    Erst herausfinden, dann ändern.
    if is then, oder sowas ??
    trabbi
    Was ist Theorie, - Wenns klappen soll und es klappt nie
    Was ist Praxis, - Frag nicht so dumm, wenns klappt und Du weißt nicht warum

  17. #17
    Wirt Avatar von Fidelio1958
    Registriert seit
    18.06.2008
    Ort
    Wien 1100 (Österreich)
    Beiträge
    815

    Standard AW: Namen im Questfenster

    Zitat Zitat von trabbi Beitrag anzeigen
    Nu Gut.
    Aber hier kann man doch Ansetzen.
    Erst herausfinden, dann ändern.
    if is then, oder sowas ??
    Tja, das ganze geht leider etwas tiefer!
    Man will ja hier Sachen, die im Kartenassi gesetzt sind ändern.
    Das geht mal sicher nur im lokalen Script!
    Logischerweise sollte??? das eine gehen, wenn das andere geht???

    Mal der Reihe nach:
    Die ID kann ich ändern.
    Typ: City oder Dorf na ja, das ginge mit ReplaceEntityToPlayer mit den Hauptgebäuden, aber wie das dann mit der AI aussieht? das Banditenscript kann ich ausschalten!
    Namen weiss ich nicht. Auch wenn ich den Ritter tausche, bleibt der alte Name im Questfeld!
    Den Kopf im Questfeld kann ich ändern.
    Die KI (agressivität) kann ich ändern.

    Was ich so aus Fehlermeldungen herausgelesen habe ist das: PlayerNameWidget

    Da gibts ein Script:
    LuaFile: Script/Local/MainMapScript/LocalMainMapScript.lua
    da müsste man mal reinschauen können, dann wäre alles etwas verständlicher!

    Es gibt da sicher einige, die das wissen, aber es ist ja Urlaubszeit.
    Vielleicht weiss da Netsurfer oder OMD Rat, ich warte mal.

  18. #18
    Fischer Avatar von CineMachus
    Registriert seit
    30.09.2007
    Beiträge
    240

    Standard AW: Namen im Questfenster

    sollte funktionieren...

    Code:
    local knightID = Logic.GetEntityIDByName("Praphats Name im Editor")
    Logic.SetPrimaryKnightID(1, knightID);
    in die Mission_LocalOnMapStart...
    Code:
    GetPlayerNameOrig = GetPlayerName
    function GetPlayerName(_player)
        local name = GetPlayerNameOrig(_player)
        if name == "" then -- für Spieler 1 leer lassen
            local knight = Logic.GetKnightID(_player)
            if knight ~= 0 then
                return XGUIEng.GetStringTableText("Names/" .. Logic.GetEntityTypeName(Logic.GetEntityType(knight))) or ""
            end
        end
        return name
    end

  19. #19
    Wirt Avatar von Fidelio1958
    Registriert seit
    18.06.2008
    Ort
    Wien 1100 (Österreich)
    Beiträge
    815

    Standard AW: Namen im Questfenster

    Danke, Cinemachus, werd ich morgen gleich mal probieren.
    Die Map ist zwar schon online, aber da hab ich das halt etwas umgehen müssen, hab einfach wen anderen sprechen lassen.
    Aber das kann ich sicher wieder mal gebrauchen!

    Grüsse Wolfi

  20. #20
    Wirt Avatar von Fidelio1958
    Registriert seit
    18.06.2008
    Ort
    Wien 1100 (Österreich)
    Beiträge
    815

    Standard AW: Namen im Questfenster

    Ich habe die Funktion etwas erweitert, weil man ja beide Namen abrufen muss:

    Code:
    GetPlayerNameOrig = GetPlayerName
    function GetPlayerName(_player)
        local name = GetPlayerNameOrig(_player)
        if name == "Praphat" then -- für Spieler 1 leer lassen
            local knight1 = Logic.GetKnightID(_player)    
            if knight ~= 0 then
                return XGUIEng.GetStringTableText("Names/" .. Logic.GetEntityTypeName(Logic.GetEntityType(knight1))) or ""
            end
        elseif name == "Saraya" then
            local knight2 = Logic.GetKnightID(_player)
            if knight ~= 0 then
                return XGUIEng.GetStringTableText("Names/" .. Logic.GetEntityTypeName(Logic.GetEntityType(knight2))) or ""
            end
            
        end
        return name
    end
    Jetzt gehts, getestet!
    Ist aber doch nicht so ganz einfach:
    Diesen Code in FMA aufrufen: _knight1
    Code:
    function PraphatSpeak1()
          local knightID = Logic.GetEntityIDByName("Praphat")
          Logic.SetPrimaryKnightID(3, knightID);      
    end
    dann diesen Codes bei Bedarf mit Reward MSF aufrufen - Jetzt spricht Saraya _knight2
    Code:
    function SarayaSpeak()
          local knightID = Logic.GetEntityIDByName("Saraya")
          Logic.SetPrimaryKnightID(3, knightID);      
          Logic.ExecuteInLuaLocalState('g_PlayerPortrait[3] = "H_Knight_Saraya"');
    end
    Gesicht wieder ändern - jetzt spricht wieder Praphat _knight1
    Code:
    function PraphatSpeak()
          local knightID = Logic.GetEntityIDByName("Praphat")
          Logic.SetPrimaryKnightID(3, knightID);      
          Logic.ExecuteInLuaLocalState('g_PlayerPortrait[3] = "H_Knight_Praphat"');
    end
    Dann stimmen auch die Gesichter.
    Dazwischen muss aber immer eine Quest von einem anderem Spieler kommen,
    sonst funktionieren zwar die Namen, aber nicht die Gesichter!
    Seltsam, aber Tatsache! - hab ich beim Testen festgestellt
    Danke nochmal, war wieder mal super Teamwork


LinkBacks (?)

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

     

Ähnliche Themen

  1. Suche den Namen einer Map
    Von neutrum im Forum Siedler 6 AeK Allgemein
    Antworten: 3
    Letzter Beitrag: 27.08.2009, 16:43
  2. Wie Firmen/Marken zu ihrem Namen kommen
    Von SpiderFive im Forum Cafe Paperlapapp (Klön)
    Antworten: 0
    Letzter Beitrag: 28.04.2008, 09:34
  3. Entity Namen (Tooltipps)
    Von saladin im Forum S6 Scriptecke
    Antworten: 5
    Letzter Beitrag: 08.02.2008, 00:12

Stichworte

Berechtigungen

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