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

Bonusy na runde + menu


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

#1 marcin0321

    Początkujący

  • Użytkownik

Reputacja: -1
Nowy

  • Postów:12
  • Lokalizacja:Xd
Offline

Napisano 10.01.2013 17:28

Na wstępie chciałbym poinformować, iż na amxx znam się bardzo słabo, więc prosiłbym o wyrozumiałość...

Stworzyłem plugin, który ma wyświetlić menu z bonusami po wpisaniu /bonus. Menu się nie wyświetla, a w logach nie ma żadnych błędów.
Chciałbym także, aby po wpisaniu 2-gi raz /bonus w tej samej rundzie wyświetliło się: już użyłeś bonus.


Oto kod:


#include  #include  #include  #include #include #include #include #include #include #include #include #include #include #include #define PLUGIN "Bonusy"#define VERSION "1.0"#define AUTHOR "LuLuS"new cvar_gravity, cvar_speed;public plugin_init() {    register_plugin(PLUGIN, VERSION, AUTHOR)    register_clcmd("say", "/bonus")    register_clcmd("say_team", "/bonus")}public menu(id){    new menu = menu_create("\yWybierz Bonus:", "menu_Handle")    menu_additem(menu, "\wDodatkowe HP \r[+50]")    menu_additem(menu, "\wDodatkowy Armor \r[+50]") //1    menu_additem(menu, "\wGranat \y[Frost] \d[CT]")    menu_additem(menu, "\wGrawitacja [0.68]")    menu_additem(menu, "\wPredkosc^n")    menu_display(id, menu)}public menu_Handle(id,menu,item){    if(item == MENU_EXIT){    menu_destroy(menu)    return PLUGIN_CONTINUE;}    menu_display(id, menu)    switch(item)    {        case 0:        {            new health = get_user_health(id);            set_user_health(id, health + 50);            ColorChat(id, RED, "[Bonus]^x01 Wybralesx^04 Dodatkowe HP");        }        case 1:        {            new armor = get_user_armor(id);            set_user_armor(id, armor + 50);            ColorChat(id, RED, "[Bonus]^x01 Wybralesx^04 Dodatkowy Armor");        }        case 2:        {            new CsTeams:userTeam = cs_get_user_team(id)            if (userTeam == CS_TEAM_T) {            ColorChat(id, RED, "[Bonus]^x01 Musisz byc w CT");            }            else            {            give_item(id, "weapon_smokegrenade");            ColorChat(id, RED, "[Bonus]^x01 Wybralesx^04 Granat [Frost]");        }        }        case 3:        {            new Float: gravity            gravity = get_pcvar_float(cvar_gravity)            set_user_gravity(id, gravity)            ColorChat(id, RED, "[Bonus]^x01 Wybrałesx^04 Grawitke");        }        case 4:        {            new Float: speed            speed = get_pcvar_float(cvar_speed)            set_user_maxspeed(id, speed)            ColorChat(id, RED, "[Bonus]^x01 Wybralesx^04 Wiekszy Speed");        }    }    return PLUGIN_CONTINUE}
Jest także w załączniku.Dziękuje za odpowiedź.

Załączone pliki


  • +
  • -
  • 0

#2 Gość_21977_*

  • Gość

Reputacja: 0

Offline

Napisano 10.01.2013 19:51

Odnośnie funkcji register_clcmd, przyjmuje ona 2 argumenty typu String.
Pierwszy oznacza komendę, jaką rejestrujemy, drugi funkcję, jaka zostanie wywołana po wykonaniu przez gracza danej komendy.

w Twoim kodzie
register_clcmd("say", "/bonus")
register_clcmd("say_team", "/bonus")

rejestrujesz cały say i say_team, próbując wykonać funkcję "/bonus", która nie istnieje.

Prawidłowo, powinieneś wykonać to tak:
register_clcmd("say /bonus", "menu")
register_clcmd("say_team /bonus", "menu")

W pierwszym argumencie podajesz, że wpisanie "/bonus" na odpowiednio na sayu
i team_sayu, spowosuje wykonanie funkcji podanej jako drugi parametr, czyli "menu".

#3 Gość_21977_*

  • Gość

Reputacja: 0

Offline

Napisano 10.01.2013 19:51

Automatyczna wiadomość


Ten temat został przeniesiony z forum

Scripting AMXXPluginy

do

Scripting AMXXProblemy

#4 marcin0321

    Początkujący

  • Autor tematu
  • Użytkownik

Reputacja: -1
Nowy

  • Postów:12
  • Lokalizacja:Xd
Offline

Napisano 12.01.2013 13:48

Przepraszam za zły dział...
A jak zrobić, aby bonus w nowej rundzie się resetował, otwierało się menu wyboru i żeby można byoł wybrac ten bonus? Oczywiscie jak juz sie wybierze to zeby ten bonus się zapamietal i nie mozna bylo wybrac znowu innego.
  • +
  • -
  • 0

#5 marcin0321

    Początkujący

  • Autor tematu
  • Użytkownik

Reputacja: -1
Nowy

  • Postów:12
  • Lokalizacja:Xd
Offline

Napisano 14.01.2013 16:16

F5
  • +
  • -
  • 0

#6 d0naciak

    Godlike

  • Power User

Reputacja: 1 029
Hero

  • Postów:2 414
  • GG:
  • Steam:steam
  • Imię:Dawid
  • Lokalizacja:Kotlarka
Offline

Napisano 14.01.2013 19:42

Pod modułami dodaj
new bool:uzyl_bonusu[33];
w menu(id) po pierwszej klamrze dajesz
if(uzyl_bonusu[id]) //Sprawdzamy czy juz uzyl
{
   client_print(id, print_chat, "Juz uzyles bonusu"); //Informacja na czacie, ze gracz uzyl bonusu
   return PLUGIN_HANDLED; //Omijamy dalsze akcje funkcji
}
potem przed klamrą zamykającą, w menu_Handle, jeszcze przed return PLUGIN_CONTINUE;
   uzyl_bonusu[id] = true;
Oraz do plugin init nalezy dodac
register_event("HLTV", "Nowa_Runda", "a", "1=0", "2=0")
i na koniec pluginu dodajesz
public Nowa_Runda()
   for(new i = 1; i <= 32; i++) uzyl_bonusu[i] = false;

Użytkownik d0n tHe Pr0oo edytował ten post 14.01.2013 19:43

  • +
  • -
  • 1

#7 marcin0321

    Początkujący

  • Autor tematu
  • Użytkownik

Reputacja: -1
Nowy

  • Postów:12
  • Lokalizacja:Xd
Offline

Napisano 15.01.2013 18:57

Thx działa lecz nie działa na ponowne dodawanie np. armora (moge dodać sobie nawet 500 armora). Znalazłem już gotowy plugin, który byłby nawet lepszy...Menu w nim wyswietla się na początku rundy, ale po wyborze, bonus nie dodaje sie.

Załączone pliki


  • +
  • -
  • 0

#8 marcin0321

    Początkujący

  • Autor tematu
  • Użytkownik

Reputacja: -1
Nowy

  • Postów:12
  • Lokalizacja:Xd
Offline

Napisano 18.01.2013 14:57

ref
  • +
  • -
  • 0

#9 marcin0321

    Początkujący

  • Autor tematu
  • Użytkownik

Reputacja: -1
Nowy

  • Postów:12
  • Lokalizacja:Xd
Offline

Napisano 20.01.2013 21:20

Do zamknięcia :) Już sobie poradziłem.
  • +
  • -
  • 0

#10 Gość_21977_*

  • Gość

Reputacja: 0

Offline

Napisano 21.01.2013 01:07

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Temat zamknięty na prośbę użytkownika.


Z pozdrowieniami,
Zespół AMXX.PL




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

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