Napotkałem na dziwny problem podczas tworzenia itemów które redukują hp. Są takie same jak Stalker ring z małymi różnicami w widoczności i redukowanego hp.
O to ich kody
case 99:
{
player_item_name[id] = "Stalker 2"
player_item_id[id] = rannum
player_b_inv[id] = 20
player_b_reduceH[id] = 55
if (is_user_alive(id)) set_user_health(id,45)
case 100:
{
player_item_name[id] = "Stalker 3"
player_item_id[id] = rannum
player_b_reduceH[id] = 95
player_b_inv[id] = 1
item_durability[id] = 50
if (is_user_alive(id)) set_user_health(id,5)
Dodaję te itemy do public add_redhealth_bonus(id) w ten sposób:
public add_redhealth_bonus(id)
{
if (player_b_reduceH[id] > 0)
change_health(id,-player_b_reduceH[id],0,"")
if(player_item_id[id]==17 || player_item_id[id]==100)
set_user_health(id,5)
if(player_item_id[id]==99)
set_user_health(id,45)
}
I już przy tym publicu są problemy, zaraz wyjaśnię.
W public task_setplayer(args[]) ustawiłem
if(player_item_id[id]==17 || player_item_id[id]==100 ) fm_set_user_health(id,5)
if(player_item_id[id]==99) fm_set_user_health(id,45)
W public change_health
if(player_item_id[id]==17 || player_item_id[id]==100 &&hp>0)
{
set_user_health(id,health+floatround(float(hp/10),floatround_floor)+1)
}
if(player_item_id[id]==99 &&hp>0)
{
set_user_health(id,health+floatround(float(hp/10),floatround_floor)+1)
}
Ten wyżej mało ważny.
Itemy działają, ale bugują wszystkie itemy typu Unique. W public award_unique_item(id) nic nie zmieniałem. Bug jest taki, że jakimś dla mnie dziwnym sposobem, ustawiają 5 hp na każdej rundzie. Tak jak te 2 itemy. Nie wiem dlaczego jeszcze przypisuje im wartość unique jak są w zwykłych case. Ale jak usunę te itemy z public add_redhealth_bonus to Itemy inique działają poprawnie. Może o czymś jeszcze zapomniałem dopisać?
++ będą.
@edit
Zauważyłem coś dopiero i proszę o wyjaśnienie
W public award_unique_item(id) mam takie linijki
player_item_name[id] = Unique_name
player_item_id[id] = 100
Znaczy to że item nr. 100 jest itemem z serii unique? Jeżeli tak to problem się rozwiązał? I głupie pytanie, case 100 w public award_item zostawić jako wolny? W sensie
Case 99:{item}
case 101:{item}
Użytkownik dog_1 edytował ten post 29.07.2011 18:50