Mam na serwerze pewien item:
player_item_name[id] = "Tytanowy pancerz" player_item_id[id] = rannum player_b_redirect[id] = random_num(30,35) item_durability[id] = 250 show_hudmessage(id, "Znalazles przedmiot: %s :: Obrazenia zredukowane o %i",player_item_name[id]) }
Do Diablo dodane jest przekazywanie itemów i tu się pojawia haczyk, a więc gdy przekażę go 2 graczowi to on go otrzymuje a ja nadal mam ten item. Takie jakby kopiowanie...
Dodam że taka sprawa występuję tylko z tym itemem.
Myślałem nad usunięciem go z serwera ale jest to dość dobry item i gracze utraciliby go, dlatego najpierw postanowiłem napisać.
I pytanie brzmi czy da się to jakoś naprawić?
Teraz 2 problem:
Przy kompilacji wyskakuje błąd związany z linijkami.
Fragment kodu:
/* ==================================================================================================== */
public item_dagon(id)
{
if (player_b_dagfired[id])
{
set_hudmessage(220, 30, 30, -1.0, 0.40, 0, 3.0, 2.0, 0.2, 0.3, 5)
show_hudmessage(id, "Tego przedmiotu mozesz uzyc raz na runde")
return PLUGIN_HANDLED
}
//Target nearest non-friendly player
new target = UTIL_FindNearestOpponent(id,600+player_intelligence[id]*20)
if (target == -1)
return PLUGIN_HANDLED
new DagonDamage = player_b_dagon[id]*20
new Red = 0 ;
5468. if (player_b_dagon[id] == 1) Red = 175
5469. else if (player_b_dagon[id] == 2) Red = 225
5470. else if (player_b_dagon[id] > 2) Red = 255
//Dagon damage done is reduced by the targets dextery
DagonDamage-=player_dextery[target]*2
if (DagonDamage < 0)
DagonDamage = 0
new Hit[3]
get_user_origin(target,Hit)
//Create Lightning
message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
write_byte(1) // TE_BEAMENTPOINT
write_short(id)
write_coord(Hit[0])
write_coord(Hit[1])
write_coord(Hit[2])
write_short(sprite_lgt)
write_byte(0)
write_byte(1)
write_byte(3)
write_byte(10) //WITD
write_byte(60)
write_byte(Red)
write_byte(0)
write_byte(0)
write_byte(100) //BRIGT
write_byte(0)
message_end()
player_b_dagfired[id] = true
//Apply damage
change_health(target,-DagonDamage,id,"world")
Display_Fade(target,2600,2600,0,255,0,0,15)
hudmsg(id,2.0,"Twoje ciosy dagon przyjal %i, %i", DagonDamage, player_dextery[target]*2)
return PLUGIN_HANDLED
}
/* ==================================================================================================== */Dopisałem przy linijkach o których mowa w logach bo jest mowa o 3. (5468-5469-5470)Log z kompilacji:
// E:\Steam\steamapps\mokrot\counter-strike\cstrike_polish\addons\amxmodx\djaplo kompiler\djaplo.sma(5468) : error 022: must be lvalue (non-constant) // E:\Steam\steamapps\mokrot\counter-strike\cstrike_polish\addons\amxmodx\djaplo kompiler\djaplo.sma(5468 -- 5469) : warning 215: expression has no effect // E:\Steam\steamapps\mokrot\counter-strike\cstrike_polish\addons\amxmodx\djaplo kompiler\djaplo.sma(5469) : error 029: invalid expression, assumed zero // E:\Steam\steamapps\mokrot\counter-strike\cstrike_polish\addons\amxmodx\djaplo kompiler\djaplo.sma(5469) : warning 215: expression has no effect // E:\Steam\steamapps\mokrot\counter-strike\cstrike_polish\addons\amxmodx\djaplo kompiler\djaplo.sma(5469) : error 001: expected token: ";", but found "if" // E:\Steam\steamapps\mokrot\counter-strike\cstrike_polish\addons\amxmodx\djaplo kompiler\djaplo.sma(5469) : fatal error 107: too many error messages on one lin e
Prosiłbym o pomoc
Pozdrawiam
Użytkownik Mokrot edytował ten post 25.01.2011 17:19


Dodatki SourceMod



Temat jest zamknięty









