←  Poradniki oraz Łatki

AMXX.pl: Support AMX Mod X i SourceMod

»

Dodatek
Moc trzęsienie ekranu

Jagoda - zdjęcie Jagoda 17.02.2011

Dzisiaj pokaże jak zrobić moc która trzęsie ekranem przeciwnika
no to jazda


znajdz

new player_b_illusionist[33] = 1

dodaj pod

new player_b_shake[33] = 1

znajdz

new player_dmg[33]

dodaj pod

new c_shake[33]

znajdz

add_bonus_redirect(id)

dodaj pod

add_bonus_shake(attacker_id,id)

znajdz

player_b_sniper[id] = 0

dodaj pod

player_b_shake[id] = 0

znajdz

if (player_b_explode[id] > 0)
{
num_to_str(player_b_explode[id],TempSkill,10)
add(itemEffect,199,"Gdy umierasz wybuchniesz w promieniu ")
add(itemEffect,199,TempSkill)
add(itemEffect,199," zadaje 75 obrazen wokol ciebie - im wiecej masz inteligencji tym wiekszy zasieg wybuchu<br>")
}

dodaj pod

if (player_b_shake[id] > 0)
{
num_to_str(player_b_shake[id],TempSkill,10)
add(itemEffect,199,"Masz 1/")
add(itemEffect,199,TempSkill)
add(itemEffect,199,"Ze przciwnikowi zacznie sie trzesc ekran<br>")
}

znajdz

case 68:
{
player_item_name[id] = "Ultra Armor"
player_item_id[id] = 68
player_ultra_armor[id]=random_num(7,11)
player_ultra_armor_left[id]=player_ultra_armor[id]
show_hudmessage (id, "Znalazles przedmiot : %s :: Twoj pancerz moze odbic do %i pociskow",player_item_name[id],player_ultra_armor[id])
}

dodaj pod

case 69:
{
player_item_name[id] = "Trzesienie"
player_item_id[id] = rannum
player_b_shake[id] = random_num(2,4)

show_hudmessage(id, "Znalazles przedmiot: %s :: Masz 1/%i ze przeciwnikowi zacznie sie trzesc ekran",player_item_name[id],player_b_shake[id])

}

znajdz

new rannum = random_num(1,68)

zamien na

new rannum = random_num(1,69)

znajdz

public add_bonus_darksteel(attacker,id,damage)
{
if (player_b_darksteel[attacker] > 0)
{
if (UTIL_In_FOV(attacker,id) && !UTIL_In_FOV(id,attacker))
{

new dam = floatround (15+player_strength[id]*2*player_b_darksteel[id]/10.0)

Effect_Bleed(id,248)
change_health(id,-dam,attacker,"world")
}
}
}

pod dodaj

public add_bonus_shake(attacker_id,id)
{
if((player_b_shake[attacker_id] > 0)||c_shake[attacker_id] > 0) && get_user_team(attacker_id) != get_user_team(id) && is_user_alive(id))
{
if (random_num(1,player_b_shake[attacker_id]) == 1)
{
message_begin(MSG_ONE,get_user_msgid("ScreenShake"),{0,0,0},id);
write_short(7<<14);
write_short(1<<13);
write_short(1<<14);
message_end();
}
else if (random_num(1,c_shake[attacker_id]) == 1)
{
message_begin(MSG_ONE,get_user_msgid("ScreenShake"),{0,0,0},id);
write_short(7<<14);
write_short(1<<13);
write_short(1<<14);
message_end();
}
}
return PLUGIN_HANDLED
}

w public select_class_menu(id, key) po g_haskit[id] = 0 dodaj

c_shake[id] = 0

a w klasie naprzyklad

case 5:
{
player_class[id] = Barbarzynca
LoadXP(id, player_class[id])
}

dodaj

case 5:
{
player_class[id] = Barbarzynca
c_shake[id] = 3 ///to wtedy bedzie 1/3 szans
}

Dziekuje za uwagę !!
Użytkownik Jagoda edytował ten post 18.02.2011 09:04
Odpowiedz

FreZZy - zdjęcie FreZZy 17.02.2011

żeby do takich rzeczy tutki robić.. omg

ale dla noobów się przyda.

I zrób ja ci radze oddzielnie do itema i do skilla klasy
Odpowiedz

  • +
  • -
Death_Player - zdjęcie Death_Player 17.02.2011

@FreZZy napisał/a:
"ale dla noobów się przyda."

Noobem możesz być najwyżej ty... Jak ktoś nie umie pisać plugów(albo np robić mocy do dm) w PAWN'ie jest noobem ?
Poradnik jak najbardziej okey. łap +
Odpowiedz

GoldeN - zdjęcie GoldeN 17.02.2011

Taaaaa... A wywołanie w Damage(id), oraz reset itemu w reset_item_skills(id)? :mur:

Z:

if(player_b_shake[attacker_id] > 0||c_shake[attacker_id] > 0 && get_user_team(attacker_id) != get_user_team(id) && is_user_alive(id)) 


na

if((player_b_shake[attacker_id] > 0)||c_shake[attacker_id] > 0) && get_user_team(attacker_id) != get_user_team(id) && is_user_alive(id))

Użytkownik GoldeN edytował ten post 17.02.2011 20:16
Odpowiedz

Szpak'u - zdjęcie Szpak'u 28.02.2011

No tutek ładny tylko nie wiem po co takie coś robić to jest banalne. Lecz ci co dopiero zaczynają to im się przyda +
Odpowiedz

  • +
  • -
Kapucha112 - zdjęcie Kapucha112 28.02.2011

No tutek ładny tylko nie wiem po co takie coś robić to jest banalne. Lecz ci co dopiero zaczynają to im się przyda +


Dla niektórych nie jest to banalne, nie wiem co ten post wnosi do tego tematu, tak samo powyżej post FreZZego. Takie zachowanie jest żałosne, po to się pisze tutoriale żeby pomóc osobom które nie ogarniają tematu :mur: .
Wy natomiast szukacie okazji do pospamowania. Co do mocy wszystko testowałem i działa, moc jest całkiem ogarnięta.
Użytkownik Kapucha112 edytował ten post 28.02.2011 21:51
Odpowiedz

cesik - zdjęcie cesik 01.03.2011

A jak zrobic zeby ta moc byla aktywowana tylko na nozu nie na innych broniach zeby moc trzesienia dzialal tylko jesli uderzy sie z noza 1/3
Odpowiedz

Jagoda - zdjęcie Jagoda 02.03.2011

if (player_b_m4master[attacker_id] > 0 && get_user_team(attacker_id) != get_user_team(id) && weapon == CSW_M4A1)
Zamien to:

if((player_b_shake[attacker_id] > 0)||c_shake[attacker_id] > 0) && get_user_team(attacker_id) != get_user_team(id) && is_user_alive(id))

na

if((player_b_shake[attacker_id] > 0)||c_shake[attacker_id] > 0) && get_user_team(attacker_id) != get_user_team(id) && is_user_alive(id)weapon == CSW_KNIFE)

i to

if (player_b_shake[id] > 0)
{
num_to_str(player_b_shake[id],TempSkill,10)
add(itemEffect,199,"Masz 1/")
add(itemEffect,199,TempSkill)
add(itemEffect,199,"Ze przciwnikowi zacznie sie trzesc ekran<br>")
}

na

if (player_b_shake[id] > 0)
{
num_to_str(player_b_shake[id],TempSkill,10)
add(itemEffect,199,"Masz 1/")
add(itemEffect,199,TempSkill)
add(itemEffect,199,"Ze przciwnikowi zacznie sie trzesc ekran jesli uderzysz go z noza<br>")
}

Użytkownik Jagoda edytował ten post 02.03.2011 08:26
Odpowiedz

cesik - zdjęcie cesik 03.03.2011

dziekuje +
Odpowiedz

  • +
  • -
NiFreZ - zdjęcie NiFreZ 12.03.2011

public add_bonus_shake(attacker_id,id)
{
if((player_b_shake[attacker_id] > 0)||bc_shake[attacker_id] > 0) && get_user_team(attacker_id) != get_user_team(id) && is_user_alive(id))
{
if (random_num(1,player_b_shake[attacker_id]) == 1)
{
                        message_begin(MSG_ONE,get_user_msgid("ScreenShake"),{0,0,0},id); 
                        write_short(7<<14); 
                        write_short(1<<13); 
                        write_short(1<<14); 
                        message_end();
                }
                else if (random_num(1,bc_shake[attacker_id]) == 1)
                {
                        message_begin(MSG_ONE,get_user_msgid("ScreenShake"),{0,0,0},id); 
                        write_short(7<<14); 
                        write_short(1<<13); 
                        write_short(1<<14); 
                        message_end();
                }
        }
        return PLUGIN_HANDLED
}
Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright © 1997-2006 ITB CompuPhase, AMX Mod X Team

Error: Invalid expression, assumed zero on line 10515
Error: Expected token: ";", but found ")" on line 10515
Error: Invalid expression, assumed zero on line 10515
Error: Too many error messages on one line on line 10515

Compilation aborted.
4 Errors.
hmm?
Odpowiedz

FreZZy - zdjęcie FreZZy 12.03.2011

public add_bonus_shake(attacker_id,id)
{
if((player_b_shake[attacker_id] > 0)||(bc_shake[attacker_id] > 0) && get_user_team(attacker_id) != get_user_team(id) && is_user_alive(id))
{
if (random_num(1,player_b_shake[attacker_id]) == 1)
{
message_begin(MSG_ONE,get_user_msgid("ScreenShake"),{0,0,0},id);
write_short(7<<14);
write_short(1<<13);
write_short(1<<14);
message_end();
}
else if ((random_num(1,bc_shake[attacker_id)) == 1)
{
message_begin(MSG_ONE,get_user_msgid("ScreenShake"),{0,0,0},id);
write_short(7<<14);
write_short(1<<13);
write_short(1<<14);
message_end();
}
}
return PLUGIN_HANDLED
}


:F
Użytkownik FreZZy edytował ten post 12.03.2011 13:43
Odpowiedz

  • +
  • -
NiFreZ - zdjęcie NiFreZ 12.03.2011

co bylo zle pawex ?

i ma byc tak
public add_bonus_shake(attacker_id,id)
{
        if((player_b_shake[attacker_id] > 0)||(bc_shake[attacker_id] > 0) && get_user_team(attacker_id) != get_user_team(id) && is_user_alive(id))
        {
                if (random_num(1,player_b_shake[attacker_id]) == 1)
                {
                        message_begin(MSG_ONE,get_user_msgid("ScreenShake"),{0,0,0},id); 
                        write_short(7<<14); 
                        write_short(1<<13); 
                        write_short(1<<14); 
                        message_end();
                }
                else if (random_num(1,bc_shake[attacker_id]) == 1)
                {
                        message_begin(MSG_ONE,get_user_msgid("ScreenShake"),{0,0,0},id); 
                        write_short(7<<14); 
                        write_short(1<<13); 
                        write_short(1<<14); 
                        message_end();
                }
        }
        return PLUGIN_HANDLED
}

poprawilem
Użytkownik NiFreZ edytował ten post 12.03.2011 14:32
Odpowiedz

FreZZy - zdjęcie FreZZy 12.03.2011

public add_bonus_shake(attacker_id,id)
{
if((player_b_shake[attacker_id] > 0)||(bc_shake[attacker_id] > 0) && get_user_team(attacker_id) != get_user_team(id) && is_user_alive(id))
{
if (random_num(1,player_b_shake[attacker_id]) == 1)
{
message_begin(MSG_ONE,get_user_msgid("ScreenShake"),{0,0,0},id);
write_short(7<<14);
write_short(1<<13);
write_short(1<<14);
message_end();
}
else if (random_num(1,bc_shake[attacker_id]) == 1)
{
message_begin(MSG_ONE,get_user_msgid("ScreenShake"),{0,0,0},id);
write_short(7<<14);
write_short(1<<13);
write_short(1<<14);
message_end();
}
}
return PLUGIN_HANDLED
}


ten działa?
Użytkownik FreZZy edytował ten post 12.03.2011 15:42
Odpowiedz

  • +
  • -
NiFreZ - zdjęcie NiFreZ 12.03.2011

ten co mi dales to lekko poprawilem i dziala teraz
Odpowiedz

  • +
  • -
` S!zE ^. - zdjęcie ` S!zE ^. 07.04.2011

Nifrez mozesz dac kod ten poprawiony ja nie wiem w czym go poprawic xDD
Gdy ja kompluje to wyskauja takie bledy przy ten linijce :

Bledy :
dbmod_5.9l.sma(3950) : error 017: undefined symbol "bc_shake"
dbmod_5.9l.sma(3950) : error 029: invalid expression, assumed zero
dbmod_5.9l.sma(3950) : error 029: invalid expression, assumed zero
dbmod_5.9l.sma(3950) : fatal error 107: too many error messages on one line

Linijka :
if((player_b_shake[attacker_id] > 0)||(bc_shake[attacker_id] > 0) && get_user_team(attacker_id) != get_user_team(id) && is_user_alive(id))
Użytkownik ` S!zE ^. edytował ten post 07.04.2011 07:17
Odpowiedz

  • +
  • -
ogieR8 - zdjęcie ogieR8 07.04.2011

Bo ta linijka mówi, że jak masz item z mocą "player_b_shake" to item zadziała oraz jak masz item z mocą "bc_shake" to też zadziała. Oczywiście zadziała na graczu z przeciwnej drużyny i pod warunkiem, że żyjesz tak apropo ;)

Jak nie robiłeś mocy do klasy (Bc_shake) to usuń ją.

Jak nie masz to podam Ci poprawnie tą linijkę:

if((player_b_shake[attacker_id] > 0) && get_user_team(attacker_id) != get_user_team(id) && is_user_alive(id))


Pozdrawiam
~ ogieR-
Odpowiedz

  • +
  • -
MenTo(S) - zdjęcie MenTo(S) 21.07.2011

public add_bonus_shake(attacker_id,id)
{
if((player_b_shake[attacker_id] > 0) && get_user_team(attacker_id) != get_user_team(id) && is_user_alive(id))
{
if (random_num(1,player_b_shake[attacker_id]) == 1)
{
message_begin(MSG_ONE,get_user_msgid("ScreenShake"),{0,0,0},id);
write_short(7<<14);
write_short(1<<13);
write_short(1<<14);
message_end();
}
else if ((random_num(1,c_shake[attacker_id])) == 1)
{
message_begin(MSG_ONE,get_user_msgid("ScreenShake"),{0,0,0},id);
write_short(7<<14);
write_short(1<<13);
write_short(1<<14);
message_end();
}
}
return PLUGIN_HANDLED
}


Nie wiem czy to jest poprawne ale się kompiluje.
Odpowiedz

  • +
  • -
Divic - zdjęcie Divic 27.12.2011

co moze byc przyczyna ze na c_shake czyli mocy dla klasy zawsze mam 1/1 nie wazne ile ustawie klasie?
Odpowiedz