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
CoD Nowy

Ulepszanie perków

cod nowy

  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
9 odpowiedzi w tym temacie

#1 1stADXionC

    Wszechobecny

  • Użytkownik

Reputacja: 2
Nowy

  • Postów:443
  • Imię:Rafał
  • Lokalizacja:Wrocław
Offline

Napisano 20.06.2016 10:21

Witam!
Stworzyłem za pomocą użytkownika Andrzejek system ulepszania perków. Lecz mam małe problemy podczas kompilacji.

Do silnika dodałem:

poziomy_runy[MAX_ILOSC_RUNY+1][MAX_WIELKOSC_POZIOMU+1]

register_native("cod_get_runa_poziom", "PobierzPoziomRuny", 1);

public PobierzPoziomRuny(runa, Return[], len)
{
    if(runa <= ilosc_runy)
    {
        param_convert(2);
        copy(Return, len, poziomy_runy[runa]);
    }
}

Przykładowy perk:

/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>
#include <codmod>
#include <runy>
#include <hamsandwich>

new const runa_name[] = "Golden";
new const runa_desc[] = "Obrazenia zwiekszone o";
new const runa_poziom[] = "1";

new bool:ma_rune[33];

public plugin_init()
{
    register_plugin(runa_name, "0.1", "1stADXionC");
    
    cod_get_register_runa(runa_name, runa_desc, runa_poziom);
    
    RegisterHam(Ham_TakeDamage, "player", "TakeDamage");
}

public cod_get_runa_enabled(id)
{
    ma_rune[id] = true;
}

public cod_get_runa_disabled(id)
{
    ma_rune[id] = false;
}

public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits)
{
    if(!is_user_connected(idattacker))
        return HAM_IGNORED;
    
    if(!ma_rune[idattacker])
    {
        if(cod_get_runa_poziom() = 1) cod_inflict_damage(idattacker, this, 10.0, 0.00, idinflictor, damagebits);
            else if(cod_get_runa_poziom() = 2) cod_inflict_damage(idattacker, this, 10.0, 0.0, idinflictor, damagebits);
            else if(cod_get_runa_poziom() = 3) cod_inflict_damage(idattacker, this, 15.0, 0.0, idinflictor, damagebits);
            else if(cod_get_runa_poziom() = 4) cod_inflict_damage(idattacker, this, 20.0, 0.0, idinflictor, damagebits);
            else if(cod_get_runa_poziom() = 5) cod_inflict_damage(idattacker, this, 25.0, 0.0, idinflictor, damagebits);
    }
    
    return HAM_IGNORED;
}

Błędy podczas kompilacji perku:

Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright (c) 1997-2013 ITB CompuPhase, AMX Mod X Team

Error: Number of arguments does not match definition on line 41
Warning: Expression has no effect on line 41
Error: Expected token: ";", but found ")" on line 41
Error: Invalid expression, assumed zero on line 41
Error: Too many error messages on one line on line 41

Compilation aborted.
4 Errors.
Could not locate output file C:\Users\1stADXionC\Desktop\AleLulaaaa\codruna_golden.amx (compile failed).

  • +
  • -
  • 0

DiabloMod - 10%

 

COD:MW3 - BETATESTY

 


#2 rzeznik9871

    Wszechwidzący

  • Użytkownik

Reputacja: 80
Zaawansowany

  • Postów:260
Offline

Napisano 20.06.2016 10:41

w if'ach musza byc 2 znaki rownosci "=="


  • +
  • -
  • 1

Cześć


#3 1stADXionC

    Wszechobecny

  • Autor tematu
  • Użytkownik

Reputacja: 2
Nowy

  • Postów:443
  • Imię:Rafał
  • Lokalizacja:Wrocław
Offline

Napisano 20.06.2016 10:55

Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright (c) 1997-2013 ITB CompuPhase, AMX Mod X Team

Error: Number of arguments does not match definition on line 41
Error: Number of arguments does not match definition on line 42
Error: Number of arguments does not match definition on line 43
Error: Number of arguments does not match definition on line 44
Error: Number of arguments does not match definition on line 45

5 Errors.
Could not locate output file C:\Users\1stADXionC\Desktop\AleLulaaaa\codruna_golden.amx (compile failed).


 


  • +
  • -
  • 0

DiabloMod - 10%

 

COD:MW3 - BETATESTY

 


#4 rzeznik9871

    Wszechwidzący

  • Użytkownik

Reputacja: 80
Zaawansowany

  • Postów:260
Offline

Napisano 20.06.2016 11:22

PobierzPoziomRuny(runa, Return[], len)

musisz zwrocic rune (co kolwiek to znaczy)  do osobnej tablicy

czyli cos takiego

public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits)
{
    if(!is_user_connected(idattacker))
        return HAM_IGNORED;
    
    if(!ma_rune[idattacker])
    {
        new wartosc_runy[31]
        cod_get_runa_poziom(runa_name,wartosc_runy,30)
        if(wartosc_runy == 1) cod_inflict_damage(idattacker, this, 10.0, 0.00, idinflictor, damagebits);
            else if(wartosc_runy == 2) cod_inflict_damage(idattacker, this, 10.0, 0.0, idinflictor, damagebits);
            else if(wartosc_runy == 3) cod_inflict_damage(idattacker, this, 15.0, 0.0, idinflictor, damagebits);
            else if(wartosc_runy == 4) cod_inflict_damage(idattacker, this, 20.0, 0.0, idinflictor, damagebits);
            else if(wartosc_runy == 5) cod_inflict_damage(idattacker, this, 25.0, 0.0, idinflictor, damagebits);
    }
    
    return HAM_IGNORED;
}

czy jakos tak nie jestem do konca pewny bo nie bardzo rozumiem jak to dziala

 

/edit

dobra rozumiem powinno byc ok


Użytkownik rzeznik9871 edytował ten post 20.06.2016 11:27

  • +
  • -
  • 1

Cześć


#5 1stADXionC

    Wszechobecny

  • Autor tematu
  • Użytkownik

Reputacja: 2
Nowy

  • Postów:443
  • Imię:Rafał
  • Lokalizacja:Wrocław
Offline

Napisano 20.06.2016 11:37

Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright (c) 1997-2013 ITB CompuPhase, AMX Mod X Team

Error: Argument type mismatch (argument 1) on line 42
Error: Array must be indexed (variable "wartosc_runy") on line 43
Error: Array must be indexed (variable "wartosc_runy") on line 44
Error: Array must be indexed (variable "wartosc_runy") on line 45
Error: Array must be indexed (variable "wartosc_runy") on line 46
Error: Array must be indexed (variable "wartosc_runy") on line 47

6 Errors.
Could not locate output file C:\Users\1stADXionC\Desktop\AleLulaaaa\codruna_golden.amx (compile failed).

No to ja proponuje, pierwsze zrobić to menu i natyw jeden od pobierania aktualnego poziomu i w pluginie od perku, tak gdzie jest jesgo umiejetnosci pobierać poziom i ustawic dla niego odpowiedni dodatek np. jak mowiles o obrażeniach to np.
 
 

new Float:Damage = 0.0;
    
    if(cod_get_poziom_perku() = 1) Damage += 10;
    else if(cod_get_poziom_perku() = 2) Damage += 20;
        else if(cod_get_poziom_perku() = 3) Damage += 30;
        else if(cod_get_poziom_perku() = 4) Damage += 40;
        else if(cod_get_poziom_perku() = 5) Damage += 50;
        
        //I COŚ TU DALEJ

Dlaczego tak, bo uwżam że to będzie najlepsze rozwiązanie. Bo każdy perk ma inna umiejetność.
A tak robisz w głównym pluginie, lub w osobnym pluginie jak wolisz
 
 

new gPoziom_perku_id[33] = 0; // rejestrujesz zmienna globalna

public plugin_init() {
    register_plugin(PLUGIN, VERSION, AUTHOR)
    
    // Add your code here...
}
public plugin_natives() {
    register_native("cod_get_poziom_perku", "PobierzPoziomPerku", 1); //rejestrujesz natyw cod_get_poziom_perku() w pluginie od perka dodajesz native cod_get_poziom_perku();
}
public PobierzPoziomPerku(id) {
    return gPoziom_perku_id[id]; //odczytujesz wartosc poziomu perku
}

Jeżeli chcesz dodać również opisy do menu co daje poziom do aktualnego perku wystarczy prosty natyw i będzie wszystko git, możesz też ustawiać ceny do każdego perku jaką chcesz, no możliwości masz wiele.

 


Użytkownik 1stADXionC edytował ten post 20.06.2016 11:41

  • +
  • -
  • 0

DiabloMod - 10%

 

COD:MW3 - BETATESTY

 


#6 rzeznik9871

    Wszechwidzący

  • Użytkownik

Reputacja: 80
Zaawansowany

  • Postów:260
Offline

Napisano 20.06.2016 11:49

public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits)
{
    if(!is_user_connected(idattacker))
        return HAM_IGNORED;
    
    if(!ma_rune[idattacker])
    {
        cod_get_runa_poziom(runa,wartosc_runy,idattacker)
        if(wartosc_runy[idattacker] == 1) cod_inflict_damage(idattacker, this, 10.0, 0.00, idinflictor, damagebits);
            else if(wartosc_runy[idattacker] == 2) cod_inflict_damage(idattacker, this, 10.0, 0.0, idinflictor, damagebits);
            else if(wartosc_runy[idattacker] == 3) cod_inflict_damage(idattacker, this, 15.0, 0.0, idinflictor, damagebits);
            else if(wartosc_runy[idattacker] == 4) cod_inflict_damage(idattacker, this, 20.0, 0.0, idinflictor, damagebits);
            else if(wartosc_runy[idattacker] == 5) cod_inflict_damage(idattacker, this, 25.0, 0.0, idinflictor, damagebits);
    }
    
    return HAM_IGNORED;
}

new wartosc_runy[33] jako zmienna globalna daj

public PobierzPoziomRuny(runa, Return[], len)

to runa to id runy tak? tylko teraz pytanie skąd to pobrac spróbuj zrobic tak jak napisalem ale nie jestem pewny czy zadziala niestety na codzie znam sie jak kon rafal na motoryzacji wiec to tak troche pomoc w ciemno ^^


  • +
  • -
  • 0

Cześć


#7 1stADXionC

    Wszechobecny

  • Autor tematu
  • Użytkownik

Reputacja: 2
Nowy

  • Postów:443
  • Imię:Rafał
  • Lokalizacja:Wrocław
Offline

Napisano 20.06.2016 15:27

https://amxx.pl/topi...-system-perków/

Runy to jest edytowany plugin perki.
  • +
  • -
  • 0

DiabloMod - 10%

 

COD:MW3 - BETATESTY

 


#8 1stADXionC

    Wszechobecny

  • Autor tematu
  • Użytkownik

Reputacja: 2
Nowy

  • Postów:443
  • Imię:Rafał
  • Lokalizacja:Wrocław
Offline

Napisano 20.06.2016 15:27

https://amxx.pl/topi...-system-perków/

Runy to jest edytowany plugin perki.
  • +
  • -
  • 0

DiabloMod - 10%

 

COD:MW3 - BETATESTY

 


#9 AwIlL^^

    Magiczny Gość

  • Użytkownik

Reputacja: 135
Zaawansowany

  • Postów:263
  • Steam:steam
  • Imię:Eryk
  • Lokalizacja:Gdańsk
Offline

Napisano 20.06.2016 16:10

została zmieniona konstrukcja cod_get_runa_poziom(runa, return[], len) na cod_get_runa_poziom(id)
miłej zabawy :)


  • +
  • -
  • 1

Potrzebujesz porad do amxx?? Pisz na [PW]


#10 1stADXionC

    Wszechobecny

  • Autor tematu
  • Użytkownik

Reputacja: 2
Nowy

  • Postów:443
  • Imię:Rafał
  • Lokalizacja:Wrocław
Offline

Napisano 20.06.2016 21:14

Temat można zamknąć, poradziłem sobie :)


  • +
  • -
  • 0

DiabloMod - 10%

 

COD:MW3 - BETATESTY

 






Również z jednym lub większą ilością słów kluczowych: cod nowy

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

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