Stránka 1 z 1

Rozne napady k tvorbe v nwn

Napsal: 30. 11. 2008 22.50
od Sylmael
Potrebne subory :

Kód: Vybrat vše

http://www.ulozisko.sk/131124/sylmael_subory.rar  * NOVE ku dnu 7.2.2009
http://www.sylmael.wz.cz/docasne/navod.doc  * NOVE ku dnu 1.12.2008
Popis suborov :

navod.doc - obsahuje popis roznych systemov a napadov co som za tie roky nazbieral (otvorit vo wordpade)
sylmael_subory.rar - obsahuje subory spominane v navod.doc (balene winrarom v3.70)

Zoznam spominanych systemov :
  • System vizualneho rocneho obdobia
    Zakrytie vypisu levelov a povolani hracov pri lognuti na server
    Viditelne dynamicke zbrane
    Zakrytie vypisov "xxx sa pripojil ako hrac" atd..
    Odstranenie svietiacich placeablov (rozne napady k featom)
    Odstranenie jasneho svetla u placeablov (ohniste, pochodne...)
    System obchodov
    System prenosnych mrtvol
    System odkazov na nastenke
PS: Ak by bol zaujem, mozem niektoru temu zo suboru navod.doc lepsie rozvinut a objasnit. Pripadne gramaticke chyby mi hlaste do PM nech to opravim.

Napsal: 1. 12. 2008 0.39
od Jon
Pěkné. Zvláště bych ocenil zakrytí levelů a povolání postav při lognutí na server :)

Napsal: 1. 12. 2008 0.59
od Roma
Diky za tip k zakruti v gui a za tu zari.

Jone, komu to vadi, jako me tak si to zakryje sam...

Napsal: 1. 12. 2008 1.20
od drake127
Jon píše:Pěkné. Zvláště bych ocenil zakrytí levelů a povolání postav při lognutí na server :)
Nelze* vynutit.

*) Natolik rizikové a netriviální, že nemá význam doufat.

Napsal: 1. 12. 2008 18.55
od Sylmael
UPDATE suborov ku dnu 1.12.2008

Co sa zmenilo :
* novy aurora_gui.bif ktory zakryva LEN povolanie a level hracov vo vypise hracov. Mena a ikonky postav su odkryte.
* TYP1_aurora_gui.bif je stary subor ktory zakryva celu plochu vypisu hracov na serveri.

Napsal: 1. 12. 2008 20.32
od Croden
Supr. :bigwink:

Napsal: 13. 1. 2009 18.08
od Sylmael
Pre nwnx vysiel plugin co odstrani zobrazenie hracov a ich povolani/levelov na strane serveru!

POPIS :
* pri lognuti hraca je komplet cely vypis hracov na serveri potlaceny a hrac vidi len ciernu obrazovku
* tvorca tohto pluginu pribalil k tomu source + skompilovany plugin pre win a linux

http://www.nwnx.org/phpBB2/viewtopic.ph … 61d24db873

Napsal: 13. 1. 2009 20.08
od Street_cz
odstranění zobrazení lvlů/povolání - dobrý... odstranění seznam postav - ne (výpis hráčů - černá talbulka)

Napsal: 27. 1. 2009 0.04
od Sylmael
Sposob pre WB ako zistit ci placeable (inventar) je zabugovany/zamrznuty.

Pri zamrznutom placeabli funguju uz len 2 eventy a to OnUsed a OnClick. Nas bude zaujimat prave OnUsed.

Eventy na placeabli sa spustaju v tomto poradi :
OnOpen, OnUsed
OnClose, OnUsed

Nasledujuce scripty zistia ci je placeable zamrznuty.

placeable->OnOpen a placeable->OnClose

Kód: Vybrat vše

void main()
{
    SetLocalInt(OBJECT_SELF, "isOK", 1);
}
placeable->OnUsed

Kód: Vybrat vše

void main()
{
    object oChest = OBJECT_SELF;
    object oPC = GetLastUsedBy();

    if (GetLocalInt(oChest, "isOK"))
    {
        SendMessageToPC(oPC, "Placeable - OK");
        SetLocalInt(oChest, "isOK", 0);
    }
    else
    {
        SendMessageToPC(oPC, "Placeable - FROZEN!");
    } 
}

UPDATE

Napsal: 7. 2. 2009 13.10
od Sylmael
Update sylmael_subory.rar - subor dyngear.hak (celkom hore je odkaz na download)

BUG FIX

Napsal: 8. 2. 2009 18.25
od Sylmael
Moje fixnutie bugu u viriveho utoku

Popis bugu
  • :excl: Postava sa zasekne pri vykonani viriveho utoku a potom neutoci.
    :excl: Spamovanie viriveho utoku v action queue aurora enginu zasekne postavu
Riesenie
  • :excl: feats.2da riadky 867 a 868 nastavit ReqAction na 0
    :excl: uprava scriptu x2_s2_whirl.nss
    :excl: mala uprava v animacii a_ba_casts.mdl (odstranit impact_node cast)
uprava scriptu x2_s2_whirl

Kód: Vybrat vše

// Po skonceni 10s cooldownu je feat viriveho utoku znova pouzitelny
void WhirlwindCooldown(object oPC)
{
    SetLocalInt(oPC, "VIR", 0);
    SendMessageToPC(oPC, "Whirlwind active!");
}

void main()
{
    // Zaciatok mojich uprav
    object oPC = OBJECT_SELF;

    // Premenna zabrani spamovaniu viriveho utoku (co sposobilo zaseknutie postavy)
    if (GetLocalInt(oPC, "VIR") == 1)
    {
        SendMessageToPC(oPC, "Whirlwind cooldown...");
        return;
    }
    SetLocalInt(oPC, "VIR", 1);
    DelayCommand(10.0f, WhirlwindCooldown(oPC));

    ClearAllActions(TRUE);
    // Koniec mojich uprav

    // Bioware script
    int bImproved = (GetSpellId() == 645);// improved whirlwind

    // * GZ, Sept 09, 2003 - Added dust cloud to improved whirlwind
    if (bImproved)
    {
      effect eVis = EffectVisualEffect(460);
      DelayCommand(1.0f,ApplyEffectToObject(DURATION_TYPE_INSTANT,eVis,OBJECT_SELF));
    }

    DoWhirlwindAttack(TRUE,bImproved);
}
Cooldown
Cooldown premenna nepocita s relogmi hraca. Preto je lepsie ukladat na hraca timestamp premennu. Uvedeny priklad je tu len pre lepsie pochopenie.

Napsal: 13. 6. 2009 14.52
od Sylmael

Script sluzi na IC komunikaciu hracov navzajom oddelenych od seba dverami od domu.
(a dalsimi OOC prechodmi medzi lokaciami typu exterior-interior)


Priklad pouzitia :
Hrac A pride k dveram a napise *klope na dvere*.
Hrac B ktory je v druhej lokacii blizko dveri uvidi nad dverami spravu *klope na dvere*. Zareaguje nato slovami "Kto tam?"…. atd

Kód: Vybrat vše

// Integrovat do Module->OnChat eventu

void main()
{
    object oPC   = GetPCChatSpeaker();
    string sMsg  = GetPCChatMessage();
    object oDoor = GetNearestObject(OBJECT_TYPE_DOOR, oPC);

    if (GetIsObjectValid(oDoor) && GetDistanceBetween(oPC, oDoor) < 2.0f)
    {
        object oWhere = GetTransitionTarget(oDoor);
        if (GetIsObjectValid(oWhere)) AssignCommand(oWhere, ActionSpeakString(sMsg));
    }
}