←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

HP poraz 1000 tylko że troche inny problem

Locked

  • +
  • -
Janko's Photo Janko 02.05.2011

Witam, przeszukałem to forum i nie znalazłem odp na nurtujące mnie pytanie.

Chodzi o to że na diablo w którym podniosłem max lvl i jest więcej skilla do rozdania. No i kiedy ktoś da 100sily to na starcie rundy ma 255hp i tu po lewej na dole i na górze w liczniku od dibalo i proszę nie mówcie że rzeczywiście ma się więcej bo sie nie ma i jest tylko 255hp sprawdzałem to... wiecie która część kodu może mi to blokować? że tylko 255? bo jak ktoś postawi totem to hp wzrasta normalnie
Quote

  • +
  • -
ogieR8's Photo ogieR8 02.05.2011

Co Ty pier*dolisz ?. To tylko maksymalnie wyświetlana ilość HP jaka była przewidywana w HL-fie. HP masz ile chcesz. Najlepiej to dodaj sobie do public write_hud obok klasy ilość HP..

Pozdrawiam
~ 0g!eR
Quote

  • +
  • -
Janko's Photo Janko 02.05.2011

{
set_hudmessage(0, 255, 0, 0.03, 0.20, 0, 6.0, 1.0)
show_hudmessage(id, "[Zycie: %i]^n[Klasa: %s]^n[Poziom: %i (%0.0f%s)]^n[Przedmiot: %s]^n[Wytrzymalosc: %i]^n[Zloto: %i]",get_user_health(id), Race[player_class[id]], player_lvl[id], perc,"%%", player_item_name[id],item_durability[id],zloto_gracza[id])
}
else
{
set_hudmessage(0, 255, 0, 0.03, 0.20, 0, 6.0, 1.0)
show_hudmessage(id, "[Zycie: %i]^n[Klasa: %s]^n[Poziom: %i (%0.0f%s)]^n[Skoki: %i/%i]^n[Przedmiot: %s]^n[Wytrzymalosc: %i]^n[Zloto %i]",get_user_health(id), Race[player_class[id]], player_lvl[id], perc,"%%",JumpsLeft[id],JumpsMax[id], player_item_name[id], item_durability[id],zloto_gracza[id])
}



Mam tak i dalej jest 255na start... tu i tu jak slapne gościa za 256 to pada skoro jest tak jak mówisz powiedz dlaczego? mimo że ma 200siły czyli kolo 550hp
Quote

  • +
  • -
ogieR8's Photo ogieR8 02.05.2011

Pokaż mi Twoje rozdzelenia statystyk

Spoiler


Może masz tam jakiś warunek (np. if), że działa tylko do 255 czy coś.

Pozdrawiam
~ 0g!eR

Edited by ogieR-, 02.05.2011 10:18.
Quote

  • +
  • -
Janko's Photo Janko 02.05.2011

public skilltree(id)
{
new text[513]
new keys = (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<5)|(1<<6)|(1<<7)


format(text, 512, "\yWybierz Staty- \rPunkty: %i^n^n\w1. Inteligencja [%i] [Wieksze obrazenia czarami]^n\w2. Sila [%i] [Wiecej zycia]^n\w3. Zrecznosc [%i] [Bronie zadaja ci mniejsze obrazenia]^n\w4. Zwinnosc [%i] [Szybciej biegasz i magia zadaje ci mniejsze obrazenia]^n\w5. Wszystko w Inteligencje ^n\w6. Wszystko w sile ^n\w7. Wszystko w zrecznosc ^n\w8. Wszystko w zwinosc",player_point[id],player_intelligence[id],player_strength[id],player_agility[id],player_dextery[id])

keys = (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<5)|(1<<6)|(1<<7)
show_menu(id, keys, text)
return PLUGIN_HANDLED
}


public skill_menu(id, key)
{
new max_skill=500
switch(key)
{
case 0:
{
if (player_intelligence[id]<500){
player_point[id]-=2
player_intelligence[id]+=2
}
else client_print(id,print_center,"Maxymalny poziom inteligencji osiagniety")

}
case 1:
{
if (player_strength[id]<500){
player_point[id]-=2
player_strength[id]+=2
}
else client_print(id,print_center,"Maxymalny poziom sily osiagniety")
}
case 2:
{
if (player_agility[id]<500){
player_point[id]-=2
player_agility[id]+=2
player_damreduction[id] = (47.3057*(1.0-floatpower( 2.7182, -0.06798*float(player_agility[id])))/100)
}
else client_print(id,print_center,"Maxymalny poziom zrecznosci osiagniety")

}
case 3:
{
if (player_dextery[id]<500){
player_point[id]-=2
player_dextery[id]+=2
set_speedchange(id)
}
else client_print(id,print_center,"Maxymalny poziom zwinnosci osiagniety")
}
case 4:
{
if (player_point[id]+player_intelligence[id] <= 500)
{
player_intelligence[id]+=player_point[id]
player_point[id]=0
}
else
{
player_point[id]-=max_skill-player_intelligence[id]
player_intelligence[id]=max_skill
client_print(id,print_center,"Maxymalny poziom inteligencji osiagniety")
}
}
case 5:
{
if (player_point[id]+player_strength[id] <= 500)
{
player_strength[id]+=player_point[id]
player_point[id]=0
}
else
{
player_point[id]-=max_skill-player_strength[id]
player_strength[id]=max_skill
client_print(id,print_center,"Maxymalny poziom sily osiagniety")
}
}
case 6:
{
if (player_point[id]+player_agility[id]<500)
{
player_agility[id]+=player_point[id]
player_point[id]=0
}
else
{
player_point[id]-=max_skill-player_agility[id]
player_agility[id]=max_skill
client_print(id,print_center,"Maxymalny poziom zrecznosci osiagniety")
}
player_damreduction[id] = (47.3057*(1.0-floatpower( 2.7182, -0.06798*float(player_agility[id])))/100)

}
case 7:
{
if (player_point[id]+player_dextery[id]<500)
{
player_dextery[id]+=player_point[id]
player_point[id]=0
}
else
{
player_point[id]-=max_skill-player_dextery[id]
player_dextery[id]=max_skill
client_print(id,print_center,"Maxymalny poziom zwinnosci osiagniety")
}
set_speedchange(id)
}
}

if (player_point[id] > 0)
skilltree(id)


return PLUGIN_HANDLED
}
Quote

  • +
  • -
ogieR8's Photo ogieR8 02.05.2011

Nie widzę tutaj żadnego warunku na ograniczenie :| Ale mam pytanie .. Po co robisz nową zmienną, jak z niej nie korzytasz, zamień na to :

Spoiler


Wątpię, że to rozwiąże problem, ale dobrze będzie jak użyjesz mojej 'poprawki'. Może akurat zadziała ^^ Chodź wątpię :/
Quote

  • +
  • -
Janko's Photo Janko 02.05.2011

Najlepsze jest to że w kodzie nie ma niczego co może wskazywać na to że na start ma być 255hp bo nie ma nigdzie 255 tylko w kolorze :/
Quote

  • +
  • -
Divic's Photo Divic 02.05.2011

omg przecież ci ogier pisze ze to jest OGRANICZENIE GRY

Zacznij klasa z 1 lvl na pewno będziesz miał mniej niż 255 hp, To ograniczenie gry a nie diablo więcej ci wyświetlać nie bedzie
Quote

  • +
  • -
Janko's Photo Janko 02.05.2011

Ograniczenie gry powiadasz? To czemu na innych serwerach jakoś można zacząć od więcej?
Quote

  • +
  • -
DarkGL's Photo DarkGL 02.05.2011

chodzi o to ze nie wyswietla w hud wiecej niz 255 ? czy po prostu wiecej niz 255 hp nie mozesz miec nawet jak dodajesz ?
jesli pierwsze to jest to ograniczenie gry
jesli drugie daj sma :)
Quote

  • +
  • -
Janko's Photo Janko 02.05.2011

Nie obchodzi mnie napis csowy czyli tam gdzie zawsze jest 100hp bo to wiem ze jest na full 255.


Chodzi mi o licznik od diablo i ogólnie bo jest 255 po respie w każdej rundzie a powinno być więcej.


Sma nie mogę dać bo jest za dużo przerobione żeby tak teraz na publika rozdać mogę dawać różne części ale nie całego.
Quote

Jagoda's Photo Jagoda 03.05.2011

pokaz funkcje
public task_setplayer(args[])
Quote

  • +
  • -
Janko's Photo Janko 03.05.2011

public task_setplayer(args[])
{
new id = args[0]

fm_give_item(id, "weapon_knife")

if(args[1]==1)
{
fm_give_item(id, "weapon_mp5navy")
change_health(id,9999,0,"")
set_user_godmode(id, 1)

new newarg[1]
newarg[0]=id

set_task(3.0,"god_off",id+95123,newarg,1)
}
else
{
fm_set_user_health(id, get_pcvar_num(cvar_revival_health)+player_intelligence[args[2]])

Display_Fade(id,seconds(2),seconds(2),0,0,0,0,255)
}

if(player_item_id[id]==17) fm_set_user_health(id,5)
}

Edited by Janko, 03.05.2011 11:51.
Quote

  • +
  • -
DarkGL's Photo DarkGL 03.05.2011

pokaz wszystkie wystapienia uzycia funkcji task_setplayer a takze usuwania taska /zmieniania jego czasu
jesli nie potrafisz tego zrobic no to radz sobie sam bo nie chcesz dac sma
Quote

  • +
  • -
Janko's Photo Janko 03.05.2011

public task_stuck_check(args[])
{
new id = args[0]

static Float:origin[3]
pev(id, pev_origin, origin)

if(origin[2] == pev(id, pev_zorigin))
set_task(0.1, "task_respawn", TASKID_RESPAWN + id,args,3)
else
set_task(0.1, "task_setplayer", TASKID_SETUSER + id,args,3)
}


public task_setplayer(args[])
{
new id = args[0]

fm_give_item(id, "weapon_knife")

if(args[1]==1)
{
fm_give_item(id, "weapon_mp5navy")
change_health(id,9999,0,"")
set_user_godmode(id, 1)

new newarg[1]
newarg[0]=id

set_task(3.0,"god_off",id+95123,newarg,1)
}
else
{
fm_set_user_health(id, get_pcvar_num(cvar_revival_health)+player_intelligence[args[2]])

Display_Fade(id,seconds(2),seconds(2),0,0,0,0,255)
}

if(player_item_id[id]==17) fm_set_user_health(id,5)
}


Usuwanie taska występuje w wielu miejscach a zmiany nie ma nigdzie które konkretnie miejsce ci podać?
Quote

  • +
  • -
DarkGL's Photo DarkGL 03.05.2011

podeslij te glupie sma na pw chyba ze sie znów boisz ze cie okradnę to sam naprawiaj
Quote

  • +
  • -
Janko's Photo Janko 03.05.2011

Rozwiązane można zamknąć
Quote
Locked