←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

Zmiana ilości punktów na lvl w Diablo Mod

Zablokowany

  • +
  • -
Kointh - zdjęcie Kointh 11.04.2010

Witam, chciałbym zmienić ilość punktów na lvl (chodzi mi o punkty do siły itd.), normalnie są 2 punkty na 1 lvl - chciałbym zmienić je na 1 na 1 lvl. Gdzie to zmienić? Dzięki za pomoc.
Odpowiedz

  • +
  • -
LoleczeQ - zdjęcie LoleczeQ 11.04.2010

Również dołączam się do pytania. Będzie +
Odpowiedz

  • +
  • -
KoRnY - zdjęcie KoRnY 11.04.2010

są dwa sposoby:
łatwiejszy
		case 1: 
{
if (p_stats[id][str]<x){
p_stats[id][points]-=2 // Zmiana na 2.
p_stats[id][str]+=1
}
else client_print(id,print_center,"Maxymalny poziom sily osiagniety")

W tym sposobie jeden pkt siły będzie kosztować 2 punkty.

Drugi trudniejszy to trzeba zmienić ile pkt z lvl się dostaje + zmienić zabezpieczenia przeciwko błędom w statystykach (jeśli jest za dużo/za mało pkt resetują staty)
Tak więc jeśli pierwszy sposób was nie zadawala to mogę spróbować opisać drugi.

11 kwiecień 2010 - 14:04:
Oto i drugi sposób :]
w
public Give_Xp(id,amount)


player_lvl[id]+=1
p_stats[id][points]+=1 // z 2 zmienione na 1
set_hudmessage(60, 200, 25, -1.0, 0.25, 0, 1.0, 2.0, 0.1, 0.2, 2)
show_hudmessage(id, "Awansowales do poziomu %i", player_lvl[id])
savexpcom(id)
p_class_lvl[id][player_class[id]]=player_lvl[id]

Użytkownik KoRnY edytował ten post 11.04.2010 14:01
Odpowiedz

  • +
  • -
Kointh - zdjęcie Kointh 11.04.2010

Użyłem 2 sposobu i wszystko z tym jest ok, ale mam inny problem. Mianowicie niektórzy mają już np. 150 lvl i teraz chcę żeby on miał te 150 pkt, a on ma 300 pkt czy ile, i dopiero od każdego następnego lvl dostaje po 1. Próbowałem /reset ale to nie pomaga, bo dalej jest do wyboru 2x więcej punktów. Wiecie jak usunąc te punkty ?
Odpowiedz

  • +
  • -
Monsulito - zdjęcie Monsulito 11.04.2010

To:
public reset_skill(id)
{	
	client_print(id,print_chat,"Reset skill'ow")
	player_point[id] = player_lvl[id]*2-2
	player_intelligence[id] = 0
	player_strength[id] = 0 
	player_agility[id] = 0
	player_dextery[id] = 0 
	BoostRing(id)
	BoostStats(id,player_b_extrastats[id])
	
	skilltree(id)
	set_speedchange(id)
	player_damreduction[id] = (47.3057*(1.0-floatpower( 2.7182, -0.06798*float(player_agility[id])))/100)
}

Zamień na to:

public reset_skill(id)
{	
	client_print(id,print_chat,"Reset skill'ow")
	player_point[id] = player_lvl[id]*1-1
	player_intelligence[id] = 0
	player_strength[id] = 0 
	player_agility[id] = 0
	player_dextery[id] = 0 
	BoostRing(id)
	BoostStats(id,player_b_extrastats[id])
	
	skilltree(id)
	set_speedchange(id)
	player_damreduction[id] = (47.3057*(1.0-floatpower( 2.7182, -0.06798*float(player_agility[id])))/100)
}

Wtedy wpisz /reset i wszystko gra ;)
Odpowiedz

  • +
  • -
Kointh - zdjęcie Kointh 11.04.2010

Dzięki !

11 kwiecień 2010 - 18:31:
Jednak nie jest OK. Coś jest źle, chyba nie wszędzie zmienione czy coś, bo wziąłem 2 sposób, i na np 31 lvl było 30 punktów. Wbiłem sobie je w siłę. Wyszedłem z server, przyszedłem znowu i mam 30 punktów w sile i kolejne 30 punktów do wyboru... co daje znowu 60 punktów zamiast 30. Wziąłem w takim razie 1 sposób, i tam jest znowu to samo... 31 lvl - mam do wykorzystanie 60 pkt, biore za to 30 siły bo 2 za 1. Po ponownym wejściu mam 30 siły i jeszcze 30 czy tam 60 punktów kolejnych do wykorzystania i się nigdy nie zgadza... Co jest nie tak?
Odpowiedz

  • +
  • -
Kubaczek <3 - zdjęcie Kubaczek <3 12.04.2010

Musicie się w paru miejscach pozbyć *2 i -2
Odpowiedz
Zablokowany