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

[ROZWIĄZANE] Problem z zapisaemnVault

cod nowy

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

#1 DenY

    Życzliwy

  • Użytkownik

Reputacja: 3
Nowy

  • Postów:39
  • Imię:Daniel
  • Lokalizacja:Opolskie
Offline

Napisano 11.02.2023 03:55

Witam te dywizje https://amxx.pl/topi...izje-v2-codmod/posiadają zapis nvault. Tak twierdzi autor ( nie znam się nie wiem :P ).

Zostały one edytowane dla mnie na tym forum by mieć je jako info w hud w cod.

Jednak zapisu nie ma , czy jest ktoś wstanie mi  w  tym pomóc ?

Testowałem i oryginał i wersję z hud . Nie działa zapis w obydwóch .

Jeśli to możliwe proszę o pomoc .

Po zmianie mapy trzeba wybierać ponownie dywizję.

 

Wersja edytowane

 

/* Plugin generated by AMXX-Studio */

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

#define PLUGIN "Dywizje v2"
#define VERSION "1.0"
#define AUTHOR "NiczegoWinien"

new dywizja_vault;
new gSprite[8];
new bool:pokazac_sprite[33];
new nazwa_gracza[33][64];

new const nazwy_dywizji[][] = {"Brak",
    "Dywizja I", //1
    "Dywizja II", //2
    "Dywizja III", //3
    "Dywizja IV", //4
    "Dywizja V", //5
    "Dywizja VI" //6
    
};
new const lvl_dywizji[] = {0,
    5, //1
    30, //2
    65, //3
    100, //4
    145, //5
    200 //6
};
new const doswiadczenie_dywizji[] = {0,
    25, //1
    120, //2
    200, //3
    400, //4
    1000, //5
    2000 //6
};

new dywizja_gracza[33];

public plugin_init(){
    register_plugin(PLUGIN, VERSION, AUTHOR)
    
    RegisterHam(Ham_Spawn, "player", "Odrodzenie", 1);
    register_event("DeathMsg", "Death", "ade");
    
    register_clcmd("say /dywizja", "MenuDywizja");
    register_clcmd("say /ustawienia", "UstawieniaSprite");
}

// Boski Z Polski

public plugin_natives()
{
    register_native("dywizje_zwrot_dywizji", "dywizje_zwrot_dywizji", 1);
}

public dywizje_zwrot_dywizji(id, nazwa_dyw[], len)
{
    param_convert(2);
    copy(nazwa_dyw, len, nazwy_dywizji[dywizja_gracza[id]]);
}

// Boski Z Polski

public plugin_precache()
{    
    new file[256];
    
    get_configsdir( file, 255 )
    
    format(file,255,"%s/dywizje_rank.ini",file)
    
    new line=1,text[128],chars
    do{
        
        line = read_file(file,line,text,127,chars)
        trim(text);    
        gSprite[line] = precache_model(text);
    }
    while(line>0)
        
}
public client_connect(id){
    get_user_name(id, nazwa_gracza[id], 63);
    pokazac_sprite[id] = true;
    WczytajDane(id);
}
public client_disconnected(id)
    ZapiszDane(id);

public Odrodzenie(id)
{
    if(!is_user_alive(id) || !is_user_connected(id))
        return PLUGIN_CONTINUE;
    
    for(new i=1;i<sizeof nazwy_dywizji; i++){
        if(cod_get_user_level(id) >= lvl_dywizji[i]){
            dywizja_gracza[id] = i
        }
    }
    if(cod_get_user_level(id) < lvl_dywizji[1])
        dywizja_gracza[id] = 0;
    
    if(dywizja_gracza[id] > 0)    
        Pokaz_Rank(id);
    
    client_print(id,print_chat,"[Dywizja Komendy] - /dywizja  /ustawienia");
    
    return PLUGIN_CONTINUE;
}
public MenuDywizja(id)
{
    new menu=menu_create("Dywzija","Dywzija_handler");
    for(new i=1; i<sizeof nazwy_dywizji; i++)
        menu_additem(menu, nazwy_dywizji[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 Dywzija_handler(id, menu, item)
{
    if(item == MENU_EXIT)
    {
        menu_destroy(menu);
        return PLUGIN_CONTINUE;
    }
    
    item++;
    
    if(cod_get_user_level(id) < lvl_dywizji[item])
        client_print(id,print_chat,"%s dostepna od %i Poziomu",nazwy_dywizji[item],lvl_dywizji[item]);
    else
    {
        client_print(id,print_chat,"Dolaczyles do %s",nazwy_dywizji[item]);
        dywizja_gracza[id] = item;
    }
    
    return PLUGIN_CONTINUE;
}
public Death(){
    new id = read_data(2);
    new attacker = read_data(1);
    
    if(!is_user_alive(attacker) || !is_user_connected(attacker))
        return PLUGIN_CONTINUE;
    
    if(get_user_team(id) != get_user_team(attacker)){
        
        for(new i=1;i<33;i++){
            if(!is_user_alive(i))
                continue;
            
            if(attacker == i)
                continue;
            
            if(get_user_team(attacker) != get_user_team(i))
                continue;
            
            if(dywizja_gracza[attacker] == dywizja_gracza[i])
                cod_set_user_xp(i, cod_get_user_xp(i) + doswiadczenie_dywizji[dywizja_gracza[attacker]]);
        }
    }
    return PLUGIN_CONTINUE;
}
public UstawieniaSprite(id)
{
    new menu = menu_create("Ustawienia", "UstawieniaSprite_Handler");    
    menu_additem(menu, "Wlacz Ikone Dywizji");    
    menu_additem(menu, "wyłącz Ikone Dywizji");    
    
    menu_display(id, menu);
}
public UstawieniaSprite_Handler(id,menu,item)
{
    if(item == MENU_EXIT){
        menu_destroy(menu);
        return PLUGIN_CONTINUE;
    }
    
    switch(item){
        case 0:{
            if(dywizja_gracza[id] > 0){
                pokazac_sprite[id] = true;
                set_task(0.1,"Pokaz_Rank",id);
            }
        }
        case 1:pokazac_sprite[id] = false;
        }
    return PLUGIN_CONTINUE;
}
public Pokaz_Rank(id)
{
    if(pokazac_sprite[id])
        set_task(0.1,"Pokaz_Rank",id);
    
    message_begin(MSG_ALL, SVC_TEMPENTITY,_,id);
    write_byte(TE_PLAYERATTACHMENT);
    write_byte(id);
    write_coord(50);
    write_short(gSprite[dywizja_gracza[id]+1]);
    write_short(10);
    message_end();
    
}
public ZapiszDane(id)
{
    new vaultkey[64],vaultdata[256];
    format(vaultkey,63,"%s-dyw", nazwa_gracza[id]);
    format(vaultdata,255,"%i",dywizja_gracza[id]);
    nvault_set(dywizja_vault,vaultkey,vaultdata);
}

public WczytajDane(id)
{
    new vaultkey[64],vaultdata[256];
    format(vaultkey,63,"%s-dyw", nazwa_gracza[id]);
    format(vaultdata,255,"%i",dywizja_gracza[id]);
    nvault_get(dywizja_vault,vaultkey,vaultdata,255);
    
    replace_all(vaultdata, 255, "#", " ");
    
    new dywizja[32];
    
    parse(vaultdata, dywizja, 31);
    
    dywizja_gracza[id] = str_to_num(dywizja);
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1045\\ f0\\ fs16 \n\\ par }
*/

 

 

Dzięki za każdą pomoc, pozdrawiam i miłego weekendu wam życzę !
 


  • +
  • -
  • 0

#2 PANDA_2zl

    Guru

  • Power User

Reputacja: 173
Profesjonalista

  • Postów:716
  • Imię:Michał
  • Lokalizacja:Kraków
Offline

Napisano 11.02.2023 06:54

W modules.ini włączony nvault?
  • +
  • -
  • 1

#3 DenY

    Życzliwy

  • Autor tematu
  • Użytkownik

Reputacja: 3
Nowy

  • Postów:39
  • Imię:Daniel
  • Lokalizacja:Opolskie
Offline

Napisano 11.02.2023 07:20

W modules.ini włączony nvault?

 

Tak, mimo to nie działa. Zwrócę tylko uwagę na to że pozostałe moduły mam wyłączone


  • +
  • -
  • 0

#4 Boski Z Polski

    Profesjonalista

  • Użytkownik

Reputacja: 60
Pomocny

  • Postów:178
  • Steam:steam
  • Imię:Olgierd
  • Lokalizacja:Leszno
Offline

Napisano 11.02.2023 09:57

Do

plugin_init

dodaj

dywizja_vault = nvault_open("dywizcje");

żeby wyglądało:

public plugin_init(){
	register_plugin(PLUGIN, VERSION, AUTHOR)
	
	RegisterHam(Ham_Spawn, "player", "Odrodzenie", 1);
	register_event("DeathMsg", "Death", "ade");
	
	register_clcmd("say /dywizja", "MenuDywizja");
	register_clcmd("say /ustawienia", "UstawieniaSprite");
	
	dywizja_vault = nvault_open("dywizcje");
}

  • +
  • -
  • 1

#5 DenY

    Życzliwy

  • Autor tematu
  • Użytkownik

Reputacja: 3
Nowy

  • Postów:39
  • Imię:Daniel
  • Lokalizacja:Opolskie
Offline

Napisano 11.02.2023 10:40

A więc tak, tworzy plik do zapisu po tym co podałeś jednak dane cały czas się nie wczytują .
Wchodząc na serwer nie posiadam nadal dywizji , trzeba wybierać na nowo


  • +
  • -
  • 0

#6 PANDA_2zl

    Guru

  • Power User

Reputacja: 173
Profesjonalista

  • Postów:716
  • Imię:Michał
  • Lokalizacja:Kraków
Offline

Napisano 11.02.2023 11:41

Przerobiłem trochę plugin, wyrzucony zapis (bez sens skoro co spawn i tak ustawia dywizje), jeśli nie dobierze dywizji graczowi to sprawdza co 5sek czy może mu dobrać, opcje w menu wyłączone (samo się ustawia na najlepszą opcje), do menu /dywizja dodałem opcje on/off sprite gdy mamy dywizję>0

Nie wiem czy też takie coś przejdzie, próbowałem wywoływać sprawdzanie lvl tylko gdy cod_get_max_lvl>=5 ale plugin nie chciał się z tym uruchomić

edit. update załącznika, był wyłączony kod od sprite

Załączone pliki


  • +
  • -
  • 1

#7 DenY

    Życzliwy

  • Autor tematu
  • Użytkownik

Reputacja: 3
Nowy

  • Postów:39
  • Imię:Daniel
  • Lokalizacja:Opolskie
Offline

Napisano 11.02.2023 18:33

A więc tak , zapis działa menu również . Jedynie nie pokazuje mi w hud danej dywizji jak było wcześniej .
Dywizja przypisuje się samodzielnie co jest wielkim plusem i dzięki za to udogodnienie.

Jak znajdziesz czas to możesz mi jeszcze pomóc z tym hud

 


  • +
  • -
  • 0

#8 PANDA_2zl

    Guru

  • Power User

Reputacja: 173
Profesjonalista

  • Postów:716
  • Imię:Michał
  • Lokalizacja:Kraków
Offline

Napisano 12.02.2023 01:31

Poprawiona wersja
Załączony plik  test.sma   4,14 KB  37 Ilość pobrań
  test.amxx
Plugin do testów natywu komenda say /test
Załączony plik  test1.sma   642 bajtów  27 Ilość pobrań
  test1.amxx

edit. upewniam się że posprzątałem po sobie


  • +
  • -
  • 1

#9 DenY

    Życzliwy

  • Autor tematu
  • Użytkownik

Reputacja: 3
Nowy

  • Postów:39
  • Imię:Daniel
  • Lokalizacja:Opolskie
Offline

Napisano 12.02.2023 01:48

Sprawdzę jutro , pozdrawiam dam znać.
  • +
  • -
  • 0

#10 DenY

    Życzliwy

  • Autor tematu
  • Użytkownik

Reputacja: 3
Nowy

  • Postów:39
  • Imię:Daniel
  • Lokalizacja:Opolskie
Offline

Napisano 12.02.2023 12:23

działa sprawnie :) dziękuję i pozdrawiam lecą +

Do zamknięcia


  • +
  • -
  • 0

#11 dasiek

    Nie wiem, nie znam się, nie orientuję się, zarobiony jestem.

  • Junior Admin

Reputacja: 2 077
Godlike

  • Postów:5 706
  • Imię:Adaś
  • Lokalizacja:No teraz trochę dalej od WWy
Online

Napisano 13.02.2023 09:59

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Pomoc udzielona

Jeśli się z tym nie zgadzasz, report.png raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.


Z pozdrowieniami,
Zespół AMXX.PL
  • +
  • -
  • 0





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