Jak otworzyć mapę? 5707 4

O temacie

Autor RafalBudzis

Zaczęty 11.09.2011 roku

Wyświetleń 5707

Odpowiedzi 4

RafalBudzis

RafalBudzis

Użytkownicy
posty1967
Propsy808
ProfesjaSkrypter
  • Użytkownicy

RafalBudzis

Jak otworzyć mapę?
2011-09-11, 21:13(Ostatnia zmiana: 2011-09-11, 21:14)
Mam problem mam mapę kolonii która działa ale chcę ją otworzyć w monologu

func VOID PC_czynnosci2_Info()
{
AI_StopProcessInfos (self);
self.aivar[AIV_INVINCIBLE]=FALSE;
AI_UseItem (hero, ItWrWorldmap);
};

to niestety nie działa w ogóle zmienia się tylko pozycja kamery jak do wyświetlenia mapy lecz mapy nie wyświetla :/ dlaczego ??


RafalBudzis

RafalBudzis

Użytkownicy
posty1967
Propsy808
ProfesjaSkrypter
  • Użytkownicy
To głupie pytanie, ale po co używasz itemu zamiast po prostu wyświetlić mapę? (instrukcja ta sama której używa item mapy)
func VOID PC_czynnosci2_Info()
{
        AI_StopProcessInfos (self);
        self.aivar[AIV_INVINCIBLE]=FALSE;
        UseWorldmap();
};

tak też nie działa bo tak na samym początku kombinowałem


RafalBudzis

RafalBudzis

Użytkownicy
posty1967
Propsy808
ProfesjaSkrypter
  • Użytkownicy
funkcja się odpala bo dopisałem w niej
PrintScreen     ("mapa", -1,-1,"font_old_20_white.tga",3);i tekst się wyświetlił.

z Zspy :

[i] 01:07 Info:  5 X:     [LoadThemeByScript]: Changed music band. .... <zError.cpp,#462>
[i] 01:07 Info:  5 X:     PlayThemeVariation: STA_DAY_STD .... <zError.cpp,#462>
[i] 01:07 Info:  5 C:     Creating Sound levelup.wav   (single)  .... <zSndMSS.cpp,#1037>
[i] 01:08 Info:  5 C:     Creating Sound Instance MFX_BARRIERE_AMBIENT   (alternative: 0) .... <zSndMSS.cpp,#1208>
[i] 01:10 Info:  4 B:     Open Container .... <oInventory.cpp,#991>
[i] 01:10 Info:  5 C:     Creating Sound Instance INV_OPEN   (alternative: 0) .... <zSndMSS.cpp,#1208>
[i] 01:11 Info:  4 B:     Close Container .... <oInventory.cpp,#1165>
[i] 01:11 Info:  5 C:     Creating Sound Instance INV_CLOSE   (alternative: 0) .... <zSndMSS.cpp,#1208>
[w] 01:11 Warn:  0 C:     lost focus, setting to windowed mode .... <zWin32.cpp,#1254>
[i] 01:29 Info:  3 B:     STAT: Entering Map-Screen ... .... <oMenu_Status.cpp,#660>
[w] 01:29 Warn:  0 C:     zCAICamera :: StartDialogCam(): listener and speaker have same position! .... <zAICamera_Dialog.cpp,#123>
[i] 01:37 Info:  1 R:     Deleting EV_PROCESSINFOS message [OK] .... <oNpcMessages.cpp,#1280>
[i] 01:43 Info:  2 U:     NPC: AI:Removed NPC Diego / PC_THIEF .... <oNPC.cpp,#8676>

chyba tyle wystarczy (od załadowania się gry do momentu zobaczenia napisu mapa)



Może ja podam całe skrypty bo chciałem to trochę skrócić ale chyba się nie da bo robie to tak :
przy otwieraniu mapy 1 otwiera się monolog
i w monologu dopiero wybieramy mapę drugą

mapy :
INSTANCE ItWrWorldmap(C_Item)
{
name = "Mapa kolonii";

mainflag = ITEM_KAT_DOCS;
flags = ITEM_MISSION;

value = 50;

visual = "ItWr_Map_01.3DS";
material = MAT_LEATHER;

scemeName = "MAP";
on_state[0] = czynnosci_S1;

description = name;
TEXT[0] = "Niestety, brakuje sporego";
TEXT[1] = "obszaru na południowym";
TEXT[2] = "zachodzie.";
TEXT[5] = NAME_Value;
COUNT[5] = value;
};

INSTANCE ItWrWorldmapOPEN(C_Item)
{
name = "Mapa kolonii";

mainflag = ITEM_KAT_DOCS;
flags = ITEM_MISSION;

value = 50;

visual = "ItWr_Map_01.3DS";
material = MAT_LEATHER;

scemeName = "MAPSEALED";
on_state[0] = UseWorldmap;

description = name;
TEXT[0] = "Niestety, brakuje sporego";
TEXT[1] = "obszaru na południowym";
TEXT[2] = "zachodzie.";
TEXT[5] = NAME_Value;
COUNT[5] = value;
};

FUNC VOID UseWorldmap()
{


PrintScreen     ("mapa", -1,-1,"font_old_20_white.tga",3);

var int nDocID;

nDocID = Doc_CreateMap ()  ; // DocManager
Doc_SetLevel ( nDocID, "WORLD.ZEN" );
Doc_SetPages ( nDocID, 1 );                        
Doc_SetPage ( nDocID, 0, "Map_World.tga", 1 );  //  1 -> DO NOT SCALE

/*   Doc_SetFont ( nDocID, 0, "font_15_book.TGA" ); // -1 -> all pages
Doc_SetMargins ( nDocID, 0, 120, 80, 10, 10, 1 );  //  0 -> Textrahmen (von den Ränder des TGAs aus, links-oben,rechts-unten)
Doc_PrintLine ( nDocID, 0, "Karte der" );
Doc_PrintLine ( nDocID, 0, "Kolonie" );

// FIXME: mehrere Texte an verschiedenen Stellen für Location-Beschriftung funzen nicht.
  Doc_SetFont ( nDocID, 0, "font_10_book.TGA" );
Doc_SetMargins ( nDocID, 0, 110, 300, 10, 10, 1 );
Doc_PrintLine ( nDocID, 0, "Neues Lager");

Doc_SetMargins ( nDocID, 0, 350, 200, 10, 10, 1 );
Doc_PrintLine ( nDocID, 0, "Altes Lager");

Doc_SetMargins ( nDocID, 0, 200, 420, 10, 10, 1 );
Doc_PrintLine ( nDocID, 0, "Dämonenbeschwörer");

Doc_SetMargins ( nDocID, 0, 510, 340, 10, 10, 1 );
Doc_PrintLine ( nDocID, 0, "Sekten-Lager");
*/

Doc_Show ( nDocID );
};

Monolog:

func void czynnosci_S1 ()
{
var C_NPC her; her = Hlp_GetNpc(PC_Hero);
var C_NPC rock; rock = Hlp_GetNpc(PC_Rockefeller);

//***ALT** if (Hlp_GetInstanceID (self)== Hlp_GetInstanceID (Hero)) // MH: geändert, damit kontrollierte NSCs nicht schlafen können!
if ( (Hlp_GetInstanceID(self)==Hlp_GetInstanceID(her))||(Hlp_GetInstanceID(self)==Hlp_GetInstanceID(rock)) )
{
monolog = czynnosci;
self.aivar[AIV_INVINCIBLE]=TRUE;
Ai_ProcessInfos (her);

};
};
FUNC INT czynnosci_TRUE()
{
if (monolog == czynnosci)
{
return TRUE;
};
};



INSTANCE PC_Noczynnosci (c_Info)

{
npc = PC_Hero;
nr = 999;
condition = czynnosci_TRUE;
information = PC_Noczynnosci_Info;
important = 0;
permanent = 1;
description = DIALOG_ENDE;
};

func VOID PC_Noczynnosci_Info()
{
AI_StopProcessInfos (self);
self.aivar[AIV_INVINCIBLE]=FALSE;

};

INSTANCE PC_czynnosci2 (c_Info)

{
npc = PC_Hero;
nr = 1;
condition = czynnosci_TRUE;
information = PC_czynnosci2_Info;
important = 0;
permanent = 1;
description = "Otrzórz Mape";
};

func VOID PC_czynnosci2_Info()
{
AI_StopProcessInfos (self);
self.aivar[AIV_INVINCIBLE]=FALSE;
CreateInvItem (hero, ItWrWorldmapOPEN);
AI_UseItem (hero, ItWrWorldmapOPEN);


};


0 użytkowników i 1 Gość przegląda ten wątek.
0 użytkowników
Do góry