MiChAl200 Opublikowano 27 Stycznia 2012 Udostępnij Opublikowano 27 Stycznia 2012 Chcę zrobić, żeby w inwentarzu, można było wytworzyć inne przedmioty. W tym przypadku mam, że jeśli mam 2 drewna, to mogę zmienić je na deski. Klikam przycisk i odejmują się dwa drewna i zamienia na 4 deski. W tej chwili jeszcze nie ma dodania przerobionych surowców, ale jest "wyjmowanie" potrzebnych surowców ze slotów inwentarza. Jest taki kod, po naciśnięciu przycisku "Twórz": GML jeszcze1=crafting.ile1[1]; //zmienna wynosi tyle ile potrzeba danego surowaca do wyrobu przedmiotu jeszcze2=crafting.ile2[1]; jeszcze3=crafting.ile3[1]; if(crafting.posiadasz1[1]>=crafting.ile1[1]) // sprawdzanie czy posiadasz wymagającą liczbę surowców { for(i=1; i<5; i+=1) { for(j=1; j<5; j+=1) { if(jeszcze1!=0) // sprawdzanie, czy jeszcze jakieś bloki zostały do "odebrania" { if(controler.idObj[j,i]==crafting.potrzeba1[1]) // jeśli w slocie jest surowiec, którego potrzebujemy { if(controler.nrObj[j,i]=jeszcze1) // jeśli w slocie jest dokładnie tyle surowca ile potrzebujemy { controler.idObj[j,i]=-1; // slot jest wyczyszczony controler.nrObj[j,i]=0; crafting.posiadasz1[1]-=crafting.ile1[1]; // odejmujesz ilość potrzebych rzeczy od liczby posiadanych (danego typu) jeszcze1=0; // już nie potrzeba więcej "odbierać" bloków } else if(controler.nrObj[j,i]>jeszcze1) // jeśli w slocie jest więcej niż jeszcze zostało do odebrania { controler.nrObj[j,i]-=jeszcze1; //odejmujesz liczbę surowców, które musisz odebrać, od liczby surowców które są w danym slocie crafting.posiadasz1[1]-=crafting.ile1[1]; // odejmujesz ilość surowców, które musisz odebrać o liczby wszystkich posiadanych jeszcze1=0; // już nie potrzeba więcej "odbierać" bloków } else if(controler.nrObj[j,i]<jeszcze1) // jeśli w slocie jest mniej surowców niż potrzeba do "odebrania" { jeszcze1-=controler.nrObj[j,i]; // odejmujesz liczbe surowców crafting.posiadasz1[1]-=controler.nrObj[j,i]; // odejmujesz liczbe surowców w slocie od liczby wszystkich posiadanych. controler.idObj[j,i]=-1; // slot jest wyczyszczony controler.nrObj[j,i]=0; } } } } } } Te "jeszcze2" i "jeszcze3" to będzie potem, jak będzie trzeba będzie posiadać więcej przedmiotów. Np. I drewno i kamień itp. PROBLEM: Pobiera mi dwa razy więcej niż to potrzeba. Jeśli w slotach jest więcej, niż potrzeba (w tym wypadku 2) to zabiera więcej. Jeśli jest ogólnie 3 to zabiera 2. Jeśli jest ogólnie 4 to zabiera 4. Jeśli jest ogólnie 5 to zabiera 4. Jeśli jest ogólnie 6 to zabiera 6. Nie wiem czemu się tak dzieje. Czemu akurat dwa? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ediepl Opublikowano 28 Stycznia 2012 Udostępnij Opublikowano 28 Stycznia 2012 Hmm wyślij mi projekt, bo tak na sucho to jakoś nie widzę błędu. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
MiChAl200 Opublikowano 28 Stycznia 2012 Autor Udostępnij Opublikowano 28 Stycznia 2012 @ediepl Dzięki za pomoc, problem rozwiązany! Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się