Problema negot

Înainte de a posta o problemă, caută în acest forum și poate găsești rezolvare.
Închis
Avatar utilizator
midaseon
Utilizator interzis !

Utilizator interzis !
Mesaje: 326
Membru din: 27 Iun 2018, 19:24
Server: Lucru
Regat: Jinno
Aprecieri: 179  
Mulţumiri: 287  
Medalii

*Problemă/Întrebare: După cum spune și titlul, dacă am primele 2 inventare full si imi da cineva prin negot ceva... Scrie in chat Item Divided
Tipologie server: PvM-Easy
*Resursă folosită: Așa era
*ServerFiles utilizat: Un turcesc tradus
*Syserr: lipsă.....
Poză: nu cred ca e nevoie
*Detalii suplimentare: nu am facut schimbari in privinta asta!
Avatar utilizator
xKozeD.
Nivel 4

Nivel 4
Mesaje: 599
Membru din: 18 Sep 2015, 19:23
Aprecieri: 152  
Mulţumiri: 1696  
Discord: Copiază ID
 Contact:
Medalii

In Exchange.cpp caută for (i = 0; i < INVENTORY_MAX_NUM / 4; ++i)
trebuie să arate ceva de genul ăsta
https://prnt.sc/qfo7r2
Dacă nu e, ia de aici codul:
	for (i = 0; i < INVENTORY_MAX_NUM / 4; ++i)
	{
		if (!(item = victim->GetInventoryItem(i)))
			continue;
		 
		s_grid1.Put(i, 1, item->GetSize());
	}
	for (i = INVENTORY_MAX_NUM / 4; i < (INVENTORY_MAX_NUM / 4) * 2; ++i)
	{
		if (!(item = victim->GetInventoryItem(i)))
			continue;

		s_grid2.Put(i - INVENTORY_MAX_NUM / 4, 1, item->GetSize());
	}
	for (i = (INVENTORY_MAX_NUM / 4) * 2; i < (INVENTORY_MAX_NUM / 4) * 3; ++i)
	{
			if (!(item = victim->GetInventoryItem(i)))
		continue;

		s_grid3.Put(i - (INVENTORY_MAX_NUM / 4) * 2, 1, item->GetSize());
	}
	for (i = (INVENTORY_MAX_NUM / 4) * 3; i < (INVENTORY_MAX_NUM / 4) * 4; ++i)
	{
		if (!(item = victim->GetInventoryItem(i)))
			continue;

		s_grid4.Put(i -(INVENTORY_MAX_NUM / 4) * 3, 1, item->GetSize());
	}
Pentru acest mesaj, xKozeD. for the post:
midaseon
Imagine
Afișează semnătura
Avatar utilizator
midaseon
Utilizator interzis !

Utilizator interzis !
Mesaje: 326
Membru din: 27 Iun 2018, 19:24
Server: Lucru
Regat: Jinno
Aprecieri: 179  
Mulţumiri: 287  
Medalii

xKozeD. scrie: ↑25 Dec 2019, 21:28 In Exchange.cpp caută for (i = 0; i < INVENTORY_MAX_NUM / 4; ++i)
trebuie să arate ceva de genul ăsta
https://prnt.sc/qfo7r2
Dacă nu e, ia de aici codul:
	for (i = 0; i < INVENTORY_MAX_NUM / 4; ++i)
	{
		if (!(item = victim->GetInventoryItem(i)))
			continue;
		 
		s_grid1.Put(i, 1, item->GetSize());
	}
	for (i = INVENTORY_MAX_NUM / 4; i < (INVENTORY_MAX_NUM / 4) * 2; ++i)
	{
		if (!(item = victim->GetInventoryItem(i)))
			continue;

		s_grid2.Put(i - INVENTORY_MAX_NUM / 4, 1, item->GetSize());
	}
	for (i = (INVENTORY_MAX_NUM / 4) * 2; i < (INVENTORY_MAX_NUM / 4) * 3; ++i)
	{
			if (!(item = victim->GetInventoryItem(i)))
		continue;

		s_grid3.Put(i - (INVENTORY_MAX_NUM / 4) * 2, 1, item->GetSize());
	}
	for (i = (INVENTORY_MAX_NUM / 4) * 3; i < (INVENTORY_MAX_NUM / 4) * 4; ++i)
	{
		if (!(item = victim->GetInventoryItem(i)))
			continue;

		s_grid4.Put(i -(INVENTORY_MAX_NUM / 4) * 3, 1, item->GetSize());
	}
asta am zis si eu ca este, dar nu
Avatar utilizator
xKozeD.
Nivel 4

Nivel 4
Mesaje: 599
Membru din: 18 Sep 2015, 19:23
Aprecieri: 152  
Mulţumiri: 1696  
Discord: Copiază ID
 Contact:
Medalii

Incearca asta:
Pentru acest mesaj, xKozeD. for the post:
midaseon
Imagine
Afișează semnătura
Avatar utilizator
midaseon
Utilizator interzis !

Utilizator interzis !
Mesaje: 326
Membru din: 27 Iun 2018, 19:24
Server: Lucru
Regat: Jinno
Aprecieri: 179  
Mulţumiri: 287  
Medalii

xKozeD. scrie: ↑25 Dec 2019, 21:33 Incearca asta:
cred ca de la asta a fost, eu am doar 2 in loc de 4

Cod: Selectaţi tot

            int iPos = s_grid1.FindBlank(1, item->GetSize());
            if (iPos >= 0) {
                s_grid1.Put(iPos, 1, item->GetSize());
                continue;
            }
 
            iPos = s_grid2.FindBlank(1, item->GetSize());
            if (iPos >= 0) {
                s_grid2.Put(iPos, 1, item->GetSize());
                continue;
            }
 
            iPos = s_grid3.FindBlank(1, item->GetSize());
            if (iPos >= 0) {
                s_grid3.Put(iPos, 1, item->GetSize());
                continue;
            }
 
            iPos = s_grid4.FindBlank(1, item->GetSize());
            if (iPos >= 0) {
                s_grid4.Put(iPos, 1, item->GetSize());
                continue;
            }
 
            return false;  // No space left in inventory
        }
    }
 
    return true;
}
Avatar utilizator
midaseon
Utilizator interzis !

Utilizator interzis !
Mesaje: 326
Membru din: 27 Iun 2018, 19:24
Server: Lucru
Regat: Jinno
Aprecieri: 179  
Mulţumiri: 287  
Medalii

T/C

Rezolvat

xKozeD., THX Bro. :x
Avatar utilizator
xKozeD.
Nivel 4

Nivel 4
Mesaje: 599
Membru din: 18 Sep 2015, 19:23
Aprecieri: 152  
Mulţumiri: 1696  
Discord: Copiază ID
 Contact:
Medalii

lasa si tu un thx ;)
Pentru acest mesaj, xKozeD. for the post:
midaseon
Imagine
Afișează semnătura
Închis
Răspunsuri
2
Vizualizări
217
Răspunsuri
4
Vizualizări
146
Răspunsuri
2
Vizualizări
126
Răspunsuri
8
Vizualizări
360

Înapoi la “Probleme rezolvate”

  • Informaţie
  • Cine este conectat

    Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 33 vizitatori