Skrypt Mod 5619 15

O temacie

Autor TheJeykop

Zaczęty 10.01.2013 roku

Wyświetleń 5619

Odpowiedzi 15

TheJeykop

TheJeykop

Użytkownicy
posty11
  • Użytkownicy
Witam. Chciałbym zrobić moda z następującymi dodatkami:

- Głód i pragnienie (paski)
- możliwość gotowania posiłków (tak jak warzenie mikstur, tyle że na kuchence, i chodzi tu o np. Gulasz, Zupa rybna)
- pozmieniane wynagrodzenia u czeladników

Póki co to tyle, później gdy będę bardziej zaawansowany, coś dodam. Głód, pragnienie i zmienione wynagrodzenia mniej więcej wiem jak zrobić, ale nie umiem dodać gotowania, a bardzo by mi na tym zależało. Więc proszę o wsparcie.


Pozdrawiam :)
 

Toworish

Toworish

Użytkownicy
http://chomikuj.pl/ToWoRiSh
posty1664
Propsy254
ProfesjaNierób
  • Użytkownicy
  • http://chomikuj.pl/ToWoRiSh
Musiałbyś zrobić monolog gotowania, poczytaj trochę o monologach, mało na forum jest napisane o monologach do g2 ale poczytaj wszystko o tych do g1 też coś może wymyślisz, gotowca ciężko tu na forum wysępić
 
Niebawem...Pierdolnę se poradniki do Goticzka. Albo i nie, bo sie mnie nie chce.

Nekron197

Nekron197

Użytkownicy
posty192
Propsy13
  • Użytkownicy
wiesz... Musiałbyś znaleźć skrypt odpowiadający za warzenie mikstur, skopiować go do swojego skryptu, potem pozmieniać parę rzeczy, i prawdopodobnie musiałbyś się dostać do mds'a kuchenki... Chyba tak to działą, ale w 100% pewny nie jestem  :pokerface:
 

Toworish

Toworish

Użytkownicy
http://chomikuj.pl/ToWoRiSh
posty1664
Propsy254
ProfesjaNierób
  • Użytkownicy
  • http://chomikuj.pl/ToWoRiSh
Myśle że mds kuchenki nic tu nie pomoże, potrzeba jedynie monologu który potem wpisałby w spacerze w vob'ie kuchenki
 
Niebawem...Pierdolnę se poradniki do Goticzka. Albo i nie, bo sie mnie nie chce.

TheJeykop

TheJeykop

Użytkownicy
posty11
  • Użytkownicy
A gdzie ja znajdę ten monolog mikstur??
 

RafalBudzis

RafalBudzis

Użytkownicy
posty1967
Propsy808
ProfesjaSkrypter
  • Użytkownicy
A gdzie ja znajdę ten monolog mikstur??
Notepad++ ma funkcje która wyszukuje tekst w plikach w podanym folderze wpiszesz sobie dowolny tekst stołu alchemicznego i znajdziesz monolog na pewno.

Nekron197

Nekron197

Użytkownicy
posty192
Propsy13
  • Użytkownicy

Nekron197

Skrypt Mod
#6 2013-01-11, 21:11(Ostatnia zmiana: 2013-01-11, 21:12)
 

TheJeykop

TheJeykop

Użytkownicy
posty11
  • Użytkownicy
Dobra, ale teraz mam problem z zmianą wynagrodzeń.








// ************************************************************
//                   Klingen verkaufen
// ************************************************************
instance DIA_Harad_SellBlades (C_INFO)
{
   npc          = VLK_412_Harad;
   nr          = 200;
   condition    = DIA_Harad_SellBlades_Condition;
   information    = DIA_Harad_SellBlades_Info;
   permanent    = TRUE;
   description    = "Chcę sprzedać broń, którą wykułem.";
};
func int DIA_Harad_SellBlades_Condition ()
{   
   if (Player_IsApprentice == APP_Harad)
   {
      return TRUE;
   };
};
func void DIA_Harad_SellBlades_Info ()
{
   AI_Output (other, self, "DIA_Harad_SellBlades_15_00"); //Chcę sprzedać broń, którą wykułem.
   
   var C_ITEM equipWeap; equipWeap = Npc_GetEquippedMeleeWeapon(other);
   
   var int anzahl_common; anzahl_common = Npc_HasItems (other, ItMw_1H_Common_01);
   if (Hlp_IsItem(equipWeap, ItMw_1H_Common_01) == TRUE) { anzahl_common = anzahl_common - 1; };
   var int anzahl_schwert1; anzahl_schwert1 = Npc_HasItems (other, ItMw_Schwert1);
   if (Hlp_IsItem(equipWeap, ItMw_Schwert1) == TRUE) { anzahl_schwert1 = anzahl_schwert1 - 1; };
   var int anzahl_schwert4; anzahl_schwert4 = Npc_HasItems (other, ItMw_Schwert4);
   if (Hlp_IsItem(equipWeap, ItMw_Schwert4) == TRUE) { anzahl_schwert4 = anzahl_schwert4 - 1; };
   var int anzahl_rubinklinge; anzahl_rubinklinge = Npc_HasItems (other, ItMw_Rubinklinge);
   if (Hlp_IsItem(equipWeap, ItMw_Rubinklinge) == TRUE) { anzahl_rubinklinge = anzahl_rubinklinge - 1; };
   var int anzahl_elbastardo; anzahl_elbastardo = Npc_HasItems (other, ItMw_ElBastardo);
   if (Hlp_IsItem(equipWeap, ItMw_ElBastardo) == TRUE) { anzahl_elbastardo = anzahl_elbastardo - 1; };
   
   var int gesamt; gesamt = (anzahl_common + anzahl_schwert1 + anzahl_schwert4 + anzahl_rubinklinge + anzahl_elbastardo);
   
    if (gesamt == 0)
   {
      if (Hlp_IsItem(equipWeap, ItMw_1H_Common_01) == TRUE)
      || (Hlp_IsItem(equipWeap, ItMw_Schwert1) == TRUE)
      || (Hlp_IsItem(equipWeap, ItMw_Schwert4) == TRUE)
      || (Hlp_IsItem(equipWeap, ItMw_Rubinklinge) == TRUE)
      || (Hlp_IsItem(equipWeap, ItMw_ElBastardo) == TRUE)  
      {
         AI_Output (self, other, "DIA_Harad_SellBlades_12_01"); //Masz tylko tę przy pasie. Lepiej ją zatrzymaj.
      }
      else
      {
         AI_Output (self, other, "DIA_Harad_SellBlades_12_04"); //Więc zrób coś! Przyjmuję tylko zwykłe miecze.
      };
   }
   else //(gesamt >= 1) - die verbeliebenden Klingen verkaufen ------
   {
      AI_Output (self, other, "DIA_Harad_SellBlades_12_02"); //Dobrze - daj to tutaj.
      
      Npc_RemoveInvItems (other, ItMw_1H_Common_01, anzahl_common);
      Npc_RemoveInvItems (other, ItMw_Schwert1, anzahl_Schwert1);
      Npc_RemoveInvItems (other, ItMw_Schwert4, anzahl_Schwert4);
      Npc_RemoveInvItems (other, ItMw_Rubinklinge, anzahl_Rubinklinge);
      Npc_RemoveInvItems (other, ItMw_ElBastardo, anzahl_ElBastardo);
      
            var string concatText;
            concatText = ConcatStrings(IntToString(gesamt), PRINT_ItemsGegeben);      // "x Gegenstände gegeben"
            AI_PrintScreen (concatText, -1, YPOS_ItemGiven, FONT_ScreenSmall, 2);
            
      AI_Output (self, other, "DIA_Harad_SellBlades_12_03"); //Dobrze. Oto twoja zapłata.
      var int lohn;
      lohn    = (anzahl_common * Value_Common1)
            + (anzahl_schwert1 * Value_Schwert1)
            + (anzahl_schwert4 * Value_Schwert4)
            + (anzahl_rubinklinge * Value_Rubinklinge)
            + (anzahl_elbastardo * Value_ElBastardo);
            
      lohn    = (lohn / 3);
      
      B_GiveInvItems (self, other, itmi_gold, lohn);
   };
};






To jest dialog Harada gdy się mu daje broń. Nie kapuje troche tego lohn. Wydaje mi sie że to są stałe, przy każdej innej broni inne. Proszę o wyjaśnienie.
 

RafalBudzis

RafalBudzis

Użytkownicy
posty1967
Propsy808
ProfesjaSkrypter
  • Użytkownicy
tutaj spr ilość itemów

var int anzahl_common; anzahl_common = Npc_HasItems (other, ItMw_1H_Common_01);
if (Hlp_IsItem(equipWeap, ItMw_1H_Common_01) == TRUE) { anzahl_common = anzahl_common - 1; };
var int anzahl_schwert1; anzahl_schwert1 = Npc_HasItems (other, ItMw_Schwert1);
if (Hlp_IsItem(equipWeap, ItMw_Schwert1) == TRUE) { anzahl_schwert1 = anzahl_schwert1 - 1; };
var int anzahl_schwert4; anzahl_schwert4 = Npc_HasItems (other, ItMw_Schwert4);
if (Hlp_IsItem(equipWeap, ItMw_Schwert4) == TRUE) { anzahl_schwert4 = anzahl_schwert4 - 1; };
var int anzahl_rubinklinge; anzahl_rubinklinge = Npc_HasItems (other, ItMw_Rubinklinge);
if (Hlp_IsItem(equipWeap, ItMw_Rubinklinge) == TRUE) { anzahl_rubinklinge = anzahl_rubinklinge - 1; };
var int anzahl_elbastardo; anzahl_elbastardo = Npc_HasItems (other, ItMw_ElBastardo);
if (Hlp_IsItem(equipWeap, ItMw_ElBastardo) == TRUE) { anzahl_elbastardo = anzahl_elbastardo - 1; };
   

tutaj mnożysz ilość item`ów przez stałe które są ich wartościami sprzedawania (powinny być gdzieś w pliku items.d lub addon_items.d) i dodajesz wszystko do kupy ;)

var int lohn;
lohn = (anzahl_common * Value_Common1)
+ (anzahl_schwert1 * Value_Schwert1)
+ (anzahl_schwert4 * Value_Schwert4)
+ (anzahl_rubinklinge * Value_Rubinklinge)
+ (anzahl_elbastardo * Value_ElBastardo);

każde polecenie konczysz i tak średnikiem wiec nie ma różnicy czy dzialania zapisujesz
var int a;
a = 1+2;
czy zapisujesz

var int a;
a=1
+2
;

jest tylko różnica w czytelności

TheJeykop

TheJeykop

Użytkownicy
posty11
  • Użytkownicy
Nie znalazłem czegoś takiego ja ITEMS.D. Mniej więcej kapuje o co chodzi, lecz nie wiem gdzie znajdę te właśnie wartości sprzedaży. Prosiłbym aby mnie ktoś oświecił.
 

RafalBudzis

RafalBudzis

Użytkownicy
posty1967
Propsy808
ProfesjaSkrypter
  • Użytkownicy

RafalBudzis

Skrypt Mod
#10 2013-01-15, 18:33(Ostatnia zmiana: 2013-01-15, 18:33)
Wpisz w notepad++ nazwę zmiennej której szukasz i daj zeby szukało w folderze Script\content

TheJeykop

TheJeykop

Użytkownicy
posty11
  • Użytkownicy
Ok, jeszcze chciałbym zrobić coś takiego że kupcy mają więcej towarów (np. jedzenia)



var int Coragon_ItemsGiven_Chapter_1;
var int Coragon_ItemsGiven_Chapter_2;
var int Coragon_ItemsGiven_Chapter_3;
var int Coragon_ItemsGiven_Chapter_4;
var int Coragon_ItemsGiven_Chapter_5;

FUNC VOID B_GiveTradeInv_Coragon (var C_NPC slf)
{
if ((Kapitel >= 1)
&& (Coragon_ItemsGiven_Chapter_1 == TRUE))
{
CreateInvItems (slf, ItMi_Gold, 50);
CreateInvItems (slf, ItFo_Wine, 6);
CreateInvItems (slf, ItFo_Booze, 3);
CreateInvItems (slf, ItFo_Beer, 5);
CreateInvItems (slf, ItFo_Apple, 5);
CreateInvItems (slf, ItFo_Stew, 5);

Coragon_ItemsGiven_Chapter_1 = TRUE;
};
if ((Kapitel >= 2)
&& (Coragon_ItemsGiven_Chapter_2 == TRUE))
{
CreateInvItems (slf, ItMi_Gold, 50);
CreateInvItems (slf, ItFo_Wine, 100);
CreateInvItems (slf, ItFo_Booze, 100);
CreateInvItems (slf, ItFo_Beer, 100);
CreateInvItems (slf, ItFo_Bacon, 100);
CreateInvItems (slf, ItFo_Sausage, 100);
CreateInvItems (slf, ItFo_Honey, 100);
        CreateInvItems (slf, ItFo_Stew, 100);  
CreateInvItems (slf, ItFo_Bread, 100);
 CreateInvItems (slf, ItFo_Cheese, 100);

Coragon_ItemsGiven_Chapter_2 = TRUE;
};

if ((Kapitel >= 3)
&& (Coragon_ItemsGiven_Chapter_3 == TRUE))
{
CreateInvItems (slf, ItMi_Gold, 50);
CreateInvItems (slf, ItFo_Wine, 100);
CreateInvItems (slf, ItFo_Booze, 100);
CreateInvItems (slf, ItFo_Beer, 100);
CreateInvItems (slf, ItFo_Bacon, 100);
CreateInvItems (slf, ItFo_Sausage, 100);
CreateInvItems (slf, ItFo_Honey, 100);
        CreateInvItems (slf, ItFo_Stew, 100);  
CreateInvItems (slf, ItFo_Bread, 100);
 CreateInvItems (slf, ItFo_Cheese, 100);



Coragon_ItemsGiven_Chapter_3 = TRUE;
};

if ((Kapitel >= 4)
&& (Coragon_ItemsGiven_Chapter_4 == TRUE))
{
CreateInvItems (slf, ItMi_Gold, 150);
CreateInvItems (slf, ItFo_Wine, 7);
CreateInvItems (slf, ItFo_Booze, 4);
CreateInvItems (slf, ItFo_Beer, 6);
CreateInvItems (slf, ItFo_Apple, 5);
CreateInvItems (slf, ItFo_Stew, 5);

Coragon_ItemsGiven_Chapter_4 = TRUE;
};

if ((Kapitel >= 5)
&& (Coragon_ItemsGiven_Chapter_5 == TRUE))
{
CreateInvItems (slf, ItMi_Gold, 150);
CreateInvItems (slf, ItFo_Wine, 5);
CreateInvItems (slf, ItFo_Booze, 4);
CreateInvItems (slf, ItFo_Beer, 5);
CreateInvItems (slf, ItFo_Apple, 5);
CreateInvItems (slf, ItFo_Stew, 5);
CreateInvItems (slf, ItFo_Bacon, 5);
CreateInvItems (slf, ItFo_Sausage, 5);
CreateInvItems (slf, ItFo_Honey, 5);

Coragon_ItemsGiven_Chapter_5 = TRUE;
};
};

Tu jest kod Coragona, zmieniłem już jedzenie ale gdy wchodze w gre on w ogóle nie ma jedzenia. Gdzie robię błąd?
 

RafalBudzis

RafalBudzis

Użytkownicy
posty1967
Propsy808
ProfesjaSkrypter
  • Użytkownicy
Nie ma jedzenia w handlu ? czy w postaci ?? Bo towary powinny się pokazywać przy handlu i znikać z NPC po handlu.

TheJeykop

TheJeykop

Użytkownicy
posty11
  • Użytkownicy
Nie ma ani tu, ani tam. Nie wiem za bardzo dlaczego tak jest.
 

TheJeykop

TheJeykop

Użytkownicy
posty11
  • Użytkownicy
ODŚWIEŻAM
 

Dage23

Dage23

Użytkownicy
posty29
Propsy5
Profesjabrak
  • Użytkownicy
Po zmianie skryptu powinieneś dać nową grę a nie wczytywać zapisaną.
 


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