Problema Puncte Status C++

Totalitatea subiectelor care nu respectă regulamentul impus in sectiunea "Probleme şi Întrebări" vor fi stocate aici.
Închis
Avatar utilizator
SebiSzeb
Nivel 1

Nivel 1
Mesaje: 89
Membru din: 18 Ian 2019, 00:25
Aprecieri: 35  
Mulţumiri: 0
Medalii

*Problemă: Am modificat in char.cpp * 3 in *6 sa am la nivel 61 full status ! ( prin comanda /a primesc punctele cand fac lev 61) dar prin quest sa dea experienta nu imi da toate 360 puncte ! doar 190 si ceva :D
Tipologie server(PvM / PvP):
*Resursă folosită: *Link exclusiv J4M*
*ServerFiles utilizat:
*Syserr:
Poză:
*Detalii suplimentare:

Fiecare raspuns e bine primit :x
Avatar utilizator
[RaffaeL]
Software Developer

Software Developer
Mesaje: 3223
Membru din: 19 Mar 2016, 12:58
Server: ...
Aprecieri: 15  
Mulţumiri: 2502  
  Rezolvări prob.: 2
Discord: Copiază ID
 Contact:
Medalii

SebiSzeb scrie:*Problemă: Am modificat in char.cpp * 3 in *6 sa am la nivel 61 full status ! ( prin comanda /a primesc punctele cand fac lev 61) dar prin quest sa dea experienta nu imi da toate 360 puncte ! doar 190 si ceva :D
Tipologie server(PvM / PvP):
*Resursă folosită: *Link exclusiv J4M*
*ServerFiles utilizat:
*Syserr:
Poză:
*Detalii suplimentare:

Fiecare raspuns e bine primit :x
Sursa game/questlua_pc.cpp, cauta si editeaza linia:

Cod: Selectaţi tot

ch->PointChange(POINT_STAT, ((MINMAX(1, newLevel, 90) - ch->GetLevel()) * 3) + ch->GetPoint(POINT_LEVEL_STEP));
Pentru acest mesaj, [RaffaeL] for the post:
SebiSzeb
Imagine
Imagine
https://www.youtube.com/watch?v=GhYkCIETEto
Do everything, if you know what you're doing, else... Imagine
Ma gasesti si aici: Discord https://discord.gg/5J5GnyZVSR
Afișează semnătura
Avatar utilizator
SebiSzeb
Nivel 1

Nivel 1
Mesaje: 89
Membru din: 18 Ian 2019, 00:25
Aprecieri: 35  
Mulţumiri: 0
Medalii

[RaffaeL] scrie:
SebiSzeb scrie:*Problemă: Am modificat in char.cpp * 3 in *6 sa am la nivel 61 full status ! ( prin comanda /a primesc punctele cand fac lev 61) dar prin quest sa dea experienta nu imi da toate 360 puncte ! doar 190 si ceva :D
Tipologie server(PvM / PvP):
*Resursă folosită: *Link exclusiv J4M*
*ServerFiles utilizat:
*Syserr:
Poză:
*Detalii suplimentare:

Fiecare raspuns e bine primit :x
Sursa game/questlua_pc.cpp, cauta si editeaza linia:

Cod: Selectaţi tot

ch->PointChange(POINT_STAT, ((MINMAX(1, newLevel, 90) - ch->GetLevel()) * 3) + ch->GetPoint(POINT_LEVEL_STEP));
nu gasesc nimic asemanator la mine in questlua.cpp ! Mersi pentru raspuns !
Avatar utilizator
SebiSzeb
Nivel 1

Nivel 1
Mesaje: 89
Membru din: 18 Ian 2019, 00:25
Aprecieri: 35  
Mulţumiri: 0
Medalii

up !!! cineva ?
Avatar utilizator
SebiSzeb
Nivel 1

Nivel 1
Mesaje: 89
Membru din: 18 Ian 2019, 00:25
Aprecieri: 35  
Mulţumiri: 0
Medalii

up?
Avatar utilizator
[RaffaeL]
Software Developer

Software Developer
Mesaje: 3223
Membru din: 19 Mar 2016, 12:58
Server: ...
Aprecieri: 15  
Mulţumiri: 2502  
  Rezolvări prob.: 2
Discord: Copiază ID
 Contact:
Medalii

Ok... Sursa game/questlua_pc.cpp cauta:

Cod: Selectaţi tot

	int pc_get_level(lua_State * L)
	{
		lua_pushnumber(L, CQuestManager::instance().GetCurrentCharacterPtr()->GetLevel());
		return 1;
	}
Sub acea functie adauga(desi ar trebui sa fie, pe revizia 40k...)

Cod: Selectaţi tot

	int pc_set_level(lua_State * L)
	{
		if (!lua_isnumber(L, 1))
		{
			sys_err("invalid argument");
			return 0;
		}
		else
		{
			int newLevel = lua_tonumber(L, 1);
			LPCHARACTER ch = CQuestManager::instance().GetCurrentCharacterPtr();


			sys_log(0,"QUEST [LEVEL] %s jumpint to level %d", ch->GetName(), (int)rint(lua_tonumber(L,1)));

			PC* pPC = CQuestManager::instance().GetCurrentPC();
			LogManager::instance().QuestRewardLog(pPC->GetCurrentQuestName().c_str(), ch->GetPlayerID(), ch->GetLevel(), newLevel, 0);

			//포인트 : 스킬, 서브스킬, 스탯
			ch->PointChange(POINT_SKILL, newLevel - ch->GetLevel());
			ch->PointChange(POINT_SUB_SKILL, newLevel < 10 ? 0 : newLevel - MAX(ch->GetLevel(), 9));
			ch->PointChange(POINT_STAT, ((MINMAX(1, newLevel, 90) - ch->GetLevel()) * 3) + ch->GetPoint(POINT_LEVEL_STEP));
			//레벨
			ch->PointChange(POINT_LEVEL, newLevel - ch->GetLevel());
			//HP, SP
			ch->SetRandomHP((newLevel - 1) * number(JobInitialPoints[ch->GetJob()].hp_per_lv_begin, JobInitialPoints[ch->GetJob()].hp_per_lv_end));
			ch->SetRandomSP((newLevel - 1) * number(JobInitialPoints[ch->GetJob()].sp_per_lv_begin, JobInitialPoints[ch->GetJob()].sp_per_lv_end));


			// 회복
			ch->PointChange(POINT_HP, ch->GetMaxHP() - ch->GetHP());
			ch->PointChange(POINT_SP, ch->GetMaxSP() - ch->GetSP());

			ch->ComputePoints();
			ch->PointsPacket();
			ch->SkillLevelPacket();

			return 0;
		}
	}
Cauta in fuctia pc_set_level linia:

Cod: Selectaţi tot

ch->PointChange(POINT_STAT, ((MINMAX(1, newLevel, 90) - ch->GetLevel()) * 3) + ch->GetPoint(POINT_LEVEL_STEP));
si modifica dupa cum ai nevoie(lvl maxim, si punctele oferite pe lvl.)
In acelasi fisier cauta:

Cod: Selectaţi tot

			{ "get_level",		pc_get_level		},
si adauga sub:

Cod: Selectaţi tot

			{ "set_level",		pc_set_level		},
Recompileaza, si foloseste in quest:

Cod: Selectaţi tot

pc.set_level(aici lvl-ul dorit)
Imagine
Imagine
https://www.youtube.com/watch?v=GhYkCIETEto
Do everything, if you know what you're doing, else... Imagine
Ma gasesti si aici: Discord https://discord.gg/5J5GnyZVSR
Afișează semnătura
Avatar utilizator
Inuyasha
Utilizator interzis !

Utilizator interzis !
Mesaje: 1087
Membru din: 17 Feb 2017, 22:54
Server: Metin2 Ro
Regat: Chunjo
Aprecieri: 12  
Mulţumiri: 182  
 Contact:
Medalii

Subiect inactiv.

[ Postat de pe Android ] Imagine
„Vrei să trăiești cum se cuvine? Învață mai întâi să mori.” — Confucius
Afișează semnătura
Închis
Răspunsuri
0
Vizualizări
26
Răspunsuri
1
Vizualizări
213
Răspunsuri
10
Vizualizări
948
Răspunsuri
2
Vizualizări
149

Înapoi la “Arhivă Probleme şi Întrebări”

  • Informaţie