Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

Szybkość oraz moc


  • Zamknięty Temat jest zamknięty
16 odpowiedzi w tym temacie

#1 Magnetix

    Wszechobecny

  • Użytkownik

Reputacja: 26
Życzliwy

  • Postów:410
  • GG:
  • Lokalizacja:Piotrków Tryb
Offline

Napisano 20.10.2010 18:39

Witam jak zrobić aby klasa była szybsza od pozostały o X. Interesuje mnie żeby to nie była moc na nożu tylko od razu wybieramy klasę i biegamy szybciej.
Drugą sprawą jest moc na nożu dzięki której będzie ładować HP i armor. Interesuje mnie to połączenie w jednej mocy czyli wybieram klase XYZ i gdy naładuje mi się pasek na nożu dostaje X armoru i X HP.
Interesuje mnie też jak dodać aby klasa YZX miała na start (od razu po wyborze) i do zmiany tej klasy na inną, moc (nie na nożu) dzięki której ma 1/2 z noża.

Użytkownik Magnetix edytował ten post 20.10.2010 18:50

  • +
  • -
  • 0

#2 sebul

    Godlike

  • Przyjaciel

Reputacja: 2 035
Godlike

  • Postów:5 411
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:Ostrołęka
Offline

Napisano 20.10.2010 19:47

Co do szybkości, to szukasz
new speeds

i tam masz zmienne odpowiedzialne za prędkość klasy, w standardzie to chyba wygląda tak
if(player_class[id] == Ninja) speeds= 40 + floatround(player_dextery[id]*1.3)
else if(player_class[id] == Zabojca) speeds= 10 + floatround(player_dextery[id]*1.3)

No i dopisujesz swoją klasę, 40 i 10 to dodatkowa prędkość klasy.

Do hp i armoru, korzystasz z tego
change_health(id, 15, 0, "") // doda 15 hp
set_user_armor(id, 150) // doda 150 pancerzu

co do samego pancerza można dodać jeszcze
fm_give_item(id, "item_kevlar")

wtedy będzie nawet dźwięk dla tej kamizelki ;]
Oczywiście wszystko dodajesz do mocu na nożu, możesz dodać też jakąś wiadomość hud, że dostało się hp i armor

Do noża, funkcja powinna wyglądać tak
public add_bonus_knifemasterdamage(attacker_id,id,weapon) {
if(player_b_knifemaster[attacker_id] > 0 && get_user_team(attacker_id) != get_user_team(id) && weapon == CSW_KNIFE) {
if(!is_user_alive(id))
return PLUGIN_HANDLED

if(random_num(1, player_b_knifemaster[attacker_id]) == 1 || (player_class[id] == Twoja_Klasa && random_num(1,2) == 1))
UTIL_Kill(attacker_id,id,"knife")
}

return PLUGIN_HANDLED
}

lub też tak
public add_bonus_knifemasterdamage(attacker_id,id,weapon) {
if((player_b_knifemaster[attacker_id] > 0 && get_user_team(attacker_id) != get_user_team(id) && weapon == CSW_KNIFE) || (player_b_knifemaster[attacker_id] > 0 && get_user_team(attacker_id) != get_user_team(id) && player_class[attacker_id]==Ninja)) {
if(!is_user_alive(id))
return PLUGIN_HANDLED

if(random_num(1, player_b_knifemaster[attacker_id]) == 1 || (player_class[id] == Twoja_Klasa && random_num(1,2) == 1))
UTIL_Kill(attacker_id,id,"knife")
}

return PLUGIN_HANDLED
}

teraz ninja będzie mógł mieć tą moc.

Użytkownik sebul edytował ten post 20.10.2010 19:50

  • +
  • -
  • 1

Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo


#3 Magnetix

    Wszechobecny

  • Autor tematu
  • Użytkownik

Reputacja: 26
Życzliwy

  • Postów:410
  • GG:
  • Lokalizacja:Piotrków Tryb
Offline

Napisano 21.10.2010 14:16

A jak zrobić by klasa miała leczenie armoru i hp co 5-10 sec nawet jak trzyma m4 i idzie?
  • +
  • -
  • 0

#4 sebul

    Godlike

  • Przyjaciel

Reputacja: 2 035
Godlike

  • Postów:5 411
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:Ostrołęka
Offline

Napisano 21.10.2010 14:40

leczenie armoru

Tego raczej nie da się zrobić (jeśli chodzi Ci o takie same leczenie jak z hp).

co 5-10 sec

Szukasz
else if(player_class[id] == Paladyn) time_delay*=1.4
else if(player_class[id] == Nekromanta) time_delay*=1.2

I dodajesz swoją klasę, 5-10 sek. to będzie pewnie gdzieś ok. "time_delay*=2.2".

nawet jak trzyma m4 i idzie

Znajdź
if(get_entity_flags(id) & FL_ONGROUND && (!(button2 & (IN_FORWARD+IN_BACK+IN_MOVELEFT+IN_MOVERIGHT)) || (player_class[id] == Mag && player_b_fireball[id]==0)) && is_user_alive(id) && !bow[id] && (on_knife[id] || (player_class[id] == Mag && player_b_fireball[id])) && player_class[id]!=NONE && invisible_cast[id]==0)

zamień na
if(get_entity_flags(id) & FL_ONGROUND && (!(button2 & (IN_FORWARD+IN_BACK+IN_MOVELEFT+IN_MOVERIGHT)) || ((player_class[id] == Mag && player_b_fireball[id]==0) || player_class[id] == Twoja_Klasa/* Ta klasa będzie mogła biegać i czarować */)) && is_user_alive(id) && !bow[id] && (on_knife[id] || (player_class[id] == Mag && player_b_fireball[id]) || player_class[id] == Twoja_Klasa/* Będzie czarować na obojętnie jakiej broni */) && player_class[id]!=NONE && invisible_cast[id]==0)

Powinno działać, ale nie wiem, nie sprawdzane.
  • +
  • -
  • 0

Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo


#5 Magnetix

    Wszechobecny

  • Autor tematu
  • Użytkownik

Reputacja: 26
Życzliwy

  • Postów:410
  • GG:
  • Lokalizacja:Piotrków Tryb
Offline

Napisano 21.10.2010 15:05

Nie jestem pewien ale jak się mają czary do leczenia?

((player_class[id] == Mag && player_b_fireball[id]==0) || player_class[id] == Twoja_Klasa/* Ta klasa będzie mogła biegać i czarować */)) player_class[id] == Twoja_Klasa/* Będzie czarować na obojętnie jakiej broni */) && player_class[id]!=NONE && invisible_cast[id]==0)

Użytkownik Magnetix edytował ten post 21.10.2010 15:08

  • +
  • -
  • 0

#6 sebul

    Godlike

  • Przyjaciel

Reputacja: 2 035
Godlike

  • Postów:5 411
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:Ostrołęka
Offline

Napisano 21.10.2010 15:09

No zrobiłem moc na nożu, że typ będzie biegał obojętnie z jaką bronią i będzie mu dodawało hp (oczywiście zależy jaką moc tam mu dasz) co określony czas, czyli jednak się trochę "mają", a co do leczenie od tak, to trzeba trochę bardziej nad tym pomyśleć, ale pewnie wystarczy użyć do tego mocy co daje co ileś tam sek. określoną ilość hp.

Dodano 21 październik 2010 - 16:28:
Znajdź
new player_dmg[33]

dodaj pod
new b_heal[33]

znajdź
public Timed_Healing()
{
new Players[32], playerCount, a
get_players(Players, playerCount, "ah")

for(new i=0; i<playerCount; i++)
{
a = Players[i]
if(player_b_heal[a] <= 0)
continue

change_health(a,player_b_heal[a],0,"")
}
}

dodaj pod
public Healing_klasy()
{
new Players[32], playerCount, a
get_players(Players, playerCount, "ah")

for(new i=0; i<playerCount; i++)
{
a = Players[i]
if(b_heal[a] <= 0)
continue

change_health(a, b_heal[a], 0, "")
}
}

znajdź funkcję
public RoundStart()

dodaj w niej
if(player_class[i] == Twoja_Klasa)
b_heal[i] = 10 // ustaw ile chcesz
else
b_heal[i] = 0

w menu wyboru klas znajdź
g_haskit[id] = 0

dodaj pod
b_heal[id] = 0

przy wyborze klasy dodaj
b_heal[id] = 10 // dowolna wartość

znajdź
set_task(5.0, "Timed_Healing", 0, "", 0, "b")

dodaj pod
set_task(7.0, "Healing_klasy", 0, "", 0, "b")

Powinno działać.

Użytkownik sebul edytował ten post 21.10.2010 15:29

  • +
  • -
  • 0

Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo


#7 Magnetix

    Wszechobecny

  • Autor tematu
  • Użytkownik

Reputacja: 26
Życzliwy

  • Postów:410
  • GG:
  • Lokalizacja:Piotrków Tryb
Offline

Napisano 21.10.2010 18:48

Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright © 1997-2006 ITB CompuPhase, AMX Mod X Team

dhffdfd.sma(269) : error 020: invalid symbol name ""
dhffdfd.sma(1210) : warning 217: loose indentation
dhffdfd.sma(1210) : error 017: undefined symbol "i"
dhffdfd.sma(1211) : error 017: undefined symbol "i"
dhffdfd.sma(1211) : warning 217: loose indentation
dhffdfd.sma(1211 -- 1212) : warning 215: expression has no effect
dhffdfd.sma(1212) : error 029: invalid expression, assumed zero
dhffdfd.sma(1213) : error 017: undefined symbol "i"
dhffdfd.sma(1213 -- 1214) : warning 215: expression has no effect
dhffdfd.sma(1269) : warning 217: loose indentation
dhffdfd.sma(1337) : error 054: unmatched closing brace
dhffdfd.sma(1548) : warning 217: loose indentation
dhffdfd.sma(1549) : warning 217: loose indentation
dhffdfd.sma(8464) : warning 217: loose indentation
dhffdfd.sma(8465) : warning 217: loose indentation
dhffdfd.sma(8470) : warning 217: loose indentation
dhffdfd.sma(8475) : warning 217: loose indentation
dhffdfd.sma(8657) : warning 203: symbol is never used: ""

6 Errors.
Could not locate output file dhffdfd.amxx (compile failed).

Błędy loose indentation pomijam ale np expression has no effect błąd wyskakuje w linijce:
        else
b_heal[i] = 0
.
Jeszcze przed tym są błędy: undefined symbol "i":
		if(player_class[i] == Wendigo)
b_heal[i] = 20 // ustaw ile chcesz
b_heal[i] = 0
to są linijki w których jest błąd
Obraz błąd w linijce 1337:
public CurWeapon(id)
{
after_bullet[id]=1

new clip,ammo
new weapon=get_user_weapon(id,clip,ammo)
invisible_cast[id]=0

if(weapon == CSW_KNIFE) on_knife[id]=1
else on_knife[id]=0

if ((weapon != CSW_C4 ) && !on_knife[id] && (player_class[id] == Ninja))
{
client_cmd(id,"weapon_knife")
engclient_cmd(id,"weapon_knife")
on_knife[id]=1
}


//if (player_item_id[id] == 17 || player_b_usingwind[id] == 1)// engclient_cmd(id,"weapon_knife")

if(player_sword[id] == 1)
{

if(on_knife[id]){
entity_set_string(id, EV_SZ_viewmodel, SWORD_VIEW)
entity_set_string(id, EV_SZ_weaponmodel, SWORD_PLAYER)
}
if(weapon == CSW_C4){
entity_set_string(id, EV_SZ_viewmodel, C4_VIEW)
entity_set_string(id, EV_SZ_weaponmodel, C4_PLAYER)
}
if(weapon == CSW_HEGRENADE){
entity_set_string(id, EV_SZ_viewmodel, HE_VIEW)
entity_set_string(id, EV_SZ_weaponmodel, HE_PLAYER)
}
if(weapon == CSW_FLASHBANG){
entity_set_string(id, EV_SZ_viewmodel, FL_VIEW)
entity_set_string(id, EV_SZ_weaponmodel, FL_PLAYER)
}
if(weapon == CSW_SMOKEGRENADE){
entity_set_string(id, EV_SZ_viewmodel, SE_VIEW)
entity_set_string(id, EV_SZ_weaponmodel, SE_PLAYER)
}

}
if(player_sword[id] == 0)
{
if(on_knife[id]){
entity_set_string(id, EV_SZ_viewmodel, KNIFE_VIEW)
entity_set_string(id, EV_SZ_weaponmodel, KNIFE_PLAYER)
}
if(weapon == CSW_C4){
entity_set_string(id, EV_SZ_viewmodel, C4_VIEW)
entity_set_string(id, EV_SZ_weaponmodel, C4_PLAYER)
}
if(weapon == CSW_HEGRENADE){
entity_set_string(id, EV_SZ_viewmodel, HE_VIEW)
entity_set_string(id, EV_SZ_weaponmodel, HE_PLAYER)
}
if(weapon == CSW_FLASHBANG){
entity_set_string(id, EV_SZ_viewmodel, FL_VIEW)
entity_set_string(id, EV_SZ_weaponmodel, FL_PLAYER)
}
if(weapon == CSW_SMOKEGRENADE){
entity_set_string(id, EV_SZ_viewmodel, SE_VIEW)
entity_set_string(id, EV_SZ_weaponmodel, SE_PLAYER)
}
}

if(bow[id]==1)
{
bow[id]=0
if(on_knife[id])
{
entity_set_string(id, EV_SZ_viewmodel, KNIFE_VIEW)
entity_set_string(id, EV_SZ_weaponmodel, KNIFE_PLAYER)
}
}

set_gravitychange(id)
set_speedchange(id)
set_renderchange(id)

if(player_class[id] == Nekromanta) g_haskit[id] = true
else g_haskit[id] = false

write_hud(id)
}
}

Podałem całą funkcję bo błąd odwołuje się do ostatniej zamykającej klamry.
  • +
  • -
  • 0

#8 sebul

    Godlike

  • Przyjaciel

Reputacja: 2 035
Godlike

  • Postów:5 411
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:Ostrołęka
Offline

Napisano 21.10.2010 19:05

Pokaż całą funkcję
public RoundStart()

  • +
  • -
  • 0

Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo


#9 Magnetix

    Wszechobecny

  • Autor tematu
  • Użytkownik

Reputacja: 26
Życzliwy

  • Postów:410
  • GG:
  • Lokalizacja:Piotrków Tryb
Offline

Napisano 21.10.2010 19:11

public RoundStart(){

for (new i=0; i < 33; i++){
used_item[i] = false
DemageTake1[i]=1
count_jumps(i)
give_knife(i)
JumpsLeft[i]=JumpsMax[i]

if(player_class[i] == Nekromanta) g_haskit[i]=1
else g_haskit[i]=0

golden_bulet[i]=0

invisible_cast[i]=0

ultra_armor[i]=0
num_shild[i]=2+floatround(player_intelligence[i]/25.0,floatround_floor)

set_renderchange(i)
if(is_user_connected(i)&&player_item_id[i]==66)
{
changeskin(i,0)
}
}

kill_all_entity("throwing_knife")

Bot_Setup()
ghost_check = false
check_class()
use_addtofullpack = false
if(player_class[i] == Wendigo)
b_heal[i] = 20 // ustaw ile chcesz
else
b_heal[i] = 0
}

#if defined CHEAT
public giveitem(id)
{
award_item(id, 25)
return PLUGIN_HANDLED
}

  • +
  • -
  • 0

#10 sebul

    Godlike

  • Przyjaciel

Reputacja: 2 035
Godlike

  • Postów:5 411
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:Ostrołęka
Offline

Napisano 21.10.2010 19:14

Tak jak myślałem...
public RoundStart(){

for (new i=0; i < 33; i++){
used_item[i] = false
DemageTake1[i]=1
count_jumps(i)
give_knife(i)
JumpsLeft[i]=JumpsMax[i]

if(player_class[i] == Nekromanta) g_haskit[i]=1
else g_haskit[i]=0

if(player_class[i] == Wendigo) b_heal[i] = 20 // ustaw ile chcesz
else b_heal[i] = 0

golden_bulet[i]=0

invisible_cast[i]=0

ultra_armor[i]=0
num_shild[i]=2+floatround(player_intelligence[i]/25.0,floatround_floor)

set_renderchange(i)
if(is_user_connected(i)&&player_item_id[i]==66)
{
changeskin(i,0)
}
}

kill_all_entity("throwing_knife")

Bot_Setup()
ghost_check = false
check_class()
use_addtofullpack = false
}

Zobacz teraz.
  • +
  • -
  • 0

Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo


#11 Magnetix

    Wszechobecny

  • Autor tematu
  • Użytkownik

Reputacja: 26
Życzliwy

  • Postów:410
  • GG:
  • Lokalizacja:Piotrków Tryb
Offline

Napisano 21.10.2010 19:22

Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright © 1997-2006 ITB CompuPhase, AMX Mod X Team

afasfsa.sma(269) : error 020: invalid symbol name ""
afasfsa.sma(1230) : error 026: no matching "#if..."
afasfsa.sma(1261) : warning 217: loose indentation
afasfsa.sma(1329) : error 054: unmatched closing brace
afasfsa.sma(1540) : warning 217: loose indentation
afasfsa.sma(1541) : warning 217: loose indentation
afasfsa.sma(8456) : warning 217: loose indentation
afasfsa.sma(8457) : warning 217: loose indentation
afasfsa.sma(8462) : warning 217: loose indentation
afasfsa.sma(8467) : warning 217: loose indentation
afasfsa.sma(8649) : warning 203: symbol is never used: ""

3 Errors.
Could not locate output file afasfsa.amxx (compile failed).


Błąd w linijce 1230 (linijka 1230 to #endif)
public RoundStart(){

for (new i=0; i < 33; i++){
used_item[i] = false
DemageTake1[i]=1
count_jumps(i)
give_knife(i)
JumpsLeft[i]=JumpsMax[i]

if(player_class[i] == Nekromanta) g_haskit[i]=1
else g_haskit[i]=0

if(player_class[i] == Wendigo) b_heal[i] = 20 // ustaw ile chcesz
else b_heal[i] = 0

golden_bulet[i]=0

invisible_cast[i]=0

ultra_armor[i]=0
num_shild[i]=2+floatround(player_intelligence[i]/25.0,floatround_floor)

set_renderchange(i)
if(is_user_connected(i)&&player_item_id[i]==66)
{
changeskin(i,0)
}
}

kill_all_entity("throwing_knife")

Bot_Setup()
ghost_check = false
check_class()
use_addtofullpack = false
}

public benchmark(id)
{
new Float:nowtime = halflife_time();
new iterations = 10

for (new i=0; i < iterations; i++)
{
UpdateHUD()
}

new Float:timespent = halflife_time()-nowtime

client_print(id,print_chat,"Benchmark on: UpdateHUD() with %i iterations done in %f seconds",iterations,timespent)
}

#endif

Błąd error 054: unmatched closing brace znowu odwołuje się do klamry (ostatniej zamykającej) w public CurWeapon(id)
  • +
  • -
  • 0

#12 sebul

    Godlike

  • Przyjaciel

Reputacja: 2 035
Godlike

  • Postów:5 411
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:Ostrołęka
Offline

Napisano 21.10.2010 19:24

To już na pewno nie wina prawidłowej edycji kodu, musiałeś coś źle wkleić czy skopiować. Cofnij zmiany i spróbuj jeszcze raz.
  • +
  • -
  • 1

Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo


#13 Magnetix

    Wszechobecny

  • Autor tematu
  • Użytkownik

Reputacja: 26
Życzliwy

  • Postów:410
  • GG:
  • Lokalizacja:Piotrków Tryb
Offline

Napisano 21.10.2010 19:27

Ale jak ja mogłem źle coś zrobić jak ja
public benchmark(id)
nawet nie ruszałem? Co do
public CurWeapon(id) 
zgodzę się może coś ruszyłem.
  • +
  • -
  • 0

#14 sebul

    Godlike

  • Przyjaciel

Reputacja: 2 035
Godlike

  • Postów:5 411
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:Ostrołęka
Offline

Napisano 21.10.2010 19:36

A przypadkiem nie usunąłeś tego
#if defined CHEAT
public giveitem(id)
{
award_item(id, 25)
return PLUGIN_HANDLED
}

??
  • +
  • -
  • 1

Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo


#15 Magnetix

    Wszechobecny

  • Autor tematu
  • Użytkownik

Reputacja: 26
Życzliwy

  • Postów:410
  • GG:
  • Lokalizacja:Piotrków Tryb
Offline

Napisano 21.10.2010 19:47

A przypadkiem nie usunąłeś tego

#if defined CHEAT
public giveitem(id)
{
award_item(id, 25)
return PLUGIN_HANDLED
}

??

Zgadza się.
  • +
  • -
  • 0

#16 sebul

    Godlike

  • Przyjaciel

Reputacja: 2 035
Godlike

  • Postów:5 411
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:Ostrołęka
Offline

Napisano 21.10.2010 22:05

Czyli już wszystko śmiga? Bo nie napisałeś...
  • +
  • -
  • 0

Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo


#17 Magnetix

    Wszechobecny

  • Autor tematu
  • Użytkownik

Reputacja: 26
Życzliwy

  • Postów:410
  • GG:
  • Lokalizacja:Piotrków Tryb
Offline

Napisano 22.10.2010 06:59

Nie testowałem bo jeszcze nie skończyłem przerabiać diablo ale od razu jak to będzie możliwe napiszę czy to działa.
  • +
  • -
  • 0




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych