Nowe menu statystyk. 9469 18

O temacie

Autor Toworish

Zaczęty 10.03.2016 roku

Wyświetleń 9469

Odpowiedzi 18

Toworish

Toworish

Użytkownicy
http://chomikuj.pl/ToWoRiSh
posty1664
Propsy254
ProfesjaNierób
  • Użytkownicy
  • http://chomikuj.pl/ToWoRiSh

Toworish

Nowe menu statystyk.
2016-03-10, 08:03(Ostatnia zmiana: 2016-03-10, 22:00)
Noo witam :D
Na wstępie chciałbym dodać że gdyby nie pomoc Splash'a oraz SiemaczyS'a ten tutek wgl by nie powstał.
Podziękowania też dla Rafała Budzis'a, będziemy używać jego przeźroczystej czcionki z BudzisSkryptMod'a

Do napisania tego samouczka skłonił mnie ten temat: http://themodders.org/index.php?topic=26035.0
Darkmodders'a głowiłem się, doszedłem do wniosku że się nie da i trzeba napisać nowe menu. Jak się później okazało niepotrzebnie bo w tamtym temacie jest podany sposób na edycję standardowego Menu_Status.d

Ale to nic, może ktoś uzna że mój sposób jest mu wygodniejszy, ja się nauczyłem przynajmniej czegoś nowego..


Zaczynamy, do tego sposobu jak i tego który podał SiemaczyS w temacie powyzej wymagany jest ikarus oraz lego. więc jeśli ich nie macie odsyłam was do : http://themodders.org/index.php?topic=16580

Jest? ok:
idziemy do: _work\data\Scripts\System\Menu\Menu_Status.d
i zamieniamy jego zawartość na:
instance MENU_STATUS (C_MENU_DEF)
{
items[0] = "MENU_ITEM_STATUS_HEADING";
// ---------------------------------------------
items[2] = "MENU_ITEM_LEVEL";
items[4] = "MENU_ITEM_EXP";
items[6] = "MENU_ITEM_LEVEL_NEXT";

};

instance MENU_ITEM_STATUS_HEADING(C_MENU_ITEM_DEF)
{

};

instance MENU_ITEM_LEVEL(C_MENU_ITEM_DEF)
{
posx = 60; posy = 60;
fontName = STAT_FONT_BRAK;
flags = flags & ~IT_SELECTABLE;
};

INSTANCE MENU_ITEM_EXP(C_MENU_ITEM_DEF)
{
posx = 60; posy = 60;
fontName = STAT_FONT_BRAK;
flags = flags & ~IT_SELECTABLE;
};

INSTANCE MENU_ITEM_LEVEL_NEXT(C_MENU_ITEM_DEF)
{
posx = 60; posy = 60;
fontName = STAT_FONT_BRAK;
flags = flags & ~IT_SELECTABLE;
};
To trzeba zostawić, bo są to rzeczy jakoś chyba zakodowane w silniku gry :D

teraz idziemy do: _work\data\Scripts\System\Menu\Menu_Defines.d
Pod linijką: const string MENU_FONT_BRIGHT = "font_old_10_white_hi.tga";wklejamy:
const string STAT_FONT_BRAK = "100.tga";To poprostu przeźroczysta czcionka aby nam nie wyświetlało ilości lvl/exp/nextexp z orginalnego menu statystyk.
Okej to by bylo tyle z folderem system, idziemy teraz do:
_work\data\scripts\content\story\text.d
szukamy tabeli: CONST STRING TXT_TALENTSI zmieniamy jej zawartość na:
CONST STRING TXT_TALENTS [23] =
{
"", //NPC_TALENT_UNKNOWN = 0;
"", //NPC_TALENT_1H = 1;
"", //NPC_TALENT_2H = 2;
"", //NPC_TALENT_BOW = 3;
"", //NPC_TALENT_CROSSBOW = 4;
"", //NPC_TALENT_PICKLOCK = 5; //wird jetzt per DEX geregelt UND es gibt nur noch Level 0 und 1 (nicht mehr 2)
"", //altes Pickpocket aus Gothic 1 - NICHT benutzen! Bleibt als Relikt im Code = 6;
"", //NPC_TALENT_MAGE = 7; // Magiekreis
"", //NPC_TALENT_SNEAK = 8;
"", //raus //NPC_TALENT_REGENERATE = 9;
"", //raus //NPC_TALENT_FIREMASTER = 10;
"", //NPC_TALENT_ACROBAT = 11;
"", //NPC_TALENT_PICKPOCKET = 12; //NEUES Pickpocket
"", //NPC_TALENT_SMITH = 13;
"", //NPC_TALENT_RUNES = 14;
"", //NPC_TALENT_ALCHEMY = 15;
"", //NPC_TALENT_TAKEANIMALTROPHY = 16;
"", //NPC_TALENT_FOREIGNLANGUAGE = 17;
"", //NPC_TALENT_WISPDETECTOR = 18;
"", //NPC_TALENT_C = 19;
"", //NPC_TALENT_D = 20;
"", //NPC_TALENT_E = 21;
"" //NPC_TALENT_F = 22;

};

Szukamy też:
CONST STRING TXT_TALENTS_SKILLSI zmieniamy jej zawartość na:
CONST STRING TXT_TALENTS_SKILLS [23] =
{
"", //NPC_TALENT_UNKNOWN = 0;
"", //NPC_TALENT_1H = 1;
"", //NPC_TALENT_2H = 2;
"", //NPC_TALENT_BOW = 3;
"", //NPC_TALENT_CROSSBOW = 4;
"", //NPC_TALENT_PICKLOCK = 5; //wird jetzt per DEX geregelt UND es gibt nur noch Level 0 und 1 (nicht mehr 2)
"", //altes Pickpocket aus Gothic 1 - NICHT benutzen! Bleibt als Relikt im Code = 6;
"", //NPC_TALENT_MAGE = 7; // Magiekreis
"", //NPC_TALENT_SNEAK = 8;
"", //raus //NPC_TALENT_REGENERATE = 9;
"", //raus //NPC_TALENT_FIREMASTER = 10;
"", //NPC_TALENT_ACROBAT = 11;
"", //NPC_TALENT_PICKPOCKET = 12; //NEUES Pickpocket
"", //NPC_TALENT_SMITH = 13;
"", //NPC_TALENT_RUNES = 14;
"", //NPC_TALENT_ALCHEMY = 15;
"", //NPC_TALENT_TAKEANIMALTROPHY = 16;
"", //NPC_TALENT_FOREIGNLANGUAGE = 17; //ADDON
"", //NPC_TALENT_WISPDETECTOR = 18;
"", //NPC_TALENT_C = 19;
"", //NPC_TALENT_D = 20;
"", //NPC_TALENT_E = 21;
"" //NPC_TALENT_F = 22;
};

Mamy? Noo to już jesteśmy blisko końca :)

Teraz tak Tworzymy sobię plik o nazwie: Zmienne_MenuStatus.d
w folderze _work/data/content/story
i definiujemy go w pliku gothic.src pod Story_Globals.d

Zawartość Zmienne_MenuStatus:
  // --------------------------------------------//
 // ---------- ZMIENNE LICZBOWE ----------------//
// --------------------------------------------//

// ---- Zmienna MenuStatus ---- //
var int StatusScreenOpen;

// ---- Reputacja ---- //
var int RepKDW;

// ---- VIEW ---- //
var int View;


// ---- Zmienne pos x atr.mana ----//
var int ManaX;//x, x2, x3 zmienne pozycji many
var int ManaX2;// czyli są to zmienne liczbowe które wyświetlimy w menu :)
var int ManaX3;

// -- Zmienne pos x atr.hp --//
var int HpX;//jak wyżej z maną. Tylko tutaj z hp
var int HpX2;
var int HpX3;


   // ------------------------------------------ //
  // ---------- ZMIENNE ----------------------- //
 // ------------------------------------------ //

// ---- LVL ----//
var int lvl;//Zmienna liczbowa poziomu.

// ---- MANA-KRĘGI ---- //
var int manakreise;

// ---- EXP ---- //
var int exp;

// ---- N.EXP ---- //
var int nexp;

// ---- LP ---- //
var int lp;

   // --------------------------------------- //
  // ------------- ATRYBUTY ---------------- //
 // --------------------------------------- //
 
// ---- Siła ---- //
var int str;

// ---- Zręka ---- //
var int dex;

// ---- Mana ---- //
var int mana;// zmienna liczbowa many
var int mmana;// zmienna liczbowa max many

// ---- PŻ ---- //
var int hp; // zmienna hp
var int mhp;// max hp

   // ------------------------------------- // 
  // ---------- OCHRONA ------------------ //
 // ------------------------------------- //
 
// ---- Przed bronią ---- //
var int edgw;

// ---- Przed strzałami ---- //
var int edgp;

// ---- Przed ogniem ---- //
var int edgf;

// ---- Przed magią ---- //
var int edgm;

   // ---------------------------------- //
  // --------- UMIEJĘTNOŚCI ----------- //
 // ---------------------------------- //
 
// ---- 1H ---- //
var int posX1h; //zmienna pozycji było to już wyjaśniane
var int posX1h2;
var int posX1h3;
var int posX1h4; // "%"
var int JedenH; // Procent szansy trafienia 1h

// ---- 2H ---- //
var int posX2h; //zmienna pozycji było to już wyjaśniane
var int posX2h2;
var int posX2h3;
var int posX2h4; // "%"
var int DwaH; // Procent szansy trafienia 2h

// ---- Łuk ---- //
var int posXbow; //zmienna pozycji było to już wyjaśniane
var int posXbow2;
var int posXbow3;
var int posXbow4; // "%"
var int BoW; // Procent szansy trafienia Łuk

// ---- Kusza ---- //
var int posXCboW; //zmienna pozycji było to już wyjaśniane
var int posXCboW2;
var int posXCboW3;
var int posXCboW4; // "%"
var int CboW; // Procent szansy trafienia Kusza

  // --------------------------------------------//
 // ---------- ZMIENNE TEKSTOWE ----------------//
// --------------------------------------------//

var string guild;//zmienna tekstowa gildii

   // ------------------------------------------ //
  // ---------- ZMIENNE ----------------------- //
 // ------------------------------------------ //
// ---- LVL ----//
var string lvlt;//Zmienna tekstowa lvl.

// ---- MANA-KRĘGI ---- //
var string manakreiseT;

// ---- EXP ---- //
var string expt;

// ---- N.EXP ---- //
var string nexpt;

// ---- LP ---- //
var string lpt;

   // --------------------------------------- //
  // ------------- ATRYBUTY ---------------- //
 // --------------------------------------- //
// ---- Siła ---- //
var string strt;

// ---- Zręka ---- //
var string dext;

// ---- Mana ---- //
var string manat;// zmienna tekstowa many
var string mmanat;// zmienna tekstowa max many

// ---- PŻ ---- //
var string hpt;
var string mhpt;

   // ------------------------------------- // 
  // ---------- OCHRONA ------------------ //
 // ------------------------------------- //
// ---- Przed bronią ---- //
var string edgwt;

// ---- Przed strzałami ---- //
var string edgpt;

// ---- Przed ogniem ---- //
var string edgft;

// ---- Przed magią ---- //
var string edgmt;

   // ---------------------------------- //
  // --------- UMIEJĘTNOŚCI ----------- //
 // ---------------------------------- //
// ---- 1H ---- //
var string skill1h; //zielony|wojownik|Mistrz
var string JedenHtext;

// ---- 2H ---- //
var string skill2h; //zielony|wojownik|Mistrz
var string DwaHtext;

// ---- Łuk ---- //
var string skillbow; //zielony|wojownik|Mistrz
var string BowText;

// ---- Kusza ---- //
var string skillCboW; //zielony|wojownik|Mistrz
var string CboWText;

// ---- Skradanie się ---- //
var string SkillSneak; // -|Uczony

// ---- Włamywanie się ---- //
var string SkillPicklock; // -|Uczony

// ---- Kradzież ---- //
var string SkillPickpocket;

// ---- Tworzenie run ---- //
var string SkillRunes;

// ---- Alchemia ---- //
var string SkillAlchemy;

// ---- Kowalstwo ---- //
var string SkillSmith;

// ---- Patroszenie ---- //
var string SkillTakeAnimalTrophy;

// ---- REPUTACJA ---- //
var string RepKdwT;

Mamy? ok.

ja zwykłem w _work/data/scripts/content tworzyć folder o nazwie _misc i taki też tworzymy

Potem w Gothic.src dopisujemy prawie że na końcu tuż przed Startup.d taki wpis:
_Misc\*.d
Mamy? ok
To wchodzimy do folderu _misc i tworzymy plik o nazwie np: Menu.d
a w tym pliku wklejamy:
func void OpenStatusScreenHook () // Otwórz menu status
{

if(hero.attribute[ATR_MANA]<=9)// Oznacza że jeśli hero ma mniej lub równo: "9" many
{
ManaX = 1800; // pozycja/zmienna wyświetlania many to 1800
ManaX2 = ManaX + 100; // pozycja/zmienna ukośnika pomiędzy to 1800 z wyżej plus 100
ManaX3 = ManaX + 150; // pozycja/zmienna max many to 1800 plus 150
}else if(hero.attribute[ATR_MANA]<=99) // jeśli ma mniej bądź równo 99 many
{
ManaX = 1800; // x = 1400 trzeba dodać żeby wiedział czym jest mana x gdy np wczytasz grę czy coś :D
ManaX2 = ManaX + 150; // plus 150
ManaX3 = ManaX + 200; // plus 200  tu już jak wyżej tylko większe liczby
}else if(hero.attribute[ATR_MANA]<=999) // mniej bądź równo 999
{
ManaX = 1800; //wiadomo
ManaX2 = ManaX + 200;// plus 200
ManaX3 = ManaX + 250;// plus 250
}else if(hero.attribute[ATR_MANA]<=9999)// wiadomo
{
ManaX = 1800;//wiadomo
ManaX2 = ManaX + 300;//wiadomo
ManaX3 = ManaX + 350;//wiadomo
// UWAGA!! czemu zwiększamy pozycję "X" ? a no bo liczba 100 zajmuję więcej miejsca niż 10 i nie mogą na siebie nachodzić
};

if(hero.attribute[ATR_HITPOINTS]<=9)
{
HpX = 1800;// Tutaj to samo co było z maną
HpX2 = HpX + 100;
HpX3 = HpX + 150;
}else if(hero.attribute[ATR_HITPOINTS]<=99)
{
HpX = 1800;
HpX2 = HpX + 150;
HpX3 = HpX + 200;
}else if(hero.attribute[ATR_HITPOINTS]<=999)
{
HpX = 1800;
HpX2 = HpX + 200;
HpX3 = HpX + 250;
}else if(hero.attribute[ATR_HITPOINTS]<=9999)
{
HpX = 1800;
HpX2 = HpX + 250;
HpX3 = HpX + 300;
}; // aż dotąd.

if (hero.guild == 0)//jeśli hero ma gildie zerową
{
guild = "Brak";// to wyświetl jej nazwę (BRAK)
} else if (hero.guild == 1)//jesli ma gildię nr 1
{
guild = "Palladyn"; // wyświetli (PALLADYN)
}else if (hero.guild == 2) // i tak dalej.
{
guild = "Strażnik";
}else if (hero.guild == 3)
{
guild = "Obywatel";
}else if (hero.guild == 4)
{
guild = "Mag Ognia";
}else if (hero.guild == 5)
{
guild = "Nowicjusz";
}else if (hero.guild == 6)
{
guild = "Łowca Smoków";
}else if (hero.guild == 7)
{
guild = "Najemnik";
}else if (hero.guild == 8)
{
guild = "Farmer";
}else if (hero.guild == 9)
{
guild = "Bandyta";
}else if (hero.guild == 10)
{
guild = "Skazaniec";
}else if (hero.guild == 11)
{
guild = "Poszukiwacz";
}else if (hero.guild == 12)
{
guild = "Mieszkaniec";
}else if (hero.guild == 13)
{
guild = "Pirat";
}else if (hero.guild == 14)
{
guild = "Mag Wody";
}else if (hero.guild == 17)
{
guild = "Chrząszcz";
}else if (hero.guild == 18)
{
guild = "Owca";
}else if (hero.guild == 19)
{
guild = "Goblin";
}else if (hero.guild == 20)
{
guild = "Szkielet-goblin";
}else if (hero.guild == 21)
{
guild = "Prz. Szkielet Goblin";
}else if (hero.guild == 22)
{
guild = "Ścierwojad";
}else if (hero.guild == 23)
{
guild = "Olbrzymi szczur";
}else if (hero.guild == 24)
{
guild = "Polna bestia";
}else if (hero.guild == 25)
{
guild = "Krwiopijca";
}else if (hero.guild == 26)
{
guild = "Jaszczór";
}else if (hero.guild == 27)
{
guild = "Wilk";
}else if (hero.guild == 28)
{
guild = "Prz. Wilk";
}else if (hero.guild == 29)
{
guild = "Pełzacz";
}else if (hero.guild == 30)
{
guild = "Topielec";
}else if (hero.guild == 31)
{
guild = "Szkielet";
}else if (hero.guild == 32)
{
guild = "Prz. Szkielet";
}else if (hero.guild == 33)
{
guild = "Szkielet-Mag";
}else if (hero.guild == 34)
{
guild = "Zombie";
}else if (hero.guild == 35)
{
guild = "Zębacz";
}else if (hero.guild == 36)
{
guild = "Cieniostwór";
}else if (hero.guild == 37)
{
guild = "Szkielet-potwór";
}else if (hero.guild == 38)
{
guild = "Harpia";
}else if (hero.guild == 39)
{
guild = "Kamienny golem";
}else if (hero.guild == 40)
{
guild = "Ognisty golem";
}else if (hero.guild == 41)
{
guild = "Lodowy golem";
}else if (hero.guild == 42)
{
guild = "Prz. golem";
}else if (hero.guild == 43)
{
guild = "Demon";
}else if (hero.guild == 44)
{
guild = "Prz. demon";
}else if (hero.guild == 45)
{
guild = "Troll";
}else if (hero.guild == 46)
{
guild = "Wąż błotny";
}else if (hero.guild == 47)
{
guild = "Smok";
}else if (hero.guild == 48)
{
guild = "Kretoszczur";
}else if (hero.guild == 49)
{
guild = "Aligator";
}else if (hero.guild == 50)
{
guild = "Błotny golem";
}else if (hero.guild == 51)
{
guild = "Strażnik";
}else if (hero.guild == 52)
{
guild = "Kamienna puma";
}else if (hero.guild == 54)
{
guild = "Prz. Strażnik";
}else if (hero.guild == 55)
{
guild = "Prz.Zombie";
}else if (hero.guild == 59)
{
guild = "Ork";
}else if (hero.guild == 60)
{
guild = "Ork";
}else if (hero.guild == 61)
{
guild = "Ork-ożywieniec";
}else if (hero.guild == 62)
{
guild = "Smokowiec";
};//nooo kurwa wszystkie :)

   // ------------------------------------------ //
  // ---------- ZMIENNE ----------------------- //
 // ------------------------------------------ //
// ---- LVL ----------------------------------//
lvl = hero.level;//zmienna liczbowa lvl(var int lvl) to aktualny level hero.
lvlt = IntToString(lvl);// Zamień zmienną tekstową (var string lvlt) na zmienną liczbową lvl (var int lvl).

// ---- MANA-KRĘGI ----------------------- //
manakreise = Npc_GetTalentSkill(hero, NPC_TALENT_MAGE);// zmienna liczbowa manakreise to aktualny krąg magii hero.
manakreiseT = IntToString(manakreise);// zamień zmienną tekstową na liczbę kręgu magii.

// ---- EXP ----------------------------- //
exp = hero.exp; // zmienna liczbowa (var int exp) to doświadczenie hero.
expt = IntToString(exp); // zamień zmienną tekstową na liczbową aby ją wyświetlić

// ---- N.EXP ---- //
nexp = hero.exp_next; // zmienna liczbowa (var int nexp).
nexpt = IntToString(nexp); // zamiana zmiennej tekstowej (var string nexpt).

// ---- LP ---- //
lp = hero.lp; // Noo i to się tak ciągnie
lpt = IntToString(lp);

   // --------------------------------------- //
  // ------------- ATRYBUTY ---------------- //
 // --------------------------------------- //
// ---- Siła ----------------------------- //
str = hero.attribute[ATR_STRENGTH]; // było tłumaczone z tymi zmiennymi i zamianą.
strt = IntToString(str);

// ---- Zręka ---- //
dex = hero.attribute[ATR_DEXTERITY]; // też
dext = IntToString(dex);

// ---- Mana ---- // -- TUTAJ!!!!.... Mana i pż jest nieco bardziej skomplikowane:
mana = hero.attribute[ATR_MANA];// mana to aktualna ilość many hero
mmana = hero.attribute[ATR_MANA_MAX];// mmana to maxymalna ilość many hero
manat = IntToString(mana);// manat wyżej jako zmienna tekstowa. Teraz zmieniamy ją na zmienną liczbową
mmanat = IntToString(mmana);// jak wyżej chodzi o to aby wyświetlało ( CYFRĘ )

// ---- PŻ ---- //
hp = hero.attribute[ATR_HITPOINTS];
mhp = hero.attribute[ATR_HITPOINTS_MAX];
hpt = IntToString(hp);
mhpt = IntToString(mhp); // To samo co z maną i (max maną).

   // ------------------------------------- // 
  // ---------- OCHRONA ------------------ //
 // ------------------------------------- //
// ---- Przed bronią ------------------- //
edgw = hero.protection[PROT_EDGE];// tutaj standard było wyjaśnione
edgwt = IntToString(edgw);

// ---- Przed strzałami ---- //
edgp = hero.protection[PROT_POINT];
edgpt = IntToString(edgp);

// ---- Przed ogniem ---- //
edgf = hero.protection[PROT_FIRE];
edgft = IntToString(edgf);

// ---- Przed magią ---- //
edgm = hero.protection[PROT_MAGIC];
edgmt = IntToString(edgm);

   // ---------------------------------- //
  // --------- UMIEJĘTNOŚCI ----------- //
 // ---------------------------------- //
// ---- 1H -------------------------- //
if (Hero.HitChance[NPC_TALENT_1H] >=0) // jeśli szansa trafienia 1h hero jest wieksz bądź równa 0
{
skill1h = "Łamaga";// Wyświetli (Łamaga).
posX1h = 4200;// ustalenia pozycji dla tekstu
posX1h2 = posX1h+1400;
posX1h3 = posX1h2+600;
posX1h4 = posX1h3+100;
};
if (Hero.HitChance[NPC_TALENT_1H] >=30)// jeśli większa bądź równa 30
{
skill1h = "Wojownik"; // to wojownik
posX1h = 4200; // ustalenia pozycji tekstu
posX1h2 = posX1h+1400;
posX1h3 = posX1h2+700;
posX1h4 = posX1h3+150;
};
if (Hero.HitChance[NPC_TALENT_1H] >=60) // jesli większa bądź równa 60
{
skill1h = "Mistrz";// mistrz
posX1h = 4200;// jak wyżej
posX1h2 = posX1h+1400;
posX1h3 = posX1h2+500;
posX1h4 = posX1h3+150;
};
if (Hero.HitChance[NPC_TALENT_1H] ==100)// jesli równa 100 ponieważ to już 3 cyfry pozycje są inne
{
posX1h = 4200;
posX1h2 = posX1h+1400;
posX1h3 = posX1h2+500;
posX1h4 = posX1h3+200;
};
JedenH = Hero.HitChance[NPC_TALENT_1H]; // zmienna liczbowa (var int JedenH) to procent szansy trafienia 1h
JedenHtext = IntToString(JedenH);// Zamiana banana na ananasy.

// ---- 2H ---- //
if (Hero.HitChance[NPC_TALENT_2H] >=0) // jeśli szansa trafienia 2h hero jest wieksz bądź równa 0
{
skill2h = "Łamaga";// to zielony
posX2h = 4200;// ustalenia pozycji dla tekstu
posX2h2 = posX2h+1400;
posX2h3 = posX2h2+600;
posX2h4 = posX2h3+100;
};
if (Hero.HitChance[NPC_TALENT_2H] >=30)// jeśli większa bądź równa 30
{
skill2h = "Wojownik"; // to wojownik
posX2h = 4200; // ustalenia pozycji tekstu
posX2h2 = posX2h+1400;
posX2h3 = posX2h2+700;
posX2h4 = posX2h3+150;
};
if (Hero.HitChance[NPC_TALENT_2H] >=60) // jesli większa bądź równa 60
{
skill2h = "Mistrz";// mistrz
posX2h = 4200;// jak wyżej
posX2h2 = posX2h+1400;
posX2h3 = posX2h2+500;
posX2h4 = posX2h3+150;
};
if (Hero.HitChance[NPC_TALENT_2H] ==100)// jesli równa 100 ponieważ to już 3 cyfry pozycje są inne
{
posX2h = 4200;
posX2h2 = posX2h+1400;
posX2h3 = posX2h2+500;
posX2h4 = posX2h3+200;
};
DwaH = Hero.HitChance[NPC_TALENT_2H]; // jak w 1h
DwaHtext = IntToString(DwaH);

// ---- Łuk ---- //
if (Hero.HitChance[NPC_TALENT_BOW] >=0) // jeśli szansa trafienia Łukiem hero jest wieksz bądź równa 0
{
skillbow = "Ślepy";
posXbow = 4200;
posXbow2 = posXbow+1400;
posXbow3 = posXbow2+600;
posXbow4 = posXbow3+100;
};
if (Hero.HitChance[NPC_TALENT_BOW] >=30)// jeśli większa bądź równa 30
{
skillbow = "Strzelec";
posXbow = 4200;
posXbow2 = posXbow+1400;
posXbow3 = posXbow2+700;
posXbow4 = posXbow3+150;
};
if (Hero.HitChance[NPC_TALENT_BOW] >=60) // jesli większa bądź równa 60
{
skillbow = "Myśliwy";
posXbow = 4200;
posXbow2 = posXbow+1400;
posXbow3 = posXbow2+500;
posXbow4 = posXbow3+150;
};
if (Hero.HitChance[NPC_TALENT_BOW] ==100)// jesli równa 100 ponieważ to już 3 cyfry pozycje są inne
{
posXbow = 4200;
posXbow2 = posXbow+1400;
posXbow3 = posXbow2+500;
posXbow4 = posXbow3+200;
};
BoW = Hero.HitChance[NPC_TALENT_BOW];// jak w 1h i 2h
BowText = IntToString(BoW);

// ---- Kusza ---- //
if (Hero.HitChance[NPC_TALENT_CROSSBOW] >=0) // jeśli szansa trafienia Łukiem hero jest wieksz bądź równa 0
{
skillCboW = "Ślepy";
posXCboW = 4200;
posXCboW2 = posXCboW+1400;
posXCboW3 = posXCboW2+600;
posXCboW4 = posXCboW3+100;
};
if (Hero.HitChance[NPC_TALENT_CROSSBOW] >=30)// jeśli większa bądź równa 30
{
skillCboW = "Strzelec";
posXCboW = 4200;
posXCboW2 = posXCboW+1400;
posXCboW3 = posXCboW2+700;
posXCboW4 = posXCboW3+150;
};
if (Hero.HitChance[NPC_TALENT_CROSSBOW] >=60) // jesli większa bądź równa 60
{
skillCboW = "Myśliwy";
posXCboW = 4200;
posXCboW2 = posXCboW+1400;
posXCboW3 = posXCboW2+500;
posXCboW4 = posXCboW3+150;
};
if (Hero.HitChance[NPC_TALENT_CROSSBOW] ==100)// jesli równa 100 ponieważ to już 3 cyfry pozycje są inne
{
posXCboW = 4200;
posXCboW2 = posXCboW+1400;
posXCboW3 = posXCboW2+500;
posXCboW4 = posXCboW3+200;
};
CboW = Hero.HitChance[NPC_TALENT_CROSSBOW]; // jak w 1h i 2h i łuku.
CboWText = IntToString(CboW);

// ---- Skradanie się ---- //
if (Npc_GetTalentSkill (hero,NPC_TALENT_SNEAK) == TRUE)// Jeśli nauczył się skradania.
{
SkillSneak = "Uczony"; // wyświetli że uczony
} else { // a jak nie
SkillSneak = "-"; // to myślnik.
};

// ---- Włamywanie się ---- //
if (Npc_GetTalentSkill (hero,NPC_TALENT_PICKLOCK) == TRUE)
{
SkillPicklock = "Uczony";
} else {
SkillPicklock = "-"; // jak ze skradaniem.
};

// ---- Kradzież ---- //
if (Npc_GetTalentSkill (hero,NPC_TALENT_PICKPOCKET) == TRUE)
{
SkillPickpocket = "Uczony";
} else {
SkillPickpocket = "-"; // jak ze skradaniem.
};

// ---- Tworzenie run ---- //
if (Npc_GetTalentSkill (hero,NPC_TALENT_RUNES) == TRUE)
{
SkillRunes = "Uczony";
} else {
SkillRunes = "-"; // jak ze skradaniem.
};

// ---- Alchemia ---- //
if (Npc_GetTalentSkill (hero,NPC_TALENT_ALCHEMY) == TRUE)
{
SkillAlchemy = "Uczony";
} else {
SkillAlchemy = "-"; // jak ze skradaniem.
};

// ---- Kowalstwo ---- //
if (Npc_GetTalentSkill (hero,NPC_TALENT_SMITH) == TRUE)
{
SkillSmith = "Uczony";
} else {
SkillSmith = "-"; // jak ze skradaniem.
};

// ---- Patroszenie ---- //
if (Npc_GetTalentSkill (hero,NPC_TALENT_TAKEANIMALTROPHY) == TRUE)
{
SkillTakeAnimalTrophy = "Uczony";
} else {
SkillTakeAnimalTrophy = "-"; // jak ze skradaniem
};
// ---- REPUTACJA ---- //
RepKdwT = IntToString(RepKDW);
// RepKdwT (var string RepKdwT) zmienna tekstowa reputacji aby ją wyświetlić.
// RepKDW (var int RepKDW) zmienna liczbowa reputacji.



StatusScreenOpen = true; // menu status = true

View = View_Create(0, 0, PS_VMax, PS_VMax);//Stwórz View
View_Open(View);// Otwórz View
View_SetTexture(View, "Menu_Staty.tga");// Dodaj Teksturkę

// ---- Postać ---- //
View_AddText(View, 800, 1400, "POSTAĆ:", "FONT_OLD_10_WHITE.TGA" );

// ---- Gildia ---- //
View_AddText(View, 500, 1800, "Gildia:", "FONT_OLD_10_WHITE.TGA" );
View_AddText(View, 1800, 1800, guild, "FONT_OLD_10_WHITE.TGA" );

// ---- Poziom ----//
View_AddText(View, 500, 2000, "Poziom:", "FONT_OLD_10_WHITE.TGA" );
View_AddText(View, 1800, 2000, lvlt, "FONT_OLD_10_WHITE.TGA" );

// ---- Kręgi Magii ---- //
View_AddText(View, 500, 2200, "Magia:", "FONT_OLD_10_WHITE.TGA" );
View_AddText(View, 1800, 2200, "Krąg", "FONT_OLD_10_WHITE.TGA" );
View_AddText(View, 2200, 2200, manakreiseT, "FONT_OLD_10_WHITE.TGA" );

// ---- Doświadczenie ---- //
View_AddText(View, 500, 2400, "Exp:", "FONT_OLD_10_WHITE.TGA" );
View_AddText(View, 1800, 2400, expt, "FONT_OLD_10_WHITE.TGA" );

// ---- Doświadczenie do następnego poziomu ---- //
View_AddText(View, 500, 2600, "N.Poziom:", "FONT_OLD_10_WHITE.TGA" );
View_AddText(View, 1800, 2600, nexpt, "FONT_OLD_10_WHITE.TGA" );

// ---- Punkty Nauki ---- //
View_AddText(View, 500, 2800, "Lp:", "FONT_OLD_10_WHITE.TGA" );
View_AddText(View, 1800, 2800, lpt, "FONT_OLD_10_WHITE.TGA" );

// ---- Atrybuty ---- //
View_AddText(View, 800, 3100, "ATRYBUTY:", "FONT_OLD_10_WHITE.TGA" );

// ---- Siła ---- //
View_AddText(View, 500, 3500, "Siła:", "FONT_OLD_10_WHITE.TGA" );
View_AddText(View, 1800, 3500, strt, "FONT_OLD_10_WHITE.TGA" );

// ---- Zręczność ---- //
View_AddText(View, 500, 3700, "Zręczność:", "FONT_OLD_10_WHITE.TGA" );
View_AddText(View, 1800, 3700, dext, "FONT_OLD_10_WHITE.TGA" );

// ---- Mana ---- //
View_AddText(View, 500, 3900, "Mana:", "FONT_OLD_10_WHITE.TGA" );
View_AddText(View, ManaX, 3900, manat, "FONT_OLD_10_WHITE.TGA" );
View_AddText(View, ManaX2, 3900, "/", "FONT_OLD_10_WHITE.TGA" );
View_AddText(View, ManaX3, 3900, mmanat, "FONT_OLD_10_WHITE.TGA" );

// ---- Hp ---- //
View_AddText(View, 500, 4100, "Pż:", "FONT_OLD_10_WHITE.TGA" );
View_AddText(View, HpX, 4100, hpt, "FONT_OLD_10_WHITE.TGA" );
View_AddText(View, HpX2, 4100, "/", "FONT_OLD_10_WHITE.TGA" );
View_AddText(View, HpX3, 4100, mhpt, "FONT_OLD_10_WHITE.TGA" );

// ---- OCHORONA ---- //
View_AddText(View, 800, 4400, "OCHRONA:", "FONT_OLD_10_WHITE.TGA" );

// ---- Broń ---- //
View_AddText(View, 500, 4800, "Przed Bronią:", "FONT_OLD_10_WHITE.TGA" );
View_AddText(View, 1800, 4800, edgwt, "FONT_OLD_10_WHITE.TGA" );

// ---- Pociski ----//
View_AddText(View, 500, 5000, "Przed Pociskami:", "FONT_OLD_10_WHITE.TGA" );
View_AddText(View, 1800, 5000, edgpt, "FONT_OLD_10_WHITE.TGA" );

// ---- Ogień ---- //
View_AddText(View, 500, 5200, "Przed Ogniem:", "FONT_OLD_10_WHITE.TGA" );
View_AddText(View, 1800, 5200, edgft, "FONT_OLD_10_WHITE.TGA" );

// ---- Magia ---- //
View_AddText(View, 500, 5400, "Przed Magią:", "FONT_OLD_10_WHITE.TGA" );
View_AddText(View, 1800, 5400, edgmt, "FONT_OLD_10_WHITE.TGA" );

// ---- UMIEJĘTNOŚCI ---- //
View_AddText(View, 4500, 1400, "UMIEJĘTNOŚCI:", "FONT_OLD_10_WHITE.TGA" );

// ---- Br. Jednoręczna ---- //
View_AddText(View, posX1h, 1800, "Broń jednoręczna:", "FONT_OLD_10_WHITE.TGA" );//broń 1h
View_AddText(View, posX1h2, 1800, skill1h, "FONT_OLD_10_WHITE.TGA" );// skill tekst
View_AddText(View, posX1h3, 1800, JedenHtext, "FONT_OLD_10_WHITE.TGA" );// skill procent
View_AddText(View, posX1h4, 1800, "%", "FONT_OLD_10_WHITE.TGA" );// "%" znaczek

// ---- Br. Dwóręczna ---- //
View_AddText(View, posX2h, 2000, "Broń dwuręczna:", "FONT_OLD_10_WHITE.TGA" );//broń 2h
View_AddText(View, posX2h2, 2000, skill2h, "FONT_OLD_10_WHITE.TGA" );// skill tekst
View_AddText(View, posX2h3, 2000, DwaHtext, "FONT_OLD_10_WHITE.TGA" );// skill procent
View_AddText(View, posX2h4, 2000, "%", "FONT_OLD_10_WHITE.TGA" );// "%" znaczek

// ---- Łuk ---- //
View_AddText(View, posXbow, 2200, "Cel. Łuk:", "FONT_OLD_10_WHITE.TGA" );//broń 2h
View_AddText(View, posXbow2, 2200, skillbow, "FONT_OLD_10_WHITE.TGA" );// skill tekst
View_AddText(View, posXbow3, 2200, BowText, "FONT_OLD_10_WHITE.TGA" );// skill procent
View_AddText(View, posXbow4, 2200, "%", "FONT_OLD_10_WHITE.TGA" );// "%" znaczek

// ---- Kusza ---- //
View_AddText(View, posXbow, 2400, "Cel. Kusza:", "FONT_OLD_10_WHITE.TGA" );//broń 2h
View_AddText(View, posXbow2, 2400, skillcbow, "FONT_OLD_10_WHITE.TGA" );// skill tekst
View_AddText(View, posXbow3, 2400, CboWText, "FONT_OLD_10_WHITE.TGA" );// skill procent
View_AddText(View, posXbow4, 2400, "%", "FONT_OLD_10_WHITE.TGA" );// "%" znaczek

// ---- Skradanie się ---- //
View_AddText(View, 4200, 2700, "Skradanie się:", "FONT_OLD_10_WHITE.TGA" );//Skradanie się
View_AddText(View, 5600, 2700, SkillSneak, "FONT_OLD_10_WHITE.TGA" );//uczony|-

// ---- Włamywanie się ---- //
View_AddText(View, 4200, 2900, "Włamywanie się:", "FONT_OLD_10_WHITE.TGA" );//Włamywanie się
View_AddText(View, 5600, 2900, SkillPicklock, "FONT_OLD_10_WHITE.TGA" );// Uczony|-

// ---- Kradzież ---- //
View_AddText(View, 4200, 3100, "Kradzież:", "FONT_OLD_10_WHITE.TGA" );//Kradzież
View_AddText(View, 5600, 3100, SkillPickpocket, "FONT_OLD_10_WHITE.TGA" );// Uczony|-

// ---- Tworzenie run ---- //
View_AddText(View, 4200, 3400, "Tworzenie run:", "FONT_OLD_10_WHITE.TGA" );//Kradzież
View_AddText(View, 5600, 3400, SkillRunes, "FONT_OLD_10_WHITE.TGA" );// Uczony|-

// ---- Alchemia ---- //
View_AddText(View, 4200, 3600, "Alchemia:", "FONT_OLD_10_WHITE.TGA" );//Kradzież
View_AddText(View, 5600, 3600, SkillAlchemy, "FONT_OLD_10_WHITE.TGA" );// Uczony|-

// ---- Kowalstwo ---- //
View_AddText(View, 4200, 3800, "Kowalstwo:", "FONT_OLD_10_WHITE.TGA" );//Kradzież
View_AddText(View, 5600, 3800, SkillSmith, "FONT_OLD_10_WHITE.TGA" );// Uczony|-

// ---- Patroszenie ---- //
View_AddText(View, 4200, 4100, "Patroszenie:", "FONT_OLD_10_WHITE.TGA" );//Kradzież
View_AddText(View, 5600, 4100, SkillTakeAnimalTrophy, "FONT_OLD_10_WHITE.TGA" );// Uczony|-

// ---- Reputacja ---- //
View_AddText(View, 4500, 4400, "REPUTACJA:", "FONT_OLD_10_WHITE.TGA" );

// ---- Reputacja u magów Wody ---- //
View_AddText(View, 4200, 4800, "Magowie wody:", "FONT_OLD_10_WHITE.TGA" );
View_AddText(View, 5600, 4800, RepKdwT, "FONT_OLD_10_WHITE.TGA" );

};

func void CloseScreenHook () //Zamknij menu status
{
    if (StatusScreenOpen) // jeśli menu status == true
    {
    View_Delete(View);// Usuń view

    StatusScreenOpen = false; // menu status = false
    };
};
// Skrypt napisany przez Splash'a z forum Themodders.org:
func void StatusScreenHookInit () // funkcja hook'a
{
const int done = false;// stała hooka, dowiedziałem się że jest ona wymagana przy niektórych hook'ah
// inaczej mogą być problemy że hook się aktywuje, a gdy zapiszesz i wczytasz grę aktywuje się po raz drugi.


    if (!done) // jeśli stała done nie jest sobą ^^
    {
    HookEngineF (4707920, 6, OpenStatusScreenHook); // spełnij warunki jesli menu status jest aktywne
    HookEngineF (5102048, 7, CloseScreenHook); // spełnij warunki jesli menu status jest nieaktywne funkcje z warunkami są wyżej.
    done = true; // don zamień na true
    };
 };

jak to zwykle w moich Samouczkach bywa, skrypty są wytłumaczone zgrubnie w komentarzach i daje wam przykładowy skrypt do modyfikacji wedle uznania.

Wejdźmy jeszcze do _work/data/content/story/startup.d i pod linijką:
LeGo_Init (LeGo_All);wklejcie:
StatusScreenHookInit ();
Wiecie chyba jak się wkleja tekstury co? noo tego nie tłumaczę. Avallah pisał że jak jest darmowy to można wrzucić chomika i tak też zrobię, aby nie zginęły te pliki. posłużyłem się teksturą menu z g1 oto link:
http://chomikuj.pl/ToWoRiSh/Gothic/Gothic+2/Tekstury+Menu

Hasło to menustatus

Aha. Aby zwiększyć reputację gdzie przykładowo dałem magów wody trzeba zwiększyć zmienną RepKDW

Np w jakimś dialogu po wykonaniu misjii dodać RepKDW = RepKDW+1;

można też zrobić procentowo dodając np 5 a znaczek procentu robimy tak jak przy 1h macie to wyżej objaśnione :)

Aa screen jakby co:
http://zapodaj.net/41ae26a21f291.jpg.html


Aaa btw. Zapomniałem dodać ze to jest do G2 bo jak się nie mylę to w g1 niema chyba LeGo czy cóś. Nawet jeśli jest to skrypt wymagałby modyfikacji.

 
Niebawem...Pierdolnę se poradniki do Goticzka. Albo i nie, bo sie mnie nie chce.

Bogdan Zwei

Bogdan Zwei

Użytkownicy
Wulgarny skurwiel pierdolony.
posty1864
Propsy541
Profesjabrak
  • Użytkownicy
  • Wulgarny skurwiel pierdolony.
Ciekawie opisane. W sumie w niektórych momentach zdawało mi się, że jest niejasne, ale to może przez to, że spałem 3 godziny. :P :ok:
 
:ok: zachęca do dalszej pomocy. Nie zapominaj o tym!

Prywatne wiadomości typu "Ej, pomocy" kasuję od razu. Od tego jest forum, a nie PW.

To me, defeat in anything is merely temporary, and its punishment is but an urge for me to greater effort to achieve my goal. Defeat simply tells me that something is wrong in my doing; it is a path leading to success and truth.

In order to realize our true self we must be willing to live without being dependent upon the opinion of others.

Darkmodders

Darkmodders

DarkModders Team
Mistrz mrocznych sztuk
posty828
Propsy283
ProfesjaProducent
  • DarkModders Team
  • Mistrz mrocznych sztuk
Toworish masz u mnie wielkie piwo za to :)
 
Blog grupy DarkModders Team.

http://darkmodders.pl/

Discord: darkmodders

Toworish

Toworish

Użytkownicy
http://chomikuj.pl/ToWoRiSh
posty1664
Propsy254
ProfesjaNierób
  • Użytkownicy
  • http://chomikuj.pl/ToWoRiSh
Ciekawie opisane. W sumie w niektórych momentach zdawało mi się, że jest niejasne, ale to może przez to, że spałem 3 godziny. :P :ok:
Znaczy ja ogólnie nie mam talentu do tłumaczenia czegokolwiek, dodatkowo mój styl pisania prze interpunkcję bywa strasznie zagmatwany, ale myślę że jeśli ktoś czegoś nie zrozumie to przeczyta jeszcze raz i rozkmini :D

Toworish masz u mnie wielkie piwo za to :)

Noo, dzięki, chociaż zależy jak bardzo chcesz modyfikować menu, ba jeśli faktycznie chcesz dodać tylko reputację to SiemaczyS dał ci całkiem fajny sposób,zmiana tekstury menu też jest prosta. Zaś moim sposobem Jest o tyle łatwiej że można w to menu wrzucić bardzo łatwo nawet kurwa licznik ile razy gracz spał podczas przechodzenia gry xd No nic chyba niema co spamować :)
 
Niebawem...Pierdolnę se poradniki do Goticzka. Albo i nie, bo sie mnie nie chce.

Siemekk

Siemekk

Złote Wrota
posty2143
Propsy1154
ProfesjaProgramista
  • Złote Wrota
Noo, dzięki, chociaż zależy jak bardzo chcesz modyfikować menu, ba jeśli faktycznie chcesz dodać tylko reputację to SiemaczyS dał ci całkiem fajny sposób,zmiana tekstury menu też jest prosta. Zaś moim sposobem Jest o tyle łatwiej że można w to menu wrzucić bardzo łatwo nawet kurwa licznik ile razy gracz spał podczas przechodzenia gry xd No nic chyba niema co spamować :)
Racja. Wydaje mi się że napisałeś nowe menu xD co do tej reputacji wystarczy funkcja z WoG'a a ikonki też nie są trudne bo mi się udało :D. Wiesz może czy można zrobić przeskakiwanie Menu-Talenty<->Bojowe tak jak to było w DS?
 

P.S A Splash w szafie i nie ma psychy by mi dać bana.

Toworish

Toworish

Użytkownicy
http://chomikuj.pl/ToWoRiSh
posty1664
Propsy254
ProfesjaNierób
  • Użytkownicy
  • http://chomikuj.pl/ToWoRiSh
Nie do końca rozumiem o co ci chodzi, prawdę mówiąc jeszcze się nie zebrałem do gry w DS :F jeśli dobrzę myślę to zrobiłbyś to wzorując się itemami menu log. a jeśli nie o to ci chodzi to zaawansowany ikarus i robisz połączone status/log/eq ale to uuuuu wiedza w chuj wymagana, co do pierwszego sposobu rozkminiałem nad zrobieniem jakiegoś tutka na standardowym menu, aczkolwiek prawdopodobnie moją wersję menu statystyk też można rozbudować w kursor i przjścia typu klik usuń atualny viev otwórz nowy po powrocie na odwrót. Aajj trochę to pogmatwałem ale chyba zrozumiesz :D
 
Niebawem...Pierdolnę se poradniki do Goticzka. Albo i nie, bo sie mnie nie chce.

Siemekk

Siemekk

Złote Wrota
posty2143
Propsy1154
ProfesjaProgramista
  • Złote Wrota
Czyli po mojemu trzeba przeszukać skrypty DS xD Jak dowiem się co i jak to ci na PW wyślę abyś dodał do tutoriala :ok:
 

P.S A Splash w szafie i nie ma psychy by mi dać bana.

Fabio

Fabio

The Modders
posty3477
Propsy2157
ProfesjaSkrypter
  • The Modders
Szkoda tylko, że nie da rady w ten sposób zrobić nowych rzeczy pod "N".

Siemekk

Siemekk

Złote Wrota
posty2143
Propsy1154
ProfesjaProgramista
  • Złote Wrota
Jest możliwe z użyciem LeGo i Ikarusa (funkcja z woga + View oraz przypisanie klawiszy) W ten sposób trzeba napisać nowe menu w 100%
 

P.S A Splash w szafie i nie ma psychy by mi dać bana.

Toworish

Toworish

Użytkownicy
http://chomikuj.pl/ToWoRiSh
posty1664
Propsy254
ProfesjaNierób
  • Użytkownicy
  • http://chomikuj.pl/ToWoRiSh
Początkowo był zamysł wyłączyć całkiem standardowe menu statystyk i zrobić nowe za pomocą ff jeśli klikniesz b to wyświetli else schowa, potem zamysł był że niektórzy potzrbują zostawić zwykłe wpisywanie "MArvin" tak więc menu_status zostało wyczyszczone i wywołanie swojego za pomocą jesli kliknie i jak drugi raz, no wszystko ładnie pięknie, aale klikasz b masz menu i pauze. po czym klikasz esc i pauza się wyłącza a menus zostaje, klikasz b żeby je wyłączyć to wyłączysz, ale właczysz pauzę, Musiałem odwołać się po pomoc do Mistrza Splash'a powiedział że trzeba hooka, więc kombinowałem rozkminiałem, musiałem odwołać się po pomoc do SiemaczyS'a wyjaśnił mi z grubsza ocb w hookach po jakimś tam czasie miałem efe......... KURWA NIE WAŻNĘ!!! Dążę do tego że zrobisz to za pomocą "N" zrobisz też pod "N" sam system reputacji ale problem jest jeden. podczas wpisywania kodu w którym owa litera występuje to menu ci się będzie włączać i wyłączać po każdym kliku na "N" xd

@SiemaczyS Ma nowe menu od podstaw na tacy w pierwszym poście :D
 
Niebawem...Pierdolnę se poradniki do Goticzka. Albo i nie, bo sie mnie nie chce.

Siemekk

Siemekk

Złote Wrota
posty2143
Propsy1154
ProfesjaProgramista
  • Złote Wrota
Na mój łeb to tak by to wyglądało:
func void New_menu(){
var int Menu_opennew;
var int View;
View = View_Create(0, 0, PS_VMax, PS_VMax); //pozycja
View_SetTexture(View, "Menu_texture.tga");
if (KEY_N jest wciśniety)&& (!Menu_opennew){// zapomniałem nazwy funkcji xD
View_Open(View);
Menu_opennew=true;
//Definicja printów co gdzie i jak- tworzenie
}  else if (KEY_N jest wciśniety)&& (Menu_opennew){
View_Delete(View);
Menu_opennew=false;
//Definicja printów co gdzie i jak- usuwanie
};
};
Jak bym miał chęci to bym to napisał w 100% ale mam lenia a chęci też brak :lol:
 

P.S A Splash w szafie i nie ma psychy by mi dać bana.

Splash

Splash

Moderator
posty4209
Propsy3412
ProfesjaNierób
  • Moderator
Brakuje jeszcze pauzy.
 
Nie zajmuję się multiplayerami do Gothica. Przestańcie zawracać mi tym głowę...
Ps. Siemekk ma downa i śpi w pufie

Toworish

Toworish

Użytkownicy
http://chomikuj.pl/ToWoRiSh
posty1664
Propsy254
ProfesjaNierób
  • Użytkownicy
  • http://chomikuj.pl/ToWoRiSh

Toworish

Nowe menu statystyk.
#12 2016-03-10, 22:07(Ostatnia zmiana: 2016-03-10, 22:13)
No nic chciałem zedytować pierwszy post ale wyszedł zbyt długi i ucieło mi kod

Aby zrobić wywołanie mojego menu pod klawiszem "N" trzeba użyć pliku Zmienne_MenuStatystyk.d oraz tekstury menu g1 z piewreszego postu

w pierwszym poście pisałem o folderze _misc/menu.d
robimy to samo tylko zawartość pliku ma być taka:
func void funkcja()//nazwa funkcji
{
if(hero.attribute[ATR_MANA]<=9)// Oznacza że jeśli hero ma mniej lub równo: "9" many
{
ManaX = 1800; // pozycja/zmienna wyświetlania many to 1800
ManaX2 = ManaX + 100; // pozycja/zmienna ukośnika pomiędzy to 1800 z wyżej plus 100
ManaX3 = ManaX + 150; // pozycja/zmienna max many to 1800 plus 150
}else if(hero.attribute[ATR_MANA]<=99) // jeśli ma mniej bądź równo 99 many
{
ManaX = 1800; // x = 1400 trzeba dodać żeby wiedział czym jest mana x gdy np wczytasz grę czy coś :D
ManaX2 = ManaX + 150; // plus 150
ManaX3 = ManaX + 200; // plus 200  tu już jak wyżej tylko większe liczby
}else if(hero.attribute[ATR_MANA]<=999) // mniej bądź równo 999
{
ManaX = 1800; //wiadomo
ManaX2 = ManaX + 200;// plus 200
ManaX3 = ManaX + 250;// plus 250
}else if(hero.attribute[ATR_MANA]<=9999)// wiadomo
{
ManaX = 1800;//wiadomo
ManaX2 = ManaX + 300;//wiadomo
ManaX3 = ManaX + 350;//wiadomo
// UWAGA!! czemu zwiększamy pozycję "X" ? a no bo liczba 100 zajmuję więcej miejsca niż 10 i nie mogą na siebie nachodzić
};

if(hero.attribute[ATR_HITPOINTS]<=9)
{
HpX = 1800;// Tutaj to samo co było z maną
HpX2 = HpX + 100;
HpX3 = HpX + 150;
}else if(hero.attribute[ATR_HITPOINTS]<=99)
{
HpX = 1800;
HpX2 = HpX + 150;
HpX3 = HpX + 200;
}else if(hero.attribute[ATR_HITPOINTS]<=999)
{
HpX = 1800;
HpX2 = HpX + 200;
HpX3 = HpX + 250;
}else if(hero.attribute[ATR_HITPOINTS]<=9999)
{
HpX = 1800;
HpX2 = HpX + 250;
HpX3 = HpX + 300;
}; // aż dotąd.

if (hero.guild == 0)//jeśli hero ma gildie zerową
{
guild = "Brak";// to wyświetl jej nazwę (BRAK)
} else if (hero.guild == 1)//jesli ma gildię nr 1
{
guild = "Palladyn"; // wyświetli (PALLADYN)
}else if (hero.guild == 2) // i tak dalej.
{
guild = "Strażnik";
}else if (hero.guild == 3)
{
guild = "Obywatel";
}else if (hero.guild == 4)
{
guild = "Mag Ognia";
}else if (hero.guild == 5)
{
guild = "Nowicjusz";
}else if (hero.guild == 6)
{
guild = "Łowca Smoków";
}else if (hero.guild == 7)
{
guild = "Najemnik";
}else if (hero.guild == 8)
{
guild = "Farmer";
}else if (hero.guild == 9)
{
guild = "Bandyta";
}else if (hero.guild == 10)
{
guild = "Skazaniec";
}else if (hero.guild == 11)
{
guild = "Poszukiwacz";
}else if (hero.guild == 12)
{
guild = "Mieszkaniec";
}else if (hero.guild == 13)
{
guild = "Pirat";
}else if (hero.guild == 14)
{
guild = "Mag Wody";
}else if (hero.guild == 17)
{
guild = "Chrząszcz";
}else if (hero.guild == 18)
{
guild = "Owca";
}else if (hero.guild == 19)
{
guild = "Goblin";
}else if (hero.guild == 20)
{
guild = "Szkielet-goblin";
}else if (hero.guild == 21)
{
guild = "Prz. Szkielet Goblin";
}else if (hero.guild == 22)
{
guild = "Ścierwojad";
}else if (hero.guild == 23)
{
guild = "Olbrzymi szczur";
}else if (hero.guild == 24)
{
guild = "Polna bestia";
}else if (hero.guild == 25)
{
guild = "Krwiopijca";
}else if (hero.guild == 26)
{
guild = "Jaszczór";
}else if (hero.guild == 27)
{
guild = "Wilk";
}else if (hero.guild == 28)
{
guild = "Prz. Wilk";
}else if (hero.guild == 29)
{
guild = "Pełzacz";
}else if (hero.guild == 30)
{
guild = "Topielec";
}else if (hero.guild == 31)
{
guild = "Szkielet";
}else if (hero.guild == 32)
{
guild = "Prz. Szkielet";
}else if (hero.guild == 33)
{
guild = "Szkielet-Mag";
}else if (hero.guild == 34)
{
guild = "Zombie";
}else if (hero.guild == 35)
{
guild = "Zębacz";
}else if (hero.guild == 36)
{
guild = "Cieniostwór";
}else if (hero.guild == 37)
{
guild = "Szkielet-potwór";
}else if (hero.guild == 38)
{
guild = "Harpia";
}else if (hero.guild == 39)
{
guild = "Kamienny golem";
}else if (hero.guild == 40)
{
guild = "Ognisty golem";
}else if (hero.guild == 41)
{
guild = "Lodowy golem";
}else if (hero.guild == 42)
{
guild = "Prz. golem";
}else if (hero.guild == 43)
{
guild = "Demon";
}else if (hero.guild == 44)
{
guild = "Prz. demon";
}else if (hero.guild == 45)
{
guild = "Troll";
}else if (hero.guild == 46)
{
guild = "Wąż błotny";
}else if (hero.guild == 47)
{
guild = "Smok";
}else if (hero.guild == 48)
{
guild = "Kretoszczur";
}else if (hero.guild == 49)
{
guild = "Aligator";
}else if (hero.guild == 50)
{
guild = "Błotny golem";
}else if (hero.guild == 51)
{
guild = "Strażnik";
}else if (hero.guild == 52)
{
guild = "Kamienna puma";
}else if (hero.guild == 54)
{
guild = "Prz. Strażnik";
}else if (hero.guild == 55)
{
guild = "Prz.Zombie";
}else if (hero.guild == 59)
{
guild = "Ork";
}else if (hero.guild == 60)
{
guild = "Ork";
}else if (hero.guild == 61)
{
guild = "Ork-ożywieniec";
}else if (hero.guild == 62)
{
guild = "Smokowiec";
};//nooo kurwa wszystkie :)

   // ------------------------------------------ //
  // ---------- ZMIENNE ----------------------- //
 // ------------------------------------------ //
// ---- LVL ----------------------------------//
lvl = hero.level;//zmienna liczbowa lvl(var int lvl) to aktualny level hero.
lvlt = IntToString(lvl);// Zamień zmienną tekstową (var string lvlt) na zmienną liczbową lvl (var int lvl).

// ---- MANA-KRĘGI ----------------------- //
manakreise = Npc_GetTalentSkill(hero, NPC_TALENT_MAGE);// zmienna liczbowa manakreise to aktualny krąg magii hero.
manakreiseT = IntToString(manakreise);// zamień zmienną tekstową na liczbę kręgu magii.

// ---- EXP ----------------------------- //
exp = hero.exp; // zmienna liczbowa (var int exp) to doświadczenie hero.
expt = IntToString(exp); // zamień zmienną tekstową na liczbową aby ją wyświetlić

// ---- N.EXP ---- //
nexp = hero.exp_next; // zmienna liczbowa (var int nexp).
nexpt = IntToString(nexp); // zamiana zmiennej tekstowej (var string nexpt).

// ---- LP ---- //
lp = hero.lp; // Noo i to się tak ciągnie
lpt = IntToString(lp);

   // --------------------------------------- //
  // ------------- ATRYBUTY ---------------- //
 // --------------------------------------- //
// ---- Siła ----------------------------- //
str = hero.attribute[ATR_STRENGTH]; // było tłumaczone z tymi zmiennymi i zamianą.
strt = IntToString(str);

// ---- Zręka ---- //
dex = hero.attribute[ATR_DEXTERITY]; // też
dext = IntToString(dex);

// ---- Mana ---- // -- TUTAJ!!!!.... Mana i pż jest nieco bardziej skomplikowane:
mana = hero.attribute[ATR_MANA];// mana to aktualna ilość many hero
mmana = hero.attribute[ATR_MANA_MAX];// mmana to maxymalna ilość many hero
manat = IntToString(mana);// manat wyżej jako zmienna tekstowa. Teraz zmieniamy ją na zmienną liczbową
mmanat = IntToString(mmana);// jak wyżej chodzi o to aby wyświetlało ( CYFRĘ )

// ---- PŻ ---- //
hp = hero.attribute[ATR_HITPOINTS];
mhp = hero.attribute[ATR_HITPOINTS_MAX];
hpt = IntToString(hp);
mhpt = IntToString(mhp); // To samo co z maną i (max maną).

   // ------------------------------------- // 
  // ---------- OCHRONA ------------------ //
 // ------------------------------------- //
// ---- Przed bronią ------------------- //
edgw = hero.protection[PROT_EDGE];// tutaj standard było wyjaśnione
edgwt = IntToString(edgw);

// ---- Przed strzałami ---- //
edgp = hero.protection[PROT_POINT];
edgpt = IntToString(edgp);

// ---- Przed ogniem ---- //
edgf = hero.protection[PROT_FIRE];
edgft = IntToString(edgf);

// ---- Przed magią ---- //
edgm = hero.protection[PROT_MAGIC];
edgmt = IntToString(edgm);

   // ---------------------------------- //
  // --------- UMIEJĘTNOŚCI ----------- //
 // ---------------------------------- //
// ---- 1H -------------------------- //
if (Hero.HitChance[NPC_TALENT_1H] >=0) // jeśli szansa trafienia 1h hero jest wieksz bądź równa 0
{
skill1h = "Łamaga";// Wyświetli (Łamaga).
posX1h = 4200;// ustalenia pozycji dla tekstu
posX1h2 = posX1h+1400;
posX1h3 = posX1h2+600;
posX1h4 = posX1h3+100;
};
if (Hero.HitChance[NPC_TALENT_1H] >=30)// jeśli większa bądź równa 30
{
skill1h = "Wojownik"; // to wojownik
posX1h = 4200; // ustalenia pozycji tekstu
posX1h2 = posX1h+1400;
posX1h3 = posX1h2+700;
posX1h4 = posX1h3+150;
};
if (Hero.HitChance[NPC_TALENT_1H] >=60) // jesli większa bądź równa 60
{
skill1h = "Mistrz";// mistrz
posX1h = 4200;// jak wyżej
posX1h2 = posX1h+1400;
posX1h3 = posX1h2+500;
posX1h4 = posX1h3+150;
};
if (Hero.HitChance[NPC_TALENT_1H] ==100)// jesli równa 100 ponieważ to już 3 cyfry pozycje są inne
{
posX1h = 4200;
posX1h2 = posX1h+1400;
posX1h3 = posX1h2+500;
posX1h4 = posX1h3+200;
};
JedenH = Hero.HitChance[NPC_TALENT_1H]; // zmienna liczbowa (var int JedenH) to procent szansy trafienia 1h
JedenHtext = IntToString(JedenH);// Zamiana banana na ananasy.

// ---- 2H ---- //
if (Hero.HitChance[NPC_TALENT_2H] >=0) // jeśli szansa trafienia 2h hero jest wieksz bądź równa 0
{
skill2h = "Łamaga";// to zielony
posX2h = 4200;// ustalenia pozycji dla tekstu
posX2h2 = posX2h+1400;
posX2h3 = posX2h2+600;
posX2h4 = posX2h3+100;
};
if (Hero.HitChance[NPC_TALENT_2H] >=30)// jeśli większa bądź równa 30
{
skill2h = "Wojownik"; // to wojownik
posX2h = 4200; // ustalenia pozycji tekstu
posX2h2 = posX2h+1400;
posX2h3 = posX2h2+700;
posX2h4 = posX2h3+150;
};
if (Hero.HitChance[NPC_TALENT_2H] >=60) // jesli większa bądź równa 60
{
skill2h = "Mistrz";// mistrz
posX2h = 4200;// jak wyżej
posX2h2 = posX2h+1400;
posX2h3 = posX2h2+500;
posX2h4 = posX2h3+150;
};
if (Hero.HitChance[NPC_TALENT_2H] ==100)// jesli równa 100 ponieważ to już 3 cyfry pozycje są inne
{
posX2h = 4200;
posX2h2 = posX2h+1400;
posX2h3 = posX2h2+500;
posX2h4 = posX2h3+200;
};
DwaH = Hero.HitChance[NPC_TALENT_2H]; // jak w 1h
DwaHtext = IntToString(DwaH);

// ---- Łuk ---- //
if (Hero.HitChance[NPC_TALENT_BOW] >=0) // jeśli szansa trafienia Łukiem hero jest wieksz bądź równa 0
{
skillbow = "Ślepy";
posXbow = 4200;
posXbow2 = posXbow+1400;
posXbow3 = posXbow2+600;
posXbow4 = posXbow3+100;
};
if (Hero.HitChance[NPC_TALENT_BOW] >=30)// jeśli większa bądź równa 30
{
skillbow = "Strzelec";
posXbow = 4200;
posXbow2 = posXbow+1400;
posXbow3 = posXbow2+700;
posXbow4 = posXbow3+150;
};
if (Hero.HitChance[NPC_TALENT_BOW] >=60) // jesli większa bądź równa 60
{
skillbow = "Myśliwy";
posXbow = 4200;
posXbow2 = posXbow+1400;
posXbow3 = posXbow2+500;
posXbow4 = posXbow3+150;
};
if (Hero.HitChance[NPC_TALENT_BOW] ==100)// jesli równa 100 ponieważ to już 3 cyfry pozycje są inne
{
posXbow = 4200;
posXbow2 = posXbow+1400;
posXbow3 = posXbow2+500;
posXbow4 = posXbow3+200;
};
BoW = Hero.HitChance[NPC_TALENT_BOW];// jak w 1h i 2h
BowText = IntToString(BoW);

// ---- Kusza ---- //
if (Hero.HitChance[NPC_TALENT_CROSSBOW] >=0) // jeśli szansa trafienia Łukiem hero jest wieksz bądź równa 0
{
skillCboW = "Ślepy";
posXCboW = 4200;
posXCboW2 = posXCboW+1400;
posXCboW3 = posXCboW2+600;
posXCboW4 = posXCboW3+100;
};
if (Hero.HitChance[NPC_TALENT_CROSSBOW] >=30)// jeśli większa bądź równa 30
{
skillCboW = "Strzelec";
posXCboW = 4200;
posXCboW2 = posXCboW+1400;
posXCboW3 = posXCboW2+700;
posXCboW4 = posXCboW3+150;
};
if (Hero.HitChance[NPC_TALENT_CROSSBOW] >=60) // jesli większa bądź równa 60
{
skillCboW = "Myśliwy";
posXCboW = 4200;
posXCboW2 = posXCboW+1400;
posXCboW3 = posXCboW2+500;
posXCboW4 = posXCboW3+150;
};
if (Hero.HitChance[NPC_TALENT_CROSSBOW] ==100)// jesli równa 100 ponieważ to już 3 cyfry pozycje są inne
{
posXCboW = 4200;
posXCboW2 = posXCboW+1400;
posXCboW3 = posXCboW2+500;
posXCboW4 = posXCboW3+200;
};
CboW = Hero.HitChance[NPC_TALENT_CROSSBOW]; // jak w 1h i 2h i łuku.
CboWText = IntToString(CboW);

// ---- Skradanie się ---- //
if (Npc_GetTalentSkill (hero,NPC_TALENT_SNEAK) == TRUE)// Jeśli nauczył się skradania.
{
SkillSneak = "Uczony"; // wyświetli że uczony
} else { // a jak nie
SkillSneak = "-"; // to myślnik.
};

// ---- Włamywanie się ---- //
if (Npc_GetTalentSkill (hero,NPC_TALENT_PICKLOCK) == TRUE)
{
SkillPicklock = "Uczony";
} else {
SkillPicklock = "-"; // jak ze skradaniem.
};

// ---- Kradzież ---- //
if (Npc_GetTalentSkill (hero,NPC_TALENT_PICKPOCKET) == TRUE)
{
SkillPickpocket = "Uczony";
} else {
SkillPickpocket = "-"; // jak ze skradaniem.
};

// ---- Tworzenie run ---- //
if (Npc_GetTalentSkill (hero,NPC_TALENT_RUNES) == TRUE)
{
SkillRunes = "Uczony";
} else {
SkillRunes = "-"; // jak ze skradaniem.
};

// ---- Alchemia ---- //
if (Npc_GetTalentSkill (hero,NPC_TALENT_ALCHEMY) == TRUE)
{
SkillAlchemy = "Uczony";
} else {
SkillAlchemy = "-"; // jak ze skradaniem.
};

// ---- Kowalstwo ---- //
if (Npc_GetTalentSkill (hero,NPC_TALENT_SMITH) == TRUE)
{
SkillSmith = "Uczony";
} else {
SkillSmith = "-"; // jak ze skradaniem.
};

// ---- Patroszenie ---- //
if (Npc_GetTalentSkill (hero,NPC_TALENT_TAKEANIMALTROPHY) == TRUE)
{
SkillTakeAnimalTrophy = "Uczony";
} else {
SkillTakeAnimalTrophy = "-"; // jak ze skradaniem
};
// ---- REPUTACJA ---- //
RepKdwT = IntToString(RepKDW);
// RepKdwT (var string RepKdwT) zmienna tekstowa reputacji aby ją wyświetlić.
// RepKDW (var int RepKDW) zmienna liczbowa reputacji.

if(MEM_KeyState(KEY_N)==KEY_PRESSED)//jaki klawisz będzie wciśnięty
{
  var int zmienna;//zmienna

 
                if(zmienna)// jeśli zmienna
{
View_Delete(View);// Usuń view

                } else {

View = View_Create(0, 0, PS_VMax, PS_VMax);//Stwórz View
View_Open(View);// Otwórz View
View_SetTexture(View, "Menu_Staty.tga");// Dodaj Teksturkę

// ---- Postać ---- //
View_AddText(View, 800, 1400, "POSTAĆ:", "FONT_OLD_10_WHITE.TGA" );

// ---- Gildia ---- //
View_AddText(View, 500, 1800, "Gildia:", "FONT_OLD_10_WHITE.TGA" );
View_AddText(View, 1800, 1800, guild, "FONT_OLD_10_WHITE.TGA" );

// ---- Poziom ----//
View_AddText(View, 500, 2000, "Poziom:", "FONT_OLD_10_WHITE.TGA" );
View_AddText(View, 1800, 2000, lvlt, "FONT_OLD_10_WHITE.TGA" );

// ---- Kręgi Magii ---- //
View_AddText(View, 500, 2200, "Magia:", "FONT_OLD_10_WHITE.TGA" );
View_AddText(View, 1800, 2200, "Krąg", "FONT_OLD_10_WHITE.TGA" );
View_AddText(View, 2200, 2200, manakreiseT, "FONT_OLD_10_WHITE.TGA" );

// ---- Doświadczenie ---- //
View_AddText(View, 500, 2400, "Exp:", "FONT_OLD_10_WHITE.TGA" );
View_AddText(View, 1800, 2400, expt, "FONT_OLD_10_WHITE.TGA" );

// ---- Doświadczenie do następnego poziomu ---- //
View_AddText(View, 500, 2600, "N.Poziom:", "FONT_OLD_10_WHITE.TGA" );
View_AddText(View, 1800, 2600, nexpt, "FONT_OLD_10_WHITE.TGA" );

// ---- Punkty Nauki ---- //
View_AddText(View, 500, 2800, "Lp:", "FONT_OLD_10_WHITE.TGA" );
View_AddText(View, 1800, 2800, lpt, "FONT_OLD_10_WHITE.TGA" );

// ---- Atrybuty ---- //
View_AddText(View, 800, 3100, "ATRYBUTY:", "FONT_OLD_10_WHITE.TGA" );

// ---- Siła ---- //
View_AddText(View, 500, 3500, "Siła:", "FONT_OLD_10_WHITE.TGA" );
View_AddText(View, 1800, 3500, strt, "FONT_OLD_10_WHITE.TGA" );

// ---- Zręczność ---- //
View_AddText(View, 500, 3700, "Zręczność:", "FONT_OLD_10_WHITE.TGA" );
View_AddText(View, 1800, 3700, dext, "FONT_OLD_10_WHITE.TGA" );

// ---- Mana ---- //
View_AddText(View, 500, 3900, "Mana:", "FONT_OLD_10_WHITE.TGA" );
View_AddText(View, ManaX, 3900, manat, "FONT_OLD_10_WHITE.TGA" );
View_AddText(View, ManaX2, 3900, "/", "FONT_OLD_10_WHITE.TGA" );
View_AddText(View, ManaX3, 3900, mmanat, "FONT_OLD_10_WHITE.TGA" );

// ---- Hp ---- //
View_AddText(View, 500, 4100, "Pż:", "FONT_OLD_10_WHITE.TGA" );
View_AddText(View, HpX, 4100, hpt, "FONT_OLD_10_WHITE.TGA" );
View_AddText(View, HpX2, 4100, "/", "FONT_OLD_10_WHITE.TGA" );
View_AddText(View, HpX3, 4100, mhpt, "FONT_OLD_10_WHITE.TGA" );

// ---- OCHORONA ---- //
View_AddText(View, 800, 4400, "OCHRONA:", "FONT_OLD_10_WHITE.TGA" );

// ---- Broń ---- //
View_AddText(View, 500, 4800, "Przed Bronią:", "FONT_OLD_10_WHITE.TGA" );
View_AddText(View, 1800, 4800, edgwt, "FONT_OLD_10_WHITE.TGA" );

// ---- Pociski ----//
View_AddText(View, 500, 5000, "Przed Pociskami:", "FONT_OLD_10_WHITE.TGA" );
View_AddText(View, 1800, 5000, edgpt, "FONT_OLD_10_WHITE.TGA" );

// ---- Ogień ---- //
View_AddText(View, 500, 5200, "Przed Ogniem:", "FONT_OLD_10_WHITE.TGA" );
View_AddText(View, 1800, 5200, edgft, "FONT_OLD_10_WHITE.TGA" );

// ---- Magia ---- //
View_AddText(View, 500, 5400, "Przed Magią:", "FONT_OLD_10_WHITE.TGA" );
View_AddText(View, 1800, 5400, edgmt, "FONT_OLD_10_WHITE.TGA" );

// ---- UMIEJĘTNOŚCI ---- //
View_AddText(View, 4500, 1400, "UMIEJĘTNOŚCI:", "FONT_OLD_10_WHITE.TGA" );

// ---- Br. Jednoręczna ---- //
View_AddText(View, posX1h, 1800, "Broń jednoręczna:", "FONT_OLD_10_WHITE.TGA" );//broń 1h
View_AddText(View, posX1h2, 1800, skill1h, "FONT_OLD_10_WHITE.TGA" );// skill tekst
View_AddText(View, posX1h3, 1800, JedenHtext, "FONT_OLD_10_WHITE.TGA" );// skill procent
View_AddText(View, posX1h4, 1800, "%", "FONT_OLD_10_WHITE.TGA" );// "%" znaczek

// ---- Br. Dwóręczna ---- //
View_AddText(View, posX2h, 2000, "Broń dwuręczna:", "FONT_OLD_10_WHITE.TGA" );//broń 2h
View_AddText(View, posX2h2, 2000, skill2h, "FONT_OLD_10_WHITE.TGA" );// skill tekst
View_AddText(View, posX2h3, 2000, DwaHtext, "FONT_OLD_10_WHITE.TGA" );// skill procent
View_AddText(View, posX2h4, 2000, "%", "FONT_OLD_10_WHITE.TGA" );// "%" znaczek

// ---- Łuk ---- //
View_AddText(View, posXbow, 2200, "Cel. Łuk:", "FONT_OLD_10_WHITE.TGA" );//broń 2h
View_AddText(View, posXbow2, 2200, skillbow, "FONT_OLD_10_WHITE.TGA" );// skill tekst
View_AddText(View, posXbow3, 2200, BowText, "FONT_OLD_10_WHITE.TGA" );// skill procent
View_AddText(View, posXbow4, 2200, "%", "FONT_OLD_10_WHITE.TGA" );// "%" znaczek

// ---- Kusza ---- //
View_AddText(View, posXbow, 2400, "Cel. Kusza:", "FONT_OLD_10_WHITE.TGA" );//broń 2h
View_AddText(View, posXbow2, 2400, skillcbow, "FONT_OLD_10_WHITE.TGA" );// skill tekst
View_AddText(View, posXbow3, 2400, CboWText, "FONT_OLD_10_WHITE.TGA" );// skill procent
View_AddText(View, posXbow4, 2400, "%", "FONT_OLD_10_WHITE.TGA" );// "%" znaczek

// ---- Skradanie się ---- //
View_AddText(View, 4200, 2700, "Skradanie się:", "FONT_OLD_10_WHITE.TGA" );//Skradanie się
View_AddText(View, 5600, 2700, SkillSneak, "FONT_OLD_10_WHITE.TGA" );//uczony|-

// ---- Włamywanie się ---- //
View_AddText(View, 4200, 2900, "Włamywanie się:", "FONT_OLD_10_WHITE.TGA" );//Włamywanie się
View_AddText(View, 5600, 2900, SkillPicklock, "FONT_OLD_10_WHITE.TGA" );// Uczony|-

// ---- Kradzież ---- //
View_AddText(View, 4200, 3100, "Kradzież:", "FONT_OLD_10_WHITE.TGA" );//Kradzież
View_AddText(View, 5600, 3100, SkillPickpocket, "FONT_OLD_10_WHITE.TGA" );// Uczony|-

// ---- Tworzenie run ---- //
View_AddText(View, 4200, 3400, "Tworzenie run:", "FONT_OLD_10_WHITE.TGA" );//Kradzież
View_AddText(View, 5600, 3400, SkillRunes, "FONT_OLD_10_WHITE.TGA" );// Uczony|-

// ---- Alchemia ---- //
View_AddText(View, 4200, 3600, "Alchemia:", "FONT_OLD_10_WHITE.TGA" );//Kradzież
View_AddText(View, 5600, 3600, SkillAlchemy, "FONT_OLD_10_WHITE.TGA" );// Uczony|-

// ---- Kowalstwo ---- //
View_AddText(View, 4200, 3800, "Kowalstwo:", "FONT_OLD_10_WHITE.TGA" );//Kradzież
View_AddText(View, 5600, 3800, SkillSmith, "FONT_OLD_10_WHITE.TGA" );// Uczony|-

// ---- Patroszenie ---- //
View_AddText(View, 4200, 4100, "Patroszenie:", "FONT_OLD_10_WHITE.TGA" );//Kradzież
View_AddText(View, 5600, 4100, SkillTakeAnimalTrophy, "FONT_OLD_10_WHITE.TGA" );// Uczony|-

// ---- Reputacja ---- //
View_AddText(View, 4500, 4400, "REPUTACJA:", "FONT_OLD_10_WHITE.TGA" );

// ---- Reputacja u magów Wody ---- //
View_AddText(View, 4200, 4800, "Magowie wody:", "FONT_OLD_10_WHITE.TGA" );
View_AddText(View, 5600, 4800, RepKdwT, "FONT_OLD_10_WHITE.TGA" );
                };
                zmienna = !zmienna;//zmienna jest przeciwna zmiennej
        };
};

I w pliku startup.d pod Legoall wkleić to:
if (!FF_Active (funkcja))
{
FF_Apply (funkcja);
};

Nie sprawdzałem ponieważ chwilowo korzystam z czystych skryptów bez ikarusa, ale tyle przy tem godzin spędziłem że powinno zadziałać. Dodam że problem o którym pisałem że wświetli się po kazdym kliku "N" teaz wpadłem na to że powinno się udac rozwiązać dodając do skryptu wywołanie pauzy gry gdy wyświetlimy View ale to już zostawiam potomnym, albo opiszę jak wrócę do skryptów z ikarusem.

Noo. Splash też opisał pauzę, czyli na biedę nie trzeba dodawać Reputacji do MS tylko wywoływać samą repkę na klawiszu :D
 
Niebawem...Pierdolnę se poradniki do Goticzka. Albo i nie, bo sie mnie nie chce.

Splash

Splash

Moderator
posty4209
Propsy3412
ProfesjaNierób
  • Moderator
Sposób w jaki zwracana jest nazwa gildii woła o pomstę do nieba :F Użyj tego:
guild = MEM_ReadStatStringArr (TXT_GUILDS, hero.guild);
 
Nie zajmuję się multiplayerami do Gothica. Przestańcie zawracać mi tym głowę...
Ps. Siemekk ma downa i śpi w pufie

Siemekk

Siemekk

Złote Wrota
posty2143
Propsy1154
ProfesjaProgramista
  • Złote Wrota
Dlatego lepiej napisać menu z obrazkami :F A i pauza
MEM_GAME.pause_screen = True ;
Mimo to sądzę że lepszym sposobem jest funkcja Sektenspinnera.
 

P.S A Splash w szafie i nie ma psychy by mi dać bana.

Bogdan Zwei

Bogdan Zwei

Użytkownicy
Wulgarny skurwiel pierdolony.
posty1864
Propsy541
Profesjabrak
  • Użytkownicy
  • Wulgarny skurwiel pierdolony.
Jakby ktoś szukał:

func void pause(var int showPauseText) {
    const int oCGame__pause = 7113424; //0x06C8AD0
    CALL_IntParam(!showPauseText);
    CALL__thiscall(MEM_InstToPtr(MEM_Game), oCGame__pause);
};

func void unpause() {
    const int oCGame__unpause = 7114064; //0x6C8D50
    CALL__thiscall(MEM_InstToPtr(MEM_Game), oCGame__unpause);
};
 
:ok: zachęca do dalszej pomocy. Nie zapominaj o tym!

Prywatne wiadomości typu "Ej, pomocy" kasuję od razu. Od tego jest forum, a nie PW.

To me, defeat in anything is merely temporary, and its punishment is but an urge for me to greater effort to achieve my goal. Defeat simply tells me that something is wrong in my doing; it is a path leading to success and truth.

In order to realize our true self we must be willing to live without being dependent upon the opinion of others.

Splash

Splash

Moderator
posty4209
Propsy3412
ProfesjaNierób
  • Moderator
Cytuj
MEM_GAME.pause_screen = True ;
Tylko, że ta zmienna nie zwraca liczb 0 i 1, tylko wskaźnik do obecnie wyświetlanego okna, który jest obiektem klasy zCView.
 
Nie zajmuję się multiplayerami do Gothica. Przestańcie zawracać mi tym głowę...
Ps. Siemekk ma downa i śpi w pufie

Toworish

Toworish

Użytkownicy
http://chomikuj.pl/ToWoRiSh
posty1664
Propsy254
ProfesjaNierób
  • Użytkownicy
  • http://chomikuj.pl/ToWoRiSh
Nie będę zmieniał. Ten skrypt to przedewszystkim takie małe wprowadzenie w świat skryptów gothica tych łatwiejszych, tylko troszkę tam jest od cb z ikarusa. Bo dla mnie to czarna magia, w razie czego zawsze warto czytać posty pod samouczkiem.
 
Niebawem...Pierdolnę se poradniki do Goticzka. Albo i nie, bo sie mnie nie chce.

Siemekk

Siemekk

Złote Wrota
posty2143
Propsy1154
ProfesjaProgramista
  • Złote Wrota
HookEngineF (7592320, 7, Open_Menu);//Open Menu
Odpowiada za otwieranie menu statystyk. Można ustawić w plikach Menu.dat aby nic się nie pojawiało i w funkcji
Open_Menu tworzyć Printy np. Print_Ext(args);
 

P.S A Splash w szafie i nie ma psychy by mi dać bana.


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