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

Zapisywanie messagemode


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

#1 Blondyna

    Wszechwidzący

  • Użytkownik

Reputacja: 11
Początkujący

  • Postów:246
  • Imię:Rafał
  • Lokalizacja:RTC
Offline

Napisano 22.07.2013 20:29

Siemka :D

Stworzyłem menu + messagemode, wszystko działa lecz teraz chcę aby zablokować kolejny wybór z menu "Stworzenia bohatera" oraz zapisanie go.

 

"zablokować kolejny wybór z menu" - mam na myśli aby gracz mógł tylko raz stworzyć bohatera.

 

To kod:

/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>
#include <colorchat>
#include <engine>

#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "BO"

new menuChoice[33];

public plugin_init()
{
    register_plugin(PLUGIN, VERSION, AUTHOR)
    
    register_clcmd("say /menu", "mymenu");
    
    register_clcmd("nazwa_bohatera", "nazwa_bohatera");
}

public client_PreThink(id)
{
    new nazwa[64];
    
    if(is_user_alive(id))
    {
        set_hudmessage(255, 0, 0, 0.02, 0.20);
        ShowSyncHudMsg(id, CreateHudSyncObj(), "%s^nhaha", nazwa);
    }
    else
    {
        set_hudmessage(255, 0, 0, 0.02, 0.20);
        ShowSyncHudMsg(id, CreateHudSyncObj(), "Nie zyjesz!");
    }
    return true;

}

public mymenu(id)
{
    new MyMenu=menu_create("Jak sie przywitasz?","cbMyMenu");
    
    menu_additem(MyMenu,"\dStworz \rBohatera");
    menu_additem(MyMenu,"Czesc");//item=1
    
    menu_display(id, MyMenu,0);
    return PLUGIN_HANDLED;
}

public cbMyMenu(id, menu, item)
{
    switch(item)
    {
        case 0:
        {
            client_cmd(id, "messagemode nazwa_bohatera");
        }
        case 1:
        {
            client_cmd(id, "say Czesc");
        }
    }
    menu_destroy(menu);
    return PLUGIN_HANDLED;
}

public nazwa_bohatera(id)
{
    new nazwa[64];

    read_args(nazwa, charsmax(nazwa));

    remove_quotes(nazwa);

    switch(menuChoice[id])
    {

        case 0:
        {

            ColorChat(id, RED, "^x04[B-Mod]^x01 Gratuluje! Stworzyles swego ^x04 Bohatera^x01 o nazwie ^x03%s^x01!", nazwa);

        }
        case 1:
        {
            
                 ColorChat(id, RED, "^x04[B-Mod]^x01 Gratuluje!! Stworzyles swa ^x04Bohaterke^x01 o nazwie ^x03%s^x01!", nazwa);
        }
    }
}

Użytkownik Vesfper edytował ten post 22.07.2013 20:33

  • +
  • -
  • 0

#2 MarWit

    The Chosen One

  • Przyjaciel

Reputacja: 843
Czempion

  • Postów:1 485
  • GG:
  • Steam:steam
  • Imię:Marcin
  • Lokalizacja:Bystrzyca
Offline

Napisano 22.07.2013 22:43

Hmm...
Spoiler

Użytkownik MarWit edytował ten post 22.07.2013 22:43

  • +
  • -
  • 2

marwit-0.png


#3 Blondyna

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 11
Początkujący

  • Postów:246
  • Imię:Rafał
  • Lokalizacja:RTC
Offline

Napisano 23.07.2013 09:57

Dzięki działa, a jak zrobić gdy w hud gdy gracz nie stworzy pisało:

"Bohater: Brak" a jak już stworzy tego bohatera to "Bohater: Nazwa" ?


  • +
  • -
  • 0

#4 K!113r

    Teraz to chyba Sławek kek

  • Power User

Reputacja: 387
Wszechpomocny

  • Postów:868
  • GG:
  • Steam:steam
  • Imię:Mateusz
  • Lokalizacja:Piotrków Tryb.
Offline

Napisano 23.07.2013 12:04

Zapisz sobie gdzieś co wpisał i to mu pokazuj?
  • +
  • -
  • 1

DarkGL to mój autorytet.

skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować


#5 Blondyna

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 11
Początkujący

  • Postów:246
  • Imię:Rafał
  • Lokalizacja:RTC
Offline

Napisano 23.07.2013 18:11

Właśnie mam problem z tym.


  • +
  • -
  • 0

#6 speedkill

    Godlike

  • Przyjaciel

Reputacja: 1 592
Godlike

  • Postów:2 733
  • GG:
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Prudnik
Offline

Napisano 23.07.2013 18:35

gszCharacterName[id][0] ? gszCharacterName[id] : "Brak";

  • +
  • -
  • 1

If you can dream it, you can do it.


#7 Blondyna

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 11
Początkujący

  • Postów:246
  • Imię:Rafał
  • Lokalizacja:RTC
Offline

Napisano 25.07.2013 10:04

a jak pobrać to co gracz wpisze, chodzi mi dokładnie nazwę bohatera.


Użytkownik Vesfper edytował ten post 25.07.2013 10:05

  • +
  • -
  • 0

#8 radim

    Godlike

  • Moderator

Reputacja: 939
Master

  • Postów:2 725
  • Steam:steam
  • Imię:Arkadiusz
  • Lokalizacja:Janów Lub.
Offline

Napisano 25.07.2013 10:42

Marwit Ci przecież podał kod.


  • +
  • -
  • 0

Chcąc napisać do mnie prywatną wiadomość, wpierw zapoznaj się ze stroną "O mnie" w moim profilu użytkownika [ radim ] !


#9 Blondyna

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 11
Początkujący

  • Postów:246
  • Imię:Rafał
  • Lokalizacja:RTC
Offline

Napisano 25.07.2013 10:50

Ale jak daje w hud to nie działa.


  • +
  • -
  • 0

#10 radim

    Godlike

  • Moderator

Reputacja: 939
Master

  • Postów:2 725
  • Steam:steam
  • Imię:Arkadiusz
  • Lokalizacja:Janów Lub.
Offline

Napisano 25.07.2013 15:46

Pokaż jak to robisz.


  • +
  • -
  • 0

Chcąc napisać do mnie prywatną wiadomość, wpierw zapoznaj się ze stroną "O mnie" w moim profilu użytkownika [ radim ] !


#11 Blondyna

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 11
Początkujący

  • Postów:246
  • Imię:Rafał
  • Lokalizacja:RTC
Offline

Napisano 26.07.2013 08:47

public client_PreThink(id)
{
    new nazwa[64];
    
    if(is_user_alive(id))
    {
        set_hudmessage(255, 0, 0, 0.02, 0.20);
        ShowSyncHudMsg(id, CreateHudSyncObj(), "Nazwa %s", gszCharacterName[id]);
    }
    else
    {
        set_hudmessage(255, 0, 0, 0.02, 0.20);
        ShowSyncHudMsg(id, CreateHudSyncObj(), "Nie zyjesz!");
    }
    return true;

}

  • +
  • -
  • 0

#12 K!113r

    Teraz to chyba Sławek kek

  • Power User

Reputacja: 387
Wszechpomocny

  • Postów:868
  • GG:
  • Steam:steam
  • Imię:Mateusz
  • Lokalizacja:Piotrków Tryb.
Offline

Napisano 26.07.2013 18:26

public client_PreThink(id)
{
    new nazwa[64];
    
    if(is_user_alive(id))
    {
        set_hudmessage(255, 0, 0, 0.02, 0.20);
        ShowSyncHudMsg(id, CreateHudSyncObj(), "Nazwa %s", gszCharacterName[id][0] ? gszCharacterName[id] : "Brak");
    }
    else
    {
        set_hudmessage(255, 0, 0, 0.02, 0.20);
        ShowSyncHudMsg(id, CreateHudSyncObj(), "Nie zyjesz!");
    }
    return PLUGIN_CONTINUE;

}

  • +
  • -
  • 1

DarkGL to mój autorytet.

skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować


#13 Blondyna

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 11
Początkujący

  • Postów:246
  • Imię:Rafał
  • Lokalizacja:RTC
Offline

Napisano 26.07.2013 18:50

Dzięki działa lecz gdy nastąpi zmiana mapy znowu trzeba tworzyć bohatera, jak zrobić aby się zapisywało .?


  • +
  • -
  • 0

#14 K!113r

    Teraz to chyba Sławek kek

  • Power User

Reputacja: 387
Wszechpomocny

  • Postów:868
  • GG:
  • Steam:steam
  • Imię:Mateusz
  • Lokalizacja:Piotrków Tryb.
Offline

Napisano 26.07.2013 19:33

Poczytaj sobie o zapisach nVault, MySQL, do pliku i inne, i wybierz najbardziej odpowiedni do twoich celów.


  • +
  • -
  • 0

DarkGL to mój autorytet.

skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować


#15 Blondyna

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 11
Początkujący

  • Postów:246
  • Imię:Rafał
  • Lokalizacja:RTC
Offline

Napisano 27.07.2013 09:42

Wybrałem zapis nVault lecz mam problem, daje przykład jaki był w poradniku :

public load_frags(id)
{
    new name[48]
    get_user_name(id,name,47)
    new vaultkey[64],vaultdata[128]
    formatex(vaultkey,63,"%s-fragi",name)
    
    if(nvault_get(plik_vault,vaultkey,vaultdata,127)) { // pobieramy dane
        new fragitemp[16], deadstemp[16], nametemp[48];
        parse(vaultdata, fragitemp, 15, deadstemp, 15, nametemp, 47) // wydobywamy z ciagu vaultdata nasze dane
        
        fragi[id]=str_to_num(fragitemp) // przypisujemy danym ich wartosci wczytane
        deads[id]=str_to_num(deadstemp)
        
        set_user_frags(id,fragi[id])
        cs_set_user_deaths ( id, deads[id] )
        copy(g_name[id], 47, nametemp);
    }
    
    return PLUGIN_CONTINUE
} 

public save_frags(id) {
    fragi[id]+=get_user_frags(id) // zwiekszamy liczbe fragow i deadow o stan bierzacy
    deads[id]+=get_user_deaths(id)
    
    new name[48]
    get_user_name(id,name,47)
    new vaultkey[64],vaultdata[128] // 2 zmienne na klucz i dane ktore bedziemy zapisywac
    formatex(vaultkey,63,"%s-fragi",name) //formatujemy klucz czyli nasz identyfikator dostepu najlepiej zeby roznil sie on 1 czlonem od pozostalych
    formatex(vaultdata,127,"%d %d ^"%s^"", fragi[id], deads[id], name) // formatujemy dane
    nvault_set(plik_vault,vaultkey,vaultdata) // zapisujemy dane "pod" danym kluczem w pliku
    
    return PLUGIN_CONTINUE
}

Lecz nie mam pojęcia jak przerobić go aby działał w mojej sytuacji.


  • +
  • -
  • 0

#16 Droso

    Dawniej HubertTM

  • Support Team

Reputacja: 1 291
Godlike

  • Postów:2 371
  • Steam:steam
  • Imię:Hubert
  • Lokalizacja:Wrocław
Offline

Napisano 27.07.2013 10:38

Możesz też użyć setinfo jak chcesz tylko nazwę bohatera zapamiętywać

 

set_user_info

oraz 

get_user_info

 

 


  • +
  • -
  • 1

Piszę pluginy pod: AMX MOD X oraz SOURCE MOD!

Na zlecenie i bez zlecenia zresztą też!


#17 Blondyna

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 11
Początkujący

  • Postów:246
  • Imię:Rafał
  • Lokalizacja:RTC
Offline

Napisano 27.07.2013 10:47

Możesz też użyć setinfo jak chcesz tylko nazwę bohatera zapamiętywać

 

set_user_info

oraz 

get_user_info

A może napisać jak użyć tego .?


  • +
  • -
  • 0

#18 Blondyna

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 11
Początkujący

  • Postów:246
  • Imię:Rafał
  • Lokalizacja:RTC
Offline

Napisano 27.07.2013 13:27

Hubert ale ja bym wolał zapis nVault.


  • +
  • -
  • 0

#19 Blondyna

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 11
Początkujący

  • Postów:246
  • Imię:Rafał
  • Lokalizacja:RTC
Offline

Napisano 28.07.2013 18:42

Szukałem poradników i myślałem jak to zrobić, przypomniała mi się, że w diablo mod by stachu, został użyty zapis nazwy gildi,

Przerobiłem kod i wygląda on tak:

public ZapiszDane(id)
{
    new vaultkey[64],vaultdata[256];
    format(vaultkey,63,"%s-bohater", gszCharacterName[id]);
    nvault_set(g_vault,vaultkey,vaultdata);
}
 
public WczytajDane(id)
{
    new vaultkey[64],vaultdata[256];
    format(vaultkey,63,"%s-bohater", gszCharacterName[id]);
    nvault_get(g_vault,vaultkey,vaultdata,255);
 
    replace_all(vaultdata, 255, "#", " ");
}

A oryginalny:

kod

public zapis_gildia(id,mode)
{
    if(mode == 1){
        get_user_name(id,nazwa_zalozycial[id],32)
        ilosc_czlonkow[id]=1
        gildia_lvl[id]=1
    }    
    
    new vaultkey[64],vaultdata[256];
    format(vaultkey,63,"%s-GTB",nazwa_gildi[id]);
    format(vaultdata,255,"%i %i %i ^"%s^" %i %i %i %i %i %i %i %i",gildia_lvl[id],gildia_exp[id],ilosc_czlonkow[id],nazwa_zalozycial[id],g_dmg[id],g_def[id],g_hp[id],g_spid[id],g_pkt[id],g_kam[id],g_drop[id],g_woj[id])
    nvault_set(g_gildia,vaultkey,vaultdata);
}

public wczytaj_gildia(id)
{
    new vaultkey[64],vaultdata[256];
    format(vaultkey,63,"%s-GTB",nazwa_gildi[id]);
    nvault_get(g_gildia,vaultkey,vaultdata,255)
    
    new nz[32],gl[32],ge[32],ic[32],gd[32],gde[32],gh[32],gs[32],pkt[32],gh1[32],gs1[32],pkt1[32]
    
    parse(vaultdata, gl, 31, ge ,31, ic ,31, nz ,31, gd ,31, gde ,31, gh ,31, gs ,31, pkt ,31, gh1 ,31, gs1 ,31, pkt1 ,31)
    
    gildia_lvl[id] = str_to_num(gl);
    gildia_exp[id] = str_to_num(ge);
    ilosc_czlonkow[id] = str_to_num(ic);
    g_dmg[id] = str_to_num(gd);
    g_def[id] = str_to_num(gde);
    g_hp[id] = str_to_num(gh);
    g_spid[id] = str_to_num(gs);
    g_pkt[id] = str_to_num(pkt);
    g_kam[id] = str_to_num(gh1);
    g_drop[id] = str_to_num(gs1);
    g_woj[id] = str_to_num(pkt1);
    
    switch(g_spid[id]){
        case 20 :g_spid[id]=35
            case 40:g_spid[id]=70
            case 60:g_spid[id]=105
            case 80:g_spid[id]=140
        }
    copy(nazwa_zalozycial[id], 31, nz);
}

Lecz nie działa.

 


  • +
  • -
  • 0

#20 Blondyna

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 11
Początkujący

  • Postów:246
  • Imię:Rafał
  • Lokalizacja:RTC
Offline

Napisano 29.07.2013 18:53

ref


  • +
  • -
  • 0




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

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