←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

Sklep jak dodac cos

Locked

Zaszka's Photo Zaszka 29.11.2010

Witam chcialem sie spytac czy da sie dodac np moc wybuchu z player_b_explode do sklepu tylko by to bylo od razu i zadawalo dmg ktore = random_num(300,1000) + player_agility[id]


potrzebuje to do sklepu z mana by to bylo jako czar ;d proszę o pomoc szukalem juz tego ale nie znalazlem wiec pisze tutaj

Z gory dziekuje i pytania zadawac na priv by nie spamowac w temacie




I pisac w ogóle czy sie da ;d
Edited by Zaszka, 30.11.2010 16:19.
Quote

  • +
  • -
KariiO's Photo KariiO 30.11.2010

Witam chcialem sie spytac czy da sie dodac np moc wybuchu z player_b_explode do sklepu tylko by to bylo od razu i zadawalo dmg ktore = random_num(300,1000) + player_agility[id]


potrzebuje to do sklepu z mana by to było jako czar ;d proszę o pomoc szukalem juz tego ale nie znalazłem wiec pisze tutaj

Z gory dziekuje i pytania zadawac na priv by nie spamowac w temacie




I pisac w ogóle czy sie da ;d

Jasne że się da :P Ta standardowa moc działa PRAWIE tak samo tylko wybucha dopiero po śmierci ja bym zrobił tak że pierw przerobił bym ten kod na swój:
public add_bonus_explode(id)
{
if (player_b_explode[id] > 0)
{

new origin[3]
get_user_origin(id,origin)
explode(origin,id,0)


for(new a = 0; a < MAX; a++)
{
if (!is_user_connected(a) || !is_user_alive(a) || player_b_fireshield[a] != 0 || get_user_team(a) == get_user_team(id))
continue

new origin1[3]
get_user_origin(a,origin1)

if(get_distance(origin,origin1) < player_b_explode[id] + player_intelligence[id]*2)
{
new dam = 75-(player_dextery[a]*2)
if(dam<1) dam=1
change_health(a,-dam,id,"grenade")
Display_Fade(id,2600,2600,0,255,0,0,15)
}
}
}
}

public explode(vec1[3],playerid, trigger)
{
message_begin( MSG_BROADCAST,SVC_TEMPENTITY,vec1)
write_byte( 21 )
write_coord(vec1[0])
write_coord(vec1[1])
write_coord(vec1[2] + 32)
write_coord(vec1[0])
write_coord(vec1[1])
write_coord(vec1[2] + 1000)
write_short( sprite_white )
write_byte( 0 )
write_byte( 0 )
write_byte( 3 )
write_byte( 10 )
write_byte( 0 )
write_byte( 188 )
write_byte( 220 )
write_byte( 255 )
write_byte( 255 )
write_byte( 0 )
message_end()

message_begin( MSG_BROADCAST,SVC_TEMPENTITY)
write_byte( 12 )
write_coord(vec1[0])
write_coord(vec1[1])
write_coord(vec1[2])
write_byte( 188 )
write_byte( 10 )
message_end()

message_begin( MSG_BROADCAST,SVC_TEMPENTITY,vec1)
write_byte( 3 )
write_coord(vec1[0])
write_coord(vec1[1])
write_coord(vec1[2])
write_short( sprite_fire )
write_byte( 65 )
write_byte( 10 )
write_byte( 0 )
message_end()

message_begin(MSG_BROADCAST,SVC_TEMPENTITY,{0,0,0},playerid)
write_byte(107)
write_coord(vec1[0])
write_coord(vec1[1])
write_coord(vec1[2])
write_coord(175)
write_short (sprite_gibs)
write_short (25)
write_byte (10)
message_end()
if (trigger == 1)
{
set_user_rendering(playerid,kRenderFxNone, 0,0,0, kRenderTransAdd,0)
}
}
[/scroll]

Co do obrażeń to ja bym zmienił to:
new dam = 75-(player_dextery[a]*2)
Na to:
new dam = random_num(300,1000)+player_agility[id])
Nie wiem czy pójdzie :)
Co do natychmiastowego wybuchu to:
if (!is_user_connected(a) || !is_user_alive(a) || player_b_fireshield[a] != 0 ||  get_user_team(a) == get_user_team(id))
Na to:
if (!is_user_connected(a) || player_b_fireshield[a] != 0 ||  get_user_team(a) == get_user_team(id))
!is_user_alive(a) - odpowiada tu chyba że jak padnie to ma EXPLODOWAC ! ;X
Nie wiem sprawdź ^^
Edited by KariiO, 30.11.2010 20:46.
Quote

Zaszka's Photo Zaszka 30.11.2010

Ja zrobilem to calkiem inaczej zrobilem nowa moc wybych_wybuch[33] = 1 i jezeli gracz ma zmienna wybuch_wybuch powyzej 1 to uruchom add_explode_bonus czy jakos xD

zamienilem death msg by tego nie bylo i usunolem w add_bonus_explode ten if player_b_explode i gdy wybuchnie to wybuch_wybuch[id] = 0 i sie wylacza xD

temat do zamkniecia
Quote
Locked