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

Problem z przerobienie pluginu system monet

cod nowy

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

#1 janofer

    Zaawansowany

  • Użytkownik

Reputacja: 7
Nowy

  • Postów:78
  • Lokalizacja:Trojmiasto
Offline

Napisano 24.07.2012 08:12

Chciałęm przerobić sobie system monet żeby jak wpisze /monety to wyświetla ilość monet ale chyba coś zepsułem

/* Script generated by Pawn Studio */

/*CHANGELOG:
* 1.0.0 - pierwsza dzialajaca wersja
* 1.0.1 - usuniecie bugu: kopiowanie monet z jednego nicku na drugi
* 1.0.2 - dodanie: natywow
* 1.0.3 - dodanie: typu zapisu
* 1.0.4 - usuniecie bugu: dostawanie monet za wpisanie kill (Podziekowania dla Szybcioor za wykrycie i dla Goliath za zalatanie <img src='https://amxx.pl/public/style_emoticons/<#EMO_DIR#>/cwaniak.gif' class='bbc_emoticon' alt=':]' />)
* 1.0.5 - dodanie: nowe eventy za ktore zdobywa sie monety
* 1.0.6 - dodanie: cvaru - wlacznie/wylaczenie monet za TeamKill
* 1.0.7 - usuniecie bugu: brak monet za zabicie
* 1.0.8 - usuniecie bugu: brak monet za uratowanie/zabicie hosta*/

#include <amxmodx>
#include <amxmisc>
#include <nvault>

#define PLUGIN    "System Monet"
#define AUTHOR    "kisiel96"
#define VERSION    "1.0.8"

#define ZADANIE_POKAZ_MONETY 666

#define VIP ADMIN_LEVEL_G

new nazwa_gracza[32][64],
identyfikator[32][64];

new monety[32];

new SyncHudObj;

new cvar_coins_kill,
cvar_coins_kill_hs,
cvar_coins_kill_vip,
cvar_coins_kill_hs_vip,

cvar_coins_defused,
cvar_coins_defused_vip,
cvar_coins_planted,
cvar_coins_planted_vip,

cvar_coins_rescue_hostage,
cvar_coins_rescue_hostage_vip,
cvar_coins_kill_hostage,
cvar_coins_kill_hostage_vip,

cvar_coins_ff,

cvar_typ_zapisu;

new coins_kill,
coins_kill_hs,
coins_kill_vip,
coins_kill_hs_vip,

coins_defused,
coins_defused_vip,
coins_planted,
coins_planted_vip,

coins_rescue_hostage,
coins_rescue_hostage_vip,
coins_kill_hostage,
coins_kill_hostage_vip,

coins_ff,

typ_zapisu;

new vault;

public plugin_init()
{    
    register_plugin(PLUGIN, VERSION, AUTHOR);
    
    register_event("DeathMsg", "DeathMsg", "a");
    register_event("ResetHUD", "ResetHUD", "abe");
    register_logevent("HostageRescued", 3, "1=triggered", "2=Rescued_A_Hostage");
    register_logevent("HostageKilled", 3, "1=triggered", "2=Killed_A_Hostage");
    register_clcmd("say /monety", "Monety");
    
    SyncHudObj = CreateHudSyncObj();
    
    cvar_coins_ff                    =     register_cvar("cod_coins_friendlyfire", "0");
    
    cvar_coins_kill                    =     register_cvar("cod_coins_kill", "1");
    cvar_coins_kill_vip             =     register_cvar("cod_coins_kill_vip", "3");
    cvar_coins_kill_hs                 =     register_cvar("cod_coins_kill_hs", "2");
    cvar_coins_kill_hs_vip             =     register_cvar("cod_coins_kill_hs_vip", "6");
    
    cvar_coins_planted                =     register_cvar("cod_coins_planted", "1");
    cvar_coins_planted_vip            =     register_cvar("cod_coins_planted_vip", "3");
    cvar_coins_defused                 =     register_cvar("cod_coins_defused", "1");
    cvar_coins_defused_vip             =     register_cvar("cod_coins_defused_vip", "3");
    
    cvar_coins_rescue_hostage        =     register_cvar("cod_coins_rescue_hostage", "1");
    cvar_coins_rescue_hostage_vip    =     register_cvar("cod_coins_rescue_hostage_vip", "3");
    cvar_coins_kill_hostage            =     register_cvar("cod_coins_kill_hostage", "3");
    cvar_coins_kill_hostage_vip     =     register_cvar("cod_coins_kill_hostage_vip", "1");
    
    cvar_typ_zapisu                 =     get_cvar_pointer("cod_savetype");
    
    vault=nvault_open("monety");
    if(vault == INVALID_HANDLE)
        set_fail_state("Nie mozna otworzyc pliku");
}

public plugin_natives()
{
    register_native("cod_get_user_coins", "PobierzMonety", 1);
    register_native("cod_set_user_coins", "UstawMonety", 1);
}    

public client_authorized(id)
{
    UsunMonety(id);
    
    get_user_name(id, nazwa_gracza[id], 63);
    
    typ_zapisu = get_pcvar_num(cvar_typ_zapisu);
    
    switch(typ_zapisu)
    {
        case 1: copy(identyfikator[id], 63, nazwa_gracza[id]);
        case 2: get_user_authid(id, identyfikator[id], 63);
        case 3: get_user_ip(id, identyfikator[id], 63);
    }
    
    Wczytaj(id);
}

public client_connect(id)
    Wczytaj(id);

public client_disconnect(id)
{
    Zapisz(id);
    UsunMonety(id)
}

public plugin_end()
    nvault_close(vault);

/////RESET MONET/////

public UsunMonety(id)
    monety[id] = 0;

/////ZLICZNIE MONET/////

public DeathMsg()
{
    new kid = read_data(1);
    new vid = read_data(2);
    new hs = read_data(3);
    
    if(kid == vid)
        return;
    
    coins_ff = get_pcvar_num(cvar_coins_ff)
    
    if(coins_ff == 0 && get_user_team(kid) == get_user_team(vid))
        return;
    
    coins_kill = get_pcvar_num(cvar_coins_kill);
    coins_kill_vip     = get_pcvar_num(cvar_coins_kill_vip);
    coins_kill_hs = get_pcvar_num(cvar_coins_kill_hs);
    coins_kill_hs_vip = get_pcvar_num(cvar_coins_kill_hs_vip);
    
    if(get_user_flags(kid) & VIP)
    {
        if(hs == 1)
            monety[kid] += coins_kill_hs_vip;
        else
            monety[kid] += coins_kill_vip;
    }
    else
    {
        if(hs == 1)
            monety[kid] += coins_kill_hs;
        else
            monety[kid] += coins_kill;
    }
}

public bomb_planted(planter)
{
    coins_planted = get_pcvar_num(cvar_coins_planted);
    coins_planted_vip = get_pcvar_num(cvar_coins_planted_vip);
    
    if(get_user_flags(planter) & VIP)
        monety[planter] += coins_planted_vip;
    else
        monety[planter] += coins_planted;
}

public bomb_defused(defuser)
{
    coins_defused = get_pcvar_num(cvar_coins_defused);
    coins_defused_vip = get_pcvar_num(cvar_coins_defused_vip);    
    
    if(get_user_flags(defuser) & VIP)
        monety[defuser] += coins_defused_vip;
    else
        monety[defuser] += coins_defused;
}

public HostageRescued(id)
{
    new loguser[80], name[32];
    read_logargv(0, loguser, 79);
    parse_loguser(loguser, name, 31);
    
    new id = get_user_index(name);
    
    coins_rescue_hostage = get_pcvar_num(cvar_coins_rescue_hostage);
    coins_rescue_hostage_vip = get_pcvar_num(cvar_coins_rescue_hostage_vip);
    
    if(get_user_flags(id) & VIP)
        monety[id] += coins_rescue_hostage_vip;
    else
        monety[id] += coins_rescue_hostage;
    
    return PLUGIN_CONTINUE
}

public HostageKilled(id)
{
    new loguser[80], name[32];
    read_logargv(0, loguser, 79);
    parse_loguser(loguser, name, 31);
    
    new id = get_user_index(name);
        
    coins_kill_hostage = get_pcvar_num(cvar_coins_kill_hostage);
    coins_kill_hostage_vip = get_pcvar_num(cvar_coins_kill_hostage_vip);
    
    if(get_user_flags(id) & VIP)
        monety[id] -= coins_kill_hostage_vip;
    else
        monety[id] -= coins_kill_hostage;
}

/////HUD/////


public PokazMonety(id)
{
    id -= ZADANIE_POKAZ_MONETY;
    
    if(!is_user_alive(id))
    {
        remove_task(id+ZADANIE_POKAZ_MONETY);
        return;
    }

    client_print(id, print_chat, "[Monety : %i]);
}

public ResetHUD(id)
{
    if(!task_exists(id+ZADANIE_POKAZ_MONETY))
        set_task(0.1, "PokazMonety", id+ZADANIE_POKAZ_MONETY, _, _, "b");
}
/////NATYWY/////

public UstawMonety(id, wartosc)
{
    monety[id] = wartosc
}

public PobierzMonety(id)
    return monety[id];

/////NVAULT/////

public Zapisz(id)
{
    new vaultkey[64], vaultdata[256];
    format(vaultkey, 63, "%s-monety", identyfikator[id]);
    format(vaultdata, 255, "%d#", monety[id]);
    nvault_set(vault, vaultkey, vaultdata);
    
    return PLUGIN_CONTINUE
}

public Wczytaj(id)
{
    new vaultkey[64], vaultdata[256];
    format(vaultkey, 63, "%s-monety", identyfikator[id]);
    format(vaultdata, 255, "%d#", monety[id]);
    nvault_get(vault, vaultkey, vaultdata,255);
    
    replace_all(vaultdata, 255, "#", " ");
    
    new monetytemp[33];
    parse(vaultdata, monetytemp, 32);
    
    monety[id] = str_to_num(monetytemp);
    
    return PLUGIN_CONTINUE
} 

  • +
  • -
  • 0

#2 SoPelQ

    Banned

  • Zbanowany

Reputacja: 7
Nowy

  • Postów:121
  • Lokalizacja:Utajnione
Offline

Napisano 25.07.2012 13:35

Musisz dodać na samym dole:

Public Monety(id)
{
...
}
Zamiast "..." wpisz tresc ktora wyprowadzi ci dane na temat monet.

#3 Blood Angel

    Wszechwiedzący

  • Zbanowany

Reputacja: 130
Zaawansowany

  • Postów:540
  • Steam:steam
  • Lokalizacja:Dom
Offline

Napisano 25.07.2012 13:58


register_clcmd("say /monety", "PokazMonety");

Nic więcej robić nie musi.

Znany jako oeN.


#4 janofer

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 7
Nowy

  • Postów:78
  • Lokalizacja:Trojmiasto
Offline

Napisano 26.07.2012 11:42

Musisz dodać na samym dole:

Public Monety(id)
{
...
}
Zamiast "..." wpisz tresc ktora wyprowadzi ci dane na temat monet.


A możesz powiedzieć dokładnie co??
Bo ja się nie znam za bardzo na tym ;/
  • +
  • -
  • 0

#5 Klakier

    Volenti non fit iniuria

  • Power User

Reputacja: 391
Wszechpomocny

  • Postów:878
  • GG:
  • Imię:Sebastian
  • Lokalizacja:Mogilno
Offline

Napisano 26.07.2012 13:13

Usun twoj public pokazmonety(id).

do plugin_init daj
register_clcmd("say /monety", "PokazMonety"); 

a usun
 register_clcmd("say /monety", "Monety"); 


na końcu sma daj

public PokazMonety(id)
client_print(id, print_chat, "[Monety : %d], monety[id]);


Chyba że chcesz aby pokazywało w hudzie to napisz to ci zrobię.

Użytkownik Klakier edytował ten post 26.07.2012 13:16

  • +
  • -
  • 0

Sell - System Klanów (wojny, top15 etc)

 

Kontakt GG: 7285018


#6 janofer

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 7
Nowy

  • Postów:78
  • Lokalizacja:Trojmiasto
Offline

Napisano 26.07.2012 13:29

Usun twoj public pokazmonety(id).

do plugin_init daj

register_clcmd("say /monety", "PokazMonety"); 

a usun
 register_clcmd("say /monety", "Monety"); 


na końcu sma daj

public PokazMonety(id)
client_print(id, print_chat, "[Monety : %d], monety[id]);


Chyba że chcesz aby pokazywało w hudzie to napisz to ci zrobię.


Właśnie nie chciałem żeby było w hud bo za dużo tego jest już :)

@Edit
Problem z komplikacją

Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright © 1997-2006 ITB CompuPhase, AMX Mod X Team

systemmonet.sma(284) : error 037: invalid string (possibly non-terminated string)

1 Error.
Could not locate output file systemmonet.amxx (compile failed).

Użytkownik janofer edytował ten post 26.07.2012 13:36

  • +
  • -
  • 0

#7 Klakier

    Volenti non fit iniuria

  • Power User

Reputacja: 391
Wszechpomocny

  • Postów:878
  • GG:
  • Imię:Sebastian
  • Lokalizacja:Mogilno
Offline

Napisano 26.07.2012 13:30

Właśnie zrobiłem w moim poprzednim poście, że w czacie ci wyswietli ile masz monet :D

Użytkownik Klakier edytował ten post 26.07.2012 13:30

  • +
  • -
  • 0

Sell - System Klanów (wojny, top15 etc)

 

Kontakt GG: 7285018


#8 janofer

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 7
Nowy

  • Postów:78
  • Lokalizacja:Trojmiasto
Offline

Napisano 27.07.2012 10:00

Właśnie zrobiłem w moim poprzednim poście, że w czacie ci wyswietli ile masz monet :D

Właśnie po tym mamm problem z komplikacją, a robię tak jak napisane jest
  • +
  • -
  • 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