• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    ESYgr1d - A persistent multiplayer online programming game

    Programujeme agenty pro gr1d.org!


    http://www.youtube.com/watch?v=3XZ9-_EgisE

    Registrovaní nyx hráči:


    Gr1d leader:
    TcKs - Level 6 Pirate based in Shanghai Port District

    Level 6:
    Fronema - Pirate based in Shanghai Port District
    Matasx - Hacker based in Shanghai University District
    SUK - Engineer based in Shanghai University District
    Pjotr - Hacker based in Old Wujiaochang

    Ostatní:
    AlphaTeam - Level 5 Engineer based in Jian Guo Men Wai
    Goshewan - Level 4 Pirate based in Port Nordkyn

    Neaktivní ?
    Esy - Level 6 Racketeer based in Henan Minority
    jachymko - Level 5 Engineer based in Shanghai Port District
    VirtualVoid - Level 3 Engineer based in HITEC City
    Neurolog - Level 2 Hacker based in Chuy River Traders

    Dočasně vyřazeni z klanu: SUK

    Kód pro ty, kteří se chtějí podílet na Clanu lidí z nyxu... poskytl Matasx
    Kdo chce, nechť použije tohle, kdo ne použije svoje :] a kdo nehce hrát společně ať řekne :]]

    Aktuálně

    Zbývají poslední dny do ukončení soutěže. Podporujeme TcKs.
    rozbalit záhlaví
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    PJOTRIK: Reknu to jinak. To moje funguje, to tvoje ne :).
    1) Nededi to, ale implementuje.
    2) Bohuzel se v jadre Gr1du pouziva linq-to-sql, kde zalezi na konkretnich instancich objektu. Nestaci, ze maji stejne rozhrani a stejny hodnoty.
    3) Ta funkce sice dle statickyho rozhrani ocekava IAgentInfo a ty ocekavas, ze kdyz tam posles cokoliv, co implementuje IAgentInfo, tak bude spravne. Ale ve skutecnosti ta funkce ocekava konkretni instance objektu, ktere shodou okolnosti vzdy implementuji IAgentInfo.
    PJOTRIK
    PJOTRIK --- ---
    TENCOKACISTROMY: to mi uplne nedava smysl...
    IKnownAgent<TAgent> je podedeny IAgentInfo, ktery navic pridava propertu Implementation typu TAgent. Mne o implementaci nejde, naopak potrebuju IAgentInfo
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    PJOTRIK: Uvedom si, ze metoda "GetInitialisedAgents<TAgent>" ti vraci rozhrani IKnownAgent<TAgent>. Pricemz instance agenta se nachazi az v property "Implementation". Cili potrebujes:
    Deck.GetInitialisedAgents<IAgent>
    .Where(a => a.Node.Sector == agentUpdate.Node.Sector)
    .Select(a => a.Implementation);
    



    Obecne: To ze nejakej objekt implementuje nejaky rozhrani, jeste neznamena ze tim objektem skutecne je. Muze to byt klidne jen wrapper (coz je tento pripad) nebo jinej "trik", jak zajistit treba pohodlny pouzivani nejakyho objektu z hlediska uzivatele-vyvojare.
    PJOTRIK
    PJOTRIK --- ---
    MATASX: ale KnownAgent dedi od IAgentInfo... to pretypovat neni problem, ale pak je tam nekde v kodu dalsi pretypovani, ktery uz neprojde

    a bokem, muzete mi nekdo poslat do areny nejakyho losera? zrovna je tam volno, tak bych si konecne moh vyplnit task...
    MATASX
    MATASX --- ---
    PJOTRIK: Tohle není uplně dobrej nápad, Deck.GetInitialisedAgents - tím dostaneš přímo instance svých agentů. Musíš použít třeba Node.AlliedAgents coz vraci kolekci rozhrani IAgentInfo (coz neni instance agenta). Pretypovani mezi IAgent a IAgentInfo asi neexistuje.
    PJOTRIK
    PJOTRIK --- ---
    na IRC mi zatim nikdo neporadil, tak se zeptam i tu.

    Jak poustite skilly ktery maj jako parametr kolekci agentu?
    zkousim this.Haste(Deck.GetInitialisedAgents<IAgent>().Select(ka => ka as IAgentInfo).Where(a => a.Node.Sector == agentUpdate.Node.Sector));
    do syslogu to vypise "Calling direct agent collection skill Haste @Pjotr(FiGrid.DefenderThree(3,2)),Pjotr(Experimental.SuccessiveHaste(5,1))" coz sedi, ale pak to vyhodi vyjimku
    System.InvalidCastException: Unable to cast object of type 'Gr1d.Runtime.KnownAgent`1[Gr1d.Api.Agent.IAgent]' to type 'Gr1d.Runtime.RuntimeAgent'.
    at Gr1d.Runtime.Skill.TargetAgentCollectionResult.GetRolledAgentResult(IEnumerable`1 targets, RuntimeAgent caster, Func`3 skill, Boolean wait) in C:\Users\Nathan\Projects\gr1d.org\source\Gr1d.Runtime\Skill\TargetAgentCollectionResult.cs:line 26
    at Gr1d.Runtime.Skill.SkillProvider.Direct(IAgent caster, Func`3 skill, IEnumerable`1 targets) in C:\Users\Nathan\Projects\gr1d.org\source\Gr1d.Runtime\Skill\SkillProvider.cs:line 367

    prijde mi to jako bug gridu, ale nejsem si jistej. Navic mi prijde divny ze by na to jeste nikdo nenarazil...
    SUK
    SUK --- ---
    GOSHEWAN: Netusim. V ticku delam bud presun nebo claim a nikdy jsem to nesledoval. Jen jednou jsem meril kolik mi to dava a bylo to trosku min, protoze mi nekdo nodiky uzira...
    GOSHEWAN
    GOSHEWAN --- ---
    (mluvime o teoreticke maximalni hodnote bez failu a za predpokladu vzdy claimable nodu)
    GOSHEWAN
    GOSHEWAN --- ---
    SUK: Ty mas 0.5 nodu na agenta za tick? Ja se porad jeste uplne neorientuju v tom warmup a cooldown, takze to asi chapu spatne, nicmene zatim jsem vychazel z toho, ze claim + move trvaji celkem 3 ticky -> maximalne 1/3 nodu na agenta za tick. Jak to tedy je?
    SUK
    SUK --- ---
    Hele, na to kaslu... za 480 ticku si nahrabu 4800 nodu. To mi za tu tisicovku expu a minusovy nody fakt nestoji :) Kdybys byl bliz, tak mozna...
    PJOTRIK
    PJOTRIK --- ---
    Mistni hackeri uz to asi vedi, ale potesilo... haste okamzite funguje i na sesilajiciho agenta takze toho desitkovyho cooldownu neni treba se bat :-)
    SUK
    SUK --- ---
    Tyvole! 480 ticku? To si ze me delate prdel ne? q
    GOSHEWAN
    GOSHEWAN --- ---
    SUK: Ty to mas za pekne dlouho. Uvidime jestli je posle znovu, az mu je (snad) opet killnu.
    SUK
    SUK --- ---
    Jdu :D
    GOSHEWAN
    GOSHEWAN --- ---
    Neni tu nekdo kdo si chce splnit defent another player task? Zde to je celkem zadarmo (:
    GOSHEWAN
    GOSHEWAN --- ---
    To by byla dost hloupa utilitka (: Na druhou stranu mi to dava alespon expy, kdyz uz nic jineho...
    SUK
    SUK --- ---
    Asi ma neajakou utilitku, co to dela za nej :D
    GOSHEWAN
    GOSHEWAN --- ---
    Hm, tak zatim na me ani jednou nezautocil, pouze mu zabijim agenty... co mi prijde ale divne je fakt, ze je na me okamzite posila znovu ackoli musi videt, ze nezvladaji (a to je posila tak, jak umrou, tzn. nesynchronizovane)
    ESY
    ESY --- ---
    GOSHEWAN: v ty dobe te nikdo nemuze raidovat a ty muzes pouzivat jen lvl 1 agenty :]
    GOSHEWAN
    GOSHEWAN --- ---
    Dalsi ze serie dotazu - k cemu presne je maintenance period?
    PJOTRIK
    PJOTRIK --- ---
    GOSHEWAN: jo, meli by byt opraveny. A predtim ostatne byli rozbity i AllAgents. Osobne uz jsem ale taky presel na AllAgents. Na poznavani kamosu pri raidu/obrane pouzivam AgentUpdate.Action
    Kliknutím sem můžete změnit nastavení reklam