←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

nowa klasa

Zablokowany

  • +
  • -
solven - zdjęcie solven 19.07.2010

Dobra, zacznijmy od teori. Chce dodać taką klase:
-Może latać tak jak ninja.
-Ma zmniejszona widoczność do 150
-Po naladowaniu ma pancerz (max 10)
-Odbijaja sie pociski (od czasu do czasu)
-po naladowaniu ma he



To normalnie dodaje klase, bylo opisane w poradniku:
[Tutorial] Dodawanie klas - Nieoficjalny polski support AMX Mod X

I teraz tak, tam gdzie mam ladowanie noża daje sobie te 10 pancerza i he, wydaje mi sie ze powinno wygladac to tak:
case Test_Klasa:
{
fm_give_item(id, "weapon_hegrenade")
ultra_armor[id]++
if(ultra_armor[id]>10)
{
ultra_armor[id]=10
show_hudmessage(id, "Maksymalna wartosc pancerza to 10",ultra_armor[id])
}
else show_hudmessage(id, "Pancerz wytrzyma %i strzalow",ultra_armor[id])
}


Zeby klasa latala jak ninja wydaje mi sie ze wystarczy:
public set_gravitychange(id)
{
if(is_user_alive(id) && is_user_connected(id))
{
if((player_class[id] == Ninja) && (player_class[id] == Test_Klasa))
{
if(player_b_gravity[id]>6) set_user_gravity(id, 0.17)
else if(player_b_gravity[id]>3) set_user_gravity(id, 0.2)
else set_user_gravity(id, 0.25)
}
else
{
set_user_gravity(id,1.0*(1.0-player_b_gravity[id]/12.0))
}
}
}


No, nie mam pojęcia jak zrobic 150 widzialnosci i odbijanie sie pociskow jak u palka :) W sumie, to moja pierwsza "klasa" ktora robie, wiec proszę o wyrozumialosc... Pewnie to i tak cale źle bedzie :)

W sumie to moja pierwsza klasa i jak ja skoncze to będę z siebie dumny! :)
Użytkownik solven edytował ten post 19.07.2010 18:29
Odpowiedz

  • +
  • -
Apple() - zdjęcie Apple() 19.07.2010

Dobrze Ci idzie jak na pierwszy raz. Co do 150 widzialności, też przecież możesz ustawić sobie tak jak u ninji.

public set_renderchange(id)

pod tym
if (player_class[id] == Ninja)

szukasz tego
if (player_class[id] == Ninja && player_class[d] == Test_Klasa)


btw; polecam search w amx mod studio, na prawdę wiele pomagają słowa kluczowe jak: "ninja" "render" etc ;]

Aha, przyciski u palka - musisz znaleźć tu na forum funkcje do itemków. tam powinno być coś takiego ;]
Użytkownik Apple() edytował ten post 19.07.2010 18:32
Odpowiedz

  • +
  • -
solven - zdjęcie solven 19.07.2010

amx mod studio


to jakis program? kompilator?


Chodzi o to?
Kompilator pluginów - Nieoficjalny polski support AMX Mod X
Odpowiedz

master245 - zdjęcie master245 19.07.2010

co do reszty powino byc dobrze mozesz byc dumny tylko po naladowaniu noza dostajesz te odbicie pocískow
Odpowiedz

  • +
  • -
Onyke - zdjęcie Onyke 19.07.2010

-Odbijaja sie pociski (od czasu do czasu)


Nie jestem pewien ale
Szukasz

if(ultra_armor[hit]>0 || (player_class[hit]==Paladyn && random_num(0,3)==1) || random_num(0,player_ultra_armor_left[hit])==1)

Zamieniasz na

if(ultra_armor[hit]>0 || (player_class[hit]==Paladyn && random_num(0,3)==1) || random_num(0,player_ultra_armor_left[hit])==1)
if(ultra_armor[hit]>0 || (player_class[hit]==twoja_klasa && random_num(0,3)==1) || random_num(0,player_ultra_armor_left[hit])==1)


Nie wiem czy działa.
Przy kompilacji błędów nie robi więc powinno działać.
Jak zrobisz to daj znać czy ta klasa odbija pociski.
Odpowiedz

master245 - zdjęcie master245 19.07.2010

ja to robie cala funkcje kopiuje i daje nazwe klasy tylko i dziala all. Ale twoja klasa po naladowaniu noza bedzie to miala :)
Odpowiedz

  • +
  • -
solven - zdjęcie solven 19.07.2010

Szukasz

if(ultra_armor[hit]>0 || (player_class[hit]==Paladyn && random_num(0,3)==1) || random_num(0,player_ultra_armor_left[hit])==1)


Nie mam takiej lini :) mam tylko:
if(ultra_armor[hit]>0 ||random_num(0,player_ultra_armor_left[hit])==1)


btw, jak sie robilo, jak chce w skrucie napisac np. i=i+2, to bylo: i=+2?

@edit
jeszcze jedno, Apple, 150 widzialnosci to chyba wiecej (bardziej powinno widac) niz ninje, a ty radziles mi go dopisac do ninji, o tak:
if (player_class[id] == Ninja && player_class[d] == Test_Klasa)


Na pewno tak ma byc? :)
Użytkownik solven edytował ten post 19.07.2010 19:35
Odpowiedz

master245 - zdjęcie master245 19.07.2010

nie zrob sobie taka funkcje jak ninja i daj swoje
Odpowiedz

  • +
  • -
Onyke - zdjęcie Onyke 19.07.2010

Sprawdz dokladnie :/
Jak jej nie usuwales to musi byc.
Linijka okolo
8237
Byc moze jak szukales w "szukaj" to spacje zrobiles albo cos.
Jesli zas nie znajdziesz to wpisz w "szukaj" Paladyn az w końcu znajdziesz :>
Odpowiedz

  • +
  • -
solven - zdjęcie solven 19.07.2010

nie zrob sobie taka funkcje jak ninja i daj swoje


i tu wlasnie jest problem :) sprobuje cos wymyslic :) rezultaty wrzuce na forum ;P

19 lipiec 2010 - 20:57:

Sprawdz dokladnie :/
Jak jej nie usuwales to musi byc.
Linijka okolo
8237
Byc moze jak szukales w "szukaj" to spacje zrobiles albo cos.
Jesli zas nie znajdziesz to wpisz w "szukaj" Paladyn az w końcu znajdziesz :>


Ja mam plugin dbmod 5.9lplus wiec moze przez to nie ma :) najwyzej zrobie bez tego odbijania. dzięki za pomoc.

19 lipiec 2010 - 21:26:
jutro to zrobie bo dzis juz nie mam sily ;P
Odpowiedz

master245 - zdjęcie master245 20.07.2010

w kazdym dm jesw odbicie od paladyna a ty juz masz jedno bo zaladowaniu noza
Odpowiedz

  • +
  • -
Apple() - zdjęcie Apple() 20.07.2010

if(klasagracza[id] == Koles){
set_user_rendering(id, kRenderFxNone, 0,0,0, kRenderTransAlpha, 150)
}


ale możesz też napisać funkcję dla invi 150

public invikoles()
{
set_user_rendering(id, kRenderFxNone, 0,0,0, kRenderTransAlpha, 10)
}


i do tego
if(klasagracza[id] == Koles){
invikoles == 1
}


Zobacz czy to drugie zadziała, bo to pierwsze - na pewno ^^

AMX MOD X STUDIO - programik do edycji pluginów i ich pisania. Polecam, czytelniejszy i prostszy. W dodatku ma kompilator w sobie.
Link: AMXX STUDIO 1.4.3 FINAL FULL
Użytkownik Apple() edytował ten post 20.07.2010 14:07
Odpowiedz

  • +
  • -
solven - zdjęcie solven 20.07.2010

@up, nie wiem gdzie to wszystko napisac ;d wstawie to gdzies intuicyjnie i zobacze czy dziala ;P

20 lipiec 2010 - 12:18:
public check_class()
{
for (new id=0; id < 33; id++)
{
if((player_class[id] == Ninja) && (is_user_connected(id)))
{

if (is_user_alive(id)) set_user_armor(id,100)
}
set_gravitychange(id)
set_renderchange(id)
if((player_class[id] == Test_Klasa) && (is_user_connected(id)))
{
set_user_rendering(id, kRenderFxNone, 0,0,0, kRenderTransAlpha, 150)
if (is_user_alive(id)) set_user_armor(id,200)
}
}
}


Dobrze? zrobilem ze jezeli test_klasa to zmienia ten krendertransalpha na 150 i jeszcze powinno dodawac 200kamizelki

20 lipiec 2010 - 12:20:
ale sam bym tego nie wymyslil ;f

20 lipiec 2010 - 13:01:
jest kilka bledow, mianowicie dostaje 3 pancerza, dostaje he, nie skacze jak ninja i nie jestem pol-niewidzialny. chcecie plik .sma? ;/

20 lipiec 2010 - 13:10:
w pierwszym poscie dalem moja funcke set_gravitychange i tam chyba mam blad ;d

if((player_class[id] == Ninja) && (player_class[id] == Test_Klasa))


zamiast "&&" nie powinno byc "or"?
Bo w sumie typek nie moze miec i Ninje i Test_Klase wiec nigdy warunek sie nie spelni ;x

20 lipiec 2010 - 13:26:
kurde, w PAWNie nie ma "or". rozbilem tego ifa na dwa ify i juz skacze, teraz jeszcze niewidzialnosc ;d

apple, powiedz mi gdzie to wpisac?
if(klasagracza[id] == Koles){
set_user_rendering(id, kRenderFxNone, 0,0,0, kRenderTransAlpha, 150)
}


Booze, ta klasa ma 4hp, chociaz zadeklarowalem 140 dla niej... Wezcie poprawcie za mnie te bledy bo ja juz nie moge... .sma w zalaczniku. Proszee.

Załączone pliki


Użytkownik solven edytował ten post 20.07.2010 12:30
Odpowiedz

  • +
  • -
G[o]Q - zdjęcie G[o]Q 20.07.2010

or ==> ||
Odpowiedz

  • +
  • -
solven - zdjęcie solven 20.07.2010

mniejsza z tym, rozbilem na dwa ify, ale i tak mam pelno bledow sam nie zrobie. 4hp, i jest widzialna, chociaz miala byc 150 widzialnosci. nie umiem juz tegoo, moze to ktos poprawic za free? ;/
Odpowiedz

  • +
  • -
Apple() - zdjęcie Apple() 20.07.2010

Napisz do mnie na GG to pomogę Ci ogarnąć - nie będziemy tutaj Ciebie uczyć po kolei z nabijaniem postów ^^
Spoiler
Odpowiedz
Zablokowany