Skocz do zawartości

Zablokowane Błąd w kodzie?


Paqoo

Rekomendowane odpowiedzi

Mam taki kod:

GML
if distance_to_object(o_rycerz_facet)<32

{

sound_play(npc_henio3);

switch (show_message_ext('Witaj wędrowcze! Może pohandlujesz ze mną? Na pewno mam coś ciekawego do zaoferowania..',Handel,Walka,Anuluj))

{

case 1:

{

show_message("Sprzedaję mikstury lecznicze.");

buy=get_integer("Ile chcesz?",0);

if buy<=0

{

show_message("Nic ?, Żegnaj..");

}

else

{

if show_question("Czy chcesz kupic "+string(buy)+" mikstury/-ę lecznicze/-ą?")=true

{

price=buy*50;

if global.kasa<price

show_message("Niestety nie masz tyle pieniędzy!")

else

{

if global.udzwig>=buy*o_hp.waga{

with (o_hp){

if(Inventory.topInstance = id) {

sound_play(kupuje);

global.udzwig-=o_hp.waga;

Inventory_Add();

}}}

global.kasa-=price;

show_message("Trzymaj!");

}

}

}

}

sound_play(npc_henio2);

break;

case 2:

{

show_message("Jesteś niedobrym chłopcem? POCZUJ GNIEW ZŁEGO OJCA!")

break;

case 3:

break;

}

}}

 

Skrypt Inventory_Add nie działa! Coś źle z warunkami? Gdzieś postawiłem coś niechcący ? Nie mogę dojść do tego..

Odnośnik do komentarza
Udostępnij na innych stronach

Działa.. Jak najbardziej. Tylko nie wiem, czy trzeba wstawiać przed tym fragmentem z Inventory_Add :

 

GML
with(o_hp){}

??

 

Wogóle może trzeba jako argument dać ten obiekt.. Bo on ma w create zmienne do tego skryptu i przy left pressed też ma kod, a to jest potrzebne.

Odnośnik do komentarza
Udostępnij na innych stronach

Tak Yoda. Zaraz go skopiuję na twoje życzenie, bo widać lubisz być dociekliwy. Zaspokajam twoją ciekawość:

GML
///////////////////////////////////////////////////////////////////////////

// This is the code responsible for adding objects to the inventory. It does //

// this through a loop of checking the inventory for an empty slot. If it //

// finds an empty slot, it will add the object. If it does not find an empty //

// slot, it will move to the next one. //

///////////////////////////////////////////////////////////////////////////

// Only add the object if the mouse is not clicking on the inventory.

if(mouseOverInventory() = false) {

 

/**

* Loop through and see if there is an incomplete stack of this object.

*/

for(i = 1; i <= Inventory.numberOfSlots; i += 1) {

 

if(Inventory.slotItems = object_index &&

Inventory.slotStackedNumber != stackLimit) {

 

// Add the item

Inventory.slotStackedNumber += 1;

instance_destroy();

exit;

}

}

 

/**

* If it has not found an incomplete stack, loop through again and find an empty slot.

*/

for(i = 1; i <= Inventory.numberOfSlots; i += 1) {

 

//Check if the current slot is empty and add the object if so.

if(Inventory.slotItems = 0)

{

Inventory.slotItems = object_index; // Set the item.

Inventory.slotImages = subimage; // Set the image.

Inventory.slotStackedNumber = 1; // Set the stack count

// Set how many options there are

Inventory.slotNumberOfOptions = numberOfOptions;

 

// Loop and add the options

for(j = 0; j < numberOfOptions; j += 1) {

 

// Add the option to the slot

Inventory.slotOptionNames[i,j] = options[j,0]; // Name

Inventory.slotOptionScripts[i,j] = options[j,1]; // Script

}

 

instance_destroy(); // Destroy the instance that it just added.

exit; // Exit the script, since it has found a slot.

}

}

}

Odnośnik do komentarza
Udostępnij na innych stronach

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...