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

const?


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

#1 Screeaam...

    ; ooo

  • Zbanowany

Reputacja: 154
Profesjonalista

  • Postów:1 012
  • Lokalizacja:Sosnowiec
Offline

Napisano 29.06.2010 11:34

Witam, mam do Was pytania, jeżeli w pluginie zrobię tak:

new gracz_ma_klase[33]

new const nazwy_klas[][]={
    "Klasa1",
    "Klasa2",
    "Klasa3",
    "Klasa4"
}

Jak zrobić, aby moc klasy mógłbym dodawać poprzez:

gracz_ma_klase[id] == Klasa1

Następnie jak przypisać na starcie mapy tą klasę? I jak mam to dodać w menu wyboru?

Oraz zmienna const za co odpowiada?

Użytkownik Screeaam... edytował ten post 29.06.2010 11:34


#2 Vertricus

    Godlike

  • Przyjaciel

Reputacja: 426
Wszechobecny

  • Postów:1 549
  • Lokalizacja:.
Offline

Napisano 29.06.2010 13:02

Constans - stała.
Nie zmieni się przez cały czas działania pluginu.
new const x = 10;
nie będziesz mógł tej wartości zmienić ;}
  • +
  • -
  • 1

#3 G[o]Q

    I'm G[o]Q

  • Przyjaciel

Reputacja: 1 344
Godlike

  • Postów:3 563
  • Steam:steam
  • Imię:Krzysiek
  • Lokalizacja:C: / program Files / Valve / Cstrike / G[o]Q.dem
Offline

Napisano 29.06.2010 13:22

jemu chodzi chyba o enuma czyli tak jak w diablo
player_class[index]=Ninja

  • +
  • -
  • 1
Manual ponad wszystko, konsola ponad manual :D :&

Chcesz wysłać do mnie PW ? użyj nazwy GoQ zamiast G[o]Q
Chcesz Kupić moduł płatności via Pukawka,Tserwery, Gamesol, Zabijaka do mojego sklepu? napisz PW cena to tylko 10 zł/sztuka

GG:6022845 (nie pomagam za free osobom ponizej rangi MoD) :D

#4 Screeaam...

    ; ooo

  • Autor tematu
  • Zbanowany

Reputacja: 154
Profesjonalista

  • Postów:1 012
  • Lokalizacja:Sosnowiec
Offline

Napisano 29.06.2010 14:29

No tak, ale jak napisać takiego minimoda, że mam jakieś tam klasy, które mają jakieś moce, jak przypisać do nich moce? Bez lvli.

//Edit:

//

//Edit2:

#include <amxmodx>
#include <cstrike>
#include <csx>
#include <fun>


#define AUTHOR "Screeaam"
#define PLUGIN "Klasy Ludzi"
#define VERSION "1.0"

#define przyciski (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<9) // Przyciski: 1,2,3,4,0

new klasa_gracza[33]

enum { NONE = 0, Klasa1, Klasa2, Klasa3, Klasa4 };
new const nazwy_klas[5][]={ "Brak","Klasa1","Klasa2","Klasa3","Klasa4" }

new const opisy_klas[][] = {
	"HP: 100, Pancerz: 30",
	"HP: 120, Pancerz: 20",
	"HP: 100, Pancerz: 25",
	"HP: 95, Pancerz: 30"
};


public plugin_init(){
        register_plugin(AUTHOR, VERSION, PLUGIN)
        register_menucmd(register_menuid("menu"), przyciski, "wybor")
        register_clcmd("say /ludzie","WybierzKlase")
        register_clcmd("say /opisy","OpisKlasy")
}

public WybierzKlase(id)
{
	new menu = menu_create("Wybierz klase:", "WybierzKlase_Handle");
	new klasa[50];

	for(new i=1; i<sizeof nazwy_klas; i++)
	{
		bonusy(id);
		format(klasa, 49, "%s", nazwy_klas[i]);
		menu_additem(menu, klasa);
	}
	bonusy(id);
	
	menu_setprop(menu, MPROP_EXITNAME, "Wyjdz");
	menu_setprop(menu, MPROP_BACKNAME, "Poprzednia strona");
	menu_setprop(menu, MPROP_NEXTNAME, "Nastepna strona");
	menu_display(id, menu);
}

public WybierzKlase_Handle(id, menu, item)
{
	if(item == MENU_EXIT)
	{
		menu_destroy(menu);
		return PLUGIN_CONTINUE;
	}	
		
	item++;
	
	if(item == klasa_gracza[id])
		return PLUGIN_CONTINUE;
	

	klasa_gracza[id] = item;
	bonusy(id);
	return PLUGIN_CONTINUE;
}


public plugin_precache(){
        precache_model("models/player/klasa1/klasa1.mdl");
        precache_model("models/player/klasa2/klasa2.mdl");
        precache_model("models/player/klasa3/klasa3.mdl");
        precache_model("models/player/klasa4/klasa4.mdl");
}

public client_putinserver(id){
        if(klasa_gracza[id] == 0){
        WybierzKlase(id)
        }
}



public bonusy(id)
switch(klasa_gracza[id])
{
    case Klasa1:
    {
        set_user_health(id, 100)
        set_user_armor(id, 30)
        cs_set_user_model(id, "Klasa1")
    }
    case Klasa2:
    {
        set_user_health(id, 120)
        set_user_armor(id, 20)
        cs_set_user_model(id, "Klasa2")
    }
    case Klasa3:
    {
        set_user_health(id, 100)
        set_user_armor(id, 25)
        cs_set_user_model(id, "Klasa3")
    }
    case Klasa4:
    {
        set_user_health(id, 95)
        set_user_armor(id, 30)
        cs_set_user_model(id, "Klasa4")
    }
}


public OpisKlasy(id)
{
	new menu = menu_create("Wybierz Klase:", "OpisKlasy_Handle");
	for(new i=1; i<sizeof nazwy_klas; i++)
	menu_additem(menu, nazwy_klas[i]);
	menu_setprop(menu, MPROP_EXITNAME, "Wyjdz");
	menu_setprop(menu, MPROP_BACKNAME, "Poprzednia strona");
	menu_setprop(menu, MPROP_NEXTNAME, "Nastepna strona");
	menu_display(id, menu);
	
}

public OpisKlasy_Handle(id, menu, item)
{
	if(item == MENU_EXIT)
	{
		menu_destroy(menu);
		return PLUGIN_CONTINUE;
	}
	client_print(id, print_chat, "[JakisMod] %s: %s", nazwy_klas[item+1], opisy_klas[item+1]);
	menu_display(id, menu);
	
	return PLUGIN_CONTINUE;
}

Oświecił mnie post G[o]Q'a xD Czy takie coś będzie działać?


EDIT3:

Czy jeżeli zamiast set_user_health(id, X) w bonusy(id) dam tak:

set_user_health(id, race_heal[klasa_gracza[id]])

A gdzieś na górze:

new race_heal[5] = { 100,100,120,100,95 }

Będzie takie coś działać i każda klasa będzie miała swoje zdrowie a nie innej klasy? Bo takie oznaczenie się kompiluje.

Użytkownik Screeaam... edytował ten post 29.06.2010 16:35


#5 G[o]Q

    I'm G[o]Q

  • Przyjaciel

Reputacja: 1 344
Godlike

  • Postów:3 563
  • Steam:steam
  • Imię:Krzysiek
  • Lokalizacja:C: / program Files / Valve / Cstrike / G[o]Q.dem
Offline

Napisano 29.06.2010 17:03

tak
  • +
  • -
  • 1
Manual ponad wszystko, konsola ponad manual :D :&

Chcesz wysłać do mnie PW ? użyj nazwy GoQ zamiast G[o]Q
Chcesz Kupić moduł płatności via Pukawka,Tserwery, Gamesol, Zabijaka do mojego sklepu? napisz PW cena to tylko 10 zł/sztuka

GG:6022845 (nie pomagam za free osobom ponizej rangi MoD) :D

#6 Screeaam...

    ; ooo

  • Autor tematu
  • Zbanowany

Reputacja: 154
Profesjonalista

  • Postów:1 012
  • Lokalizacja:Sosnowiec
Offline

Napisano 29.06.2010 20:03

new const nazwy_klas[5][]={ "Brak","Klasa1","Klasa2","Klasa3","Klasa4" }


Jeszcze jedno, czemu w w/w funkcji jest [5] i druga klamra jest pusta a na Diablo jest tam 18?

I jak mogę w const dodać modele klas?

Użytkownik Screeaam... edytował ten post 29.06.2010 20:03


#7 false

    Wszechmogący

  • Użytkownik

Reputacja: 53
Pomocny

  • Postów:652
  • Lokalizacja:z Polski
Offline

Napisano 29.06.2010 20:21

new modele CT[4][]={"sas","gsg9","urban","gign"};
new modele TT[4][]={"arctic","leet","guerilla","terror"};

Coś takiego ?
  • +
  • -
  • 0

#8 Screeaam...

    ; ooo

  • Autor tematu
  • Zbanowany

Reputacja: 154
Profesjonalista

  • Postów:1 012
  • Lokalizacja:Sosnowiec
Offline

Napisano 29.06.2010 20:30

To ja wiem, ale jak to potem "zaimplementować" w klasę?

Użytkownik Screeaam... edytował ten post 29.06.2010 20:30


#9 false

    Wszechmogący

  • Użytkownik

Reputacja: 53
Pomocny

  • Postów:652
  • Lokalizacja:z Polski
Offline

Napisano 29.06.2010 20:34

"zaimplementować"


zaimco ? ; d
  • +
  • -
  • -1

#10 Screeaam...

    ; ooo

  • Autor tematu
  • Zbanowany

Reputacja: 154
Profesjonalista

  • Postów:1 012
  • Lokalizacja:Sosnowiec
Offline

Napisano 29.06.2010 20:43

Dobra, już wiem, chyba tak:

cs_set_user_model(id, model_gracza[klasa_gracza[id]])

Jeszcze jedno, jak mam to:

new race_pancerz[5] = { 100,100,120,100,95 }

musi być to [5] czy może zostać []? Co wogóle to określa?

//Edit:

Tak jak zrobiłem, to nie podmienił mi modeli ; /

Użytkownik Screeaam... edytował ten post 29.06.2010 21:36


#11 G[o]Q

    I'm G[o]Q

  • Przyjaciel

Reputacja: 1 344
Godlike

  • Postów:3 563
  • Steam:steam
  • Imię:Krzysiek
  • Lokalizacja:C: / program Files / Valve / Cstrike / G[o]Q.dem
Offline

Napisano 29.06.2010 21:50

to okresla rozmiar tablicy jesli dajesz [] to wtedy musisz ja od razu zainicjowac czyli wpisac wszystkie elementy jakie chcesz miec w niej i kompilator sobie policzy i ustali jej rozmiar a jesli chodzi o [][] to pierwsze to ilosc a drugie to dlugosc stringow-ciagow textowych (jesli chodzi o powyzsze przyklady bo moze to tez oznaczac normalna 2-wu wymiarowa tablice)
  • +
  • -
  • 1
Manual ponad wszystko, konsola ponad manual :D :&

Chcesz wysłać do mnie PW ? użyj nazwy GoQ zamiast G[o]Q
Chcesz Kupić moduł płatności via Pukawka,Tserwery, Gamesol, Zabijaka do mojego sklepu? napisz PW cena to tylko 10 zł/sztuka

GG:6022845 (nie pomagam za free osobom ponizej rangi MoD) :D

#12 Screeaam...

    ; ooo

  • Autor tematu
  • Zbanowany

Reputacja: 154
Profesjonalista

  • Postów:1 012
  • Lokalizacja:Sosnowiec
Offline

Napisano 29.06.2010 22:07

A czy wiesz dlaczego jak zrobiłem tak:

new model_gracza[] = { "klasa1.mdl","klasa2.mdl","klasa3.mdl","klasa4.mdl" }

I dodałem w bonusy(id)

cs_set_user_model(id, model_gracza[klasa_gracza[id]])

To mi nie działa? Po drugie w menu wyboru klasy w dobrym miejscy dałem bonusy(id)? Czy lepiej je usunąć i dodać w roundstart()?

Bo wszystko mi działa prócz modelów.


Czyli wszędzie mogę ustawić [] i [][] ?

Użytkownik Screeaam... edytował ten post 29.06.2010 22:38


#13 Siemir

    Profesjonalista

  • Użytkownik

Reputacja: 113
Zaawansowany

  • Postów:204
  • Steam:steam
  • Lokalizacja:nie znana
Offline

Napisano 29.06.2010 23:29

Bo w cs_set_user_model daje się model bez .mdl
  • +
  • -
  • 0

#14 Screeaam...

    ; ooo

  • Autor tematu
  • Zbanowany

Reputacja: 154
Profesjonalista

  • Postów:1 012
  • Lokalizacja:Sosnowiec
Offline

Napisano 29.06.2010 23:40

Próbowałem, też nie działa.

Edit, działa, wiem co źle robiłem.

new const model_gracza[][] = { "gign","klasa1","klasa2","klasa3","klasa4" }

Zamiast:

new model_gracza[] = { "klasa1","klasa2","klasa3","klasa4" }

Ale mam pytanie. Jak gracz ma klase1 i wpisze jakąś komendę na otwarcie menu i wybierze klase3 to jak zrobić, aby tą klasę miał od następnej rundy, a nie w tej samej mu się zmieniała?

//Edit:

Poradziłem sobie. :D

Jak teraz mam dodać EXP Moda?

Użytkownik Screeaam... edytował ten post 30.06.2010 01:26


#15 G[o]Q

    I'm G[o]Q

  • Przyjaciel

Reputacja: 1 344
Godlike

  • Postów:3 563
  • Steam:steam
  • Imię:Krzysiek
  • Lokalizacja:C: / program Files / Valve / Cstrike / G[o]Q.dem
Offline

Napisano 30.06.2010 17:09

hmm event smierci + nowa tablica ktorej wartosc dla danego indexu zwiekszasz jesli osoba kogos zabije i masz najprostszego xpmoda
  • +
  • -
  • 0
Manual ponad wszystko, konsola ponad manual :D :&

Chcesz wysłać do mnie PW ? użyj nazwy GoQ zamiast G[o]Q
Chcesz Kupić moduł płatności via Pukawka,Tserwery, Gamesol, Zabijaka do mojego sklepu? napisz PW cena to tylko 10 zł/sztuka

GG:6022845 (nie pomagam za free osobom ponizej rangi MoD) :D




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

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