Problema System Crafting (Default)

Înainte de a posta o problemă, caută în acest forum și poate găsești rezolvare.
Avatar utilizator
AliaceOfficial
Nivel 6

Nivel 6
Mesaje: 1002
Membru din: 26 Iun 2019, 23:08
Server: nu am
Regat: Jinno
Aprecieri: 896  
Mulţumiri: 25  
Medalii

*Problemă: Afisrare iteme in system.
*Syserr: Este gol.
*Poză: Imagine.
*Detalii suplimentare:

Am si eu o problema pe care au mai avut-o si altii, insa nu am gasit o rezolvare anume pe forum.
Problema este ca nu imi afiseaza itemele selectate de mine, in system.
Am slectat itemele in cube.txt

Cod: Selectaţi tot

#º¹¼þ¾Æ²ÉÁø¾×
section
	npc	20080
	item	71123	200
	item	71129	200
	item	30270	200
	item	51001	200
	reward	11973	1
	percent	100	
end		
Ca si questi, il am pe acesta.

Cod: Selectaţi tot

 quest cube begin
   state start begin
      when 20080.chat."Esti Smecher, ma!" with pc.level >= 15 begin
         say_title(mob_name(20080)..":")
         say(" ")
         say("Esti Bun.")
         say(" ")
         wait()
         setskin(NOWINDOW)
         command("cube open")
      end
   end
end
Nu stiu de la ce poate fi.
Ma poate ajuta cineva cu o solutie?

[Mentionez ca acest topic nu are legatura cu topicul facut ieri, tot cu un system de crafting, insa altul.]
[Astept sa vad daca primesc un raspuns acolo, pana atunci, incerc macar p-asta functionabil.]
Ultima oară modificat 14 Ian 2021, 19:45 de către AliaceOfficial, modificat 1 dată în total.
Avatar utilizator
sanjibro
Utilizator interzis !

Utilizator interzis !
Mesaje: 93
Membru din: 10 Ian 2021, 02:16
Regat: Jinno
Aprecieri: 1  
Mulţumiri: 14  
Discord: Copiază ID
Medalii

section
npc 20080
item 71123 200
item 71129 200
item 30270 200
reward 11973 1
percent 100
end

daca scoti 1 item functioneaza? poti incerca?
Imagine
Afișează semnătura
Avatar utilizator
Petrinel
Nivel 4

Nivel 4
Mesaje: 539
Membru din: 31 Mar 2018, 00:58
Server: Fara
Regat: Jinno
Aprecieri: 319  
Mulţumiri: 101  
Discord: Copiază ID
Medalii

vezi daca iti apare cu mai multe iteme cu coduri diferite, pune macar 5.
sau schimba uicube.py cu asta .
https://easyupload.io/horqta
Imagine
Afișează semnătura
Avatar utilizator
IrinaLoghin
Utilizator interzis !

Utilizator interzis !
Mesaje: 16
Membru din: 12 Ian 2021, 22:51
Server: NuFolosesc
Regat: Chunjo
Aprecieri: 6  
Mulţumiri: 6  
Medalii

h.t.t.p.s://prnt.sc/wnluv6
modifica asa
Trebuia sa pui syserr sa-si dea seama baietii exact unde e problema.
Noroc ca eu nu am nevoie de syserr ca sa-mi dau seama de unde provine problema.

cube.cpp -> inlocuieste functia , cu cea pusa de mine si o sa-ti mearga

Cod: Selectaţi tot

void Cube_request_result_list(LPCHARACTER ch)
{
	RETURN_IF_CUBE_IS_NOT_OPENED(ch);

	LPCHARACTER	npc = ch->GetQuestNPC();
	if (NULL == npc)
		return;

	DWORD npcVNUM = npc->GetRaceNum();

	if (!FN_check_valid_npc(npcVNUM)) // @fixme127
	{
		if (test_server)
			dev_log(LOG_DEB0, "cube not valid NPC");
		return;
	}

	size_t resultCount = 0;

	std::string& resultText = cube_result_info_map_by_npc[npcVNUM];


	if (resultText.length() == 0)
	{
		resultText.clear();

		const TCubeResultList& resultList = cube_info_map[npcVNUM];
		for (TCubeResultList::const_iterator iter = resultList.begin(); resultList.end() != iter; ++iter)
		{
			const SCubeMaterialInfo& materialInfo = *iter;
			char temp[128];
			sprintf(temp, "%d,%d", materialInfo.reward.vnum, materialInfo.reward.count);

			resultText += std::string(temp) + "/";
		}

		resultCount = resultList.size();

		if (resultText.size() != 0) // @fixme127
			resultText.erase(resultText.size() - 1);


	size_t resultTextSize = resultText.size() < 20 ? 20 - resultText.size() : resultText.size() - 20;

	if (resultTextSize >= CHAT_MAX_LEN)
	{
		sys_err("[CubeInfo] Too long cube result list text. (NPC: %d, length: %d)", npcVNUM, resultText.size());
		resultText.clear();
		resultCount = 0;
	}

	}


	// (Server -> Client) /cube r_list npcVNUM resultCount vnum1,count1/vnum2,count2,/vnum3,count3/...
	// (Server -> Client) /cube r_list 20383 4 123,1/125,1/128,1/130,5

	ch->ChatPacket(CHAT_TYPE_COMMAND, "cube r_list %d %d %s", npcVNUM, resultCount, resultText.c_str());
}
Ultima oară modificat 14 Ian 2021, 19:54 de către IrinaLoghin, modificat 1 dată în total.
Pentru acest mesaj, IrinaLoghin for the post:
AliaceOfficial
Avatar utilizator
AliaceOfficial
Nivel 6

Nivel 6
Mesaje: 1002
Membru din: 26 Iun 2019, 23:08
Server: nu am
Regat: Jinno
Aprecieri: 896  
Mulţumiri: 25  
Medalii

sanjibro scrie: ↑14 Ian 2021, 19:45 section
npc 20080
item 71123 200
item 71129 200
item 30270 200
reward 11973 1
percent 100
end

daca scoti 1 item functioneaza? poti incerca?
Am incercat.
Nu merge.
Avatar utilizator
AliaceOfficial
Nivel 6

Nivel 6
Mesaje: 1002
Membru din: 26 Iun 2019, 23:08
Server: nu am
Regat: Jinno
Aprecieri: 896  
Mulţumiri: 25  
Medalii

Petrinel scrie: ↑14 Ian 2021, 19:45 vezi daca iti apare cu mai multe iteme cu coduri diferite, pune macar 5.
sau schimba uicube.py cu asta .
https://easyupload.io/horqta
Am inlocuit fisierul.
Am pus si 5 iteme diferite in cube.txt ca si cerinte, tot nu merge.
Avatar utilizator
IrinaLoghin
Utilizator interzis !

Utilizator interzis !
Mesaje: 16
Membru din: 12 Ian 2021, 22:51
Server: NuFolosesc
Regat: Chunjo
Aprecieri: 6  
Mulţumiri: 6  
Medalii

Maniac scrie: ↑14 Ian 2021, 19:55
Petrinel scrie: ↑14 Ian 2021, 19:45 vezi daca iti apare cu mai multe iteme cu coduri diferite, pune macar 5.
sau schimba uicube.py cu asta .
Am inlocuit fisierul.
Am pus si 5 iteme diferite in cube.txt ca si cerinte, tot nu merge.
ti-am zis rezolvarea =((
Pentru acest mesaj, IrinaLoghin for the post:
AliaceOfficial
Avatar utilizator
AliaceOfficial
Nivel 6

Nivel 6
Mesaje: 1002
Membru din: 26 Iun 2019, 23:08
Server: nu am
Regat: Jinno
Aprecieri: 896  
Mulţumiri: 25  
Medalii

IrinaLoghin scrie: ↑14 Ian 2021, 20:08
Maniac scrie: ↑14 Ian 2021, 19:55
Petrinel scrie: ↑14 Ian 2021, 19:45 vezi daca iti apare cu mai multe iteme cu coduri diferite, pune macar 5.
sau schimba uicube.py cu asta .
Am inlocuit fisierul.
Am pus si 5 iteme diferite in cube.txt ca si cerinte, tot nu merge.
ti-am zis rezolvarea =((
Acum incerc. <3
Avatar utilizator
IrinaLoghin
Utilizator interzis !

Utilizator interzis !
Mesaje: 16
Membru din: 12 Ian 2021, 22:51
Server: NuFolosesc
Regat: Chunjo
Aprecieri: 6  
Mulţumiri: 6  
Medalii

Maniac scrie: ↑14 Ian 2021, 20:09
IrinaLoghin scrie: ↑14 Ian 2021, 20:08
Maniac scrie: ↑14 Ian 2021, 19:55

Am inlocuit fisierul.
Am pus si 5 iteme diferite in cube.txt ca si cerinte, tot nu merge.
ti-am zis rezolvarea =((
Acum incerc. <3
bine
Pentru acest mesaj, IrinaLoghin for the post:
AliaceOfficial
Avatar utilizator
AliaceOfficial
Nivel 6

Nivel 6
Mesaje: 1002
Membru din: 26 Iun 2019, 23:08
Server: nu am
Regat: Jinno
Aprecieri: 896  
Mulţumiri: 25  
Medalii

IrinaLoghin scrie: ↑14 Ian 2021, 19:51 h.t.t.p.s://prnt.sc/wnluv6
modifica asa
Trebuia sa pui syserr sa-si dea seama baietii exact unde e problema.
Noroc ca eu nu am nevoie de syserr ca sa-mi dau seama de unde provine problema.

cube.cpp -> inlocuieste functia , cu cea pusa de mine si o sa-ti mearga

Cod: Selectaţi tot

void Cube_request_result_list(LPCHARACTER ch)
{
	RETURN_IF_CUBE_IS_NOT_OPENED(ch);

	LPCHARACTER	npc = ch->GetQuestNPC();
	if (NULL == npc)
		return;

	DWORD npcVNUM = npc->GetRaceNum();

	if (!FN_check_valid_npc(npcVNUM)) // @fixme127
	{
		if (test_server)
			dev_log(LOG_DEB0, "cube not valid NPC");
		return;
	}

	size_t resultCount = 0;

	std::string& resultText = cube_result_info_map_by_npc[npcVNUM];


	if (resultText.length() == 0)
	{
		resultText.clear();

		const TCubeResultList& resultList = cube_info_map[npcVNUM];
		for (TCubeResultList::const_iterator iter = resultList.begin(); resultList.end() != iter; ++iter)
		{
			const SCubeMaterialInfo& materialInfo = *iter;
			char temp[128];
			sprintf(temp, "%d,%d", materialInfo.reward.vnum, materialInfo.reward.count);

			resultText += std::string(temp) + "/";
		}

		resultCount = resultList.size();

		if (resultText.size() != 0) // @fixme127
			resultText.erase(resultText.size() - 1);


	size_t resultTextSize = resultText.size() < 20 ? 20 - resultText.size() : resultText.size() - 20;

	if (resultTextSize >= CHAT_MAX_LEN)
	{
		sys_err("[CubeInfo] Too long cube result list text. (NPC: %d, length: %d)", npcVNUM, resultText.size());
		resultText.clear();
		resultCount = 0;
	}

	}


	// (Server -> Client) /cube r_list npcVNUM resultCount vnum1,count1/vnum2,count2,/vnum3,count3/...
	// (Server -> Client) /cube r_list 20383 4 123,1/125,1/128,1/130,5

	ch->ChatPacket(CHAT_TYPE_COMMAND, "cube r_list %d %d %s", npcVNUM, resultCount, resultText.c_str());
}
Imagine.
A mers.
Multumesac mult de tot. :x :ymhug: :x :ymhug: :x :ymhug:
Închis
Răspunsuri
5
Vizualizări
299
Răspunsuri
1
Vizualizări
214
Răspunsuri
1
Vizualizări
193
Răspunsuri
1
Vizualizări
412

Înapoi la “Probleme rezolvate”

  • Informaţie