ďťż
 
 
  
 
 

Podobne

"matrix+rewolucje+matrix+the+revolutions+2003.php">Matrix: Rewolucje / Matrix: The Revolutions (2003) 1080p & 720p BluRay.x264 "matrix+reaktywacja+matrix+reloaded+2003+1080p.php">Matrix Reaktywacja / Matrix Reloaded (2003) 1080p & 720p BluRay.x264 "piraci+z+karaibow+pirates+of+the+caribbean.php">Piraci Z Karaibów / Pirates Of The Caribbean - Trylogia (2003-2007) HD-Ready 720p/Lektor PL "droga+bez+powrotu+wrong+turn+2003+hd+ready+720p.php">Droga bez powrotu / Wrong Turn (2003) HD-Ready 720p/Lektor PL "rychu+peja+solufka+styl+zycia+g+noja+2008.php">Rychu Peja SoLUfka - Styl Życia G'Noja (2008) "ostrzezenie+dla+agus+lekcewazacy+styl+pisania.php">Ostrzeżenie dla Agus: Lekceważący styl pisania pokemonowymi kolorami. "rocketdock+ikony+styl+windows+sie+wylacza+etc.php">RocketDock - ikony, styl windows sie wylacza etc "styl+gotycki+i+romanski+zbior+prezentacji.php">Styl gotycki i romański - zbiór prezentacji PowerPoint "sprzedam+styl+do+phpbb+by+przemo+tanio.php">Sprzedam styl do phpbb by przemo! Tanio! Zapraszam! "microsoft+office+2000+2003+2007+2010+i+inne.php">Microsoft Office 2000, 2003,2007,2010 i inne
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • adbuxwork.keep.pl
  •  
        
     

     

     

     

    Prośba o edycję pluginu



    volg - 03.03.2010 20:25
    Prośba o edycję pluginu
      Witam.
    Prosiłem już kiedyś o edycje tego pluginu na zapisywanie ap na nick teraz proszę o edycję żeby ten plugin zapisywał na IP.

    Kod: // ZP Bank - allows saving of ammo packs

    /*    cvars

    zp_bank 1                //<0/1> set whether plugin enabled or not

    zp_bank_limit 1000000    //maximium storage capacity of each person's account

    zp_bank_blockstart 1    //<0/1> set whether bank blocks zombie plague from giving the initial 5 ammo packs on start if user has an account

    */

    #include

    #include

    #include

    #include

    #include

    static const version[] = "0.3";

    static const plugin[] = "ZP Bank";

    enum pcvar

    {

        enable = 0,

        cap,

        start

    }

    new pcvars[pcvar];

    new bankstorage[33];

    new gvault, thinkobj;

    public plugin_init()

    {

        register_plugin(plugin, version, "Random1");

       

        gvault = nvault_open("Zombie Bank");

       

        pcvars[enable] =            register_cvar("zp_bank", "1");

        pcvars[cap] =                register_cvar("zp_bank_limit", "1000000");

        pcvars[start] =                register_cvar("zp_bank_blockstart", "1");

       

        if ( get_pcvar_num(pcvars[cap]) > 2147483646 )

        {

            set_pcvar_num(pcvars[cap], 2147483646);

            server_print("[%s] Due to a 32 bit restriction in perl zp_ammo_limit reset based on restriction", plugin);

        }

       

        register_clcmd("say", "handle_say");

        register_clcmd("say_team", "handle_say");

       

        thinkobj = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target"));

        if ( pev_valid(thinkobj) )

        {

            set_pev(thinkobj, pev_classname, "advertisement_loop");

            set_pev(thinkobj, pev_nextthink, get_gametime() + 240.0);

            register_forward(FM_Think, "fourmin_think");

        }

    }

    public fourmin_think(ent)

    {

        if ( ent != thinkobj ) return FMRES_IGNORED;

       

        if ( !get_pcvar_num(pcvars[enable]) ) return FMRES_IGNORED;

       

        client_print(0, print_chat, "[%s]Enabled. %d is the storage limit", plugin, get_pcvar_num(pcvars[cap]));

        client_print(0, print_chat, "[%s] Currently Ammo packs are savable by typing ^"deposit ^".", plugin);

        client_print(0, print_chat, "[%s] To retrieve your ammo packs type ^"withdraw ^"", plugin);

       

        set_pev(ent, pev_nextthink, get_gametime() + 240.0);

       

        return FMRES_HANDLED;   

    }

    public plugin_end()

        nvault_close(gvault);

       

    public handle_say(id)

    {

        if ( !get_pcvar_num(pcvars[enable]) ) return PLUGIN_CONTINUE;

       

        new text[70], arg1[32], arg2[32], arg3[6];

        read_args(text, sizeof(text)-1);

        remove_quotes(text);

        arg1[0] = '^0';

        arg2[0] = '^0';

        arg3[0] = '^0';

        parse(text, arg1, sizeof(arg1)-1, arg2, sizeof(arg2)-1, arg3, sizeof(arg3)-1);

        //dbg_log("cmd_say() arg1:#%s# arg2:#%s# arg3:#%s#", arg1, arg2, arg3);

        // if the chat line has more than 2 words, we're not interested at all

        if (arg3[0] == 0)

        {

            //strip forward slash if present

            if ( equali(arg1, "/", 1) ) format(arg1, 31, arg1[1]);

           

            if ( equali(arg1, "deposit", 7) || equali(arg1, "send", 4) || equali(arg1, "store", 5) )

            {

                if ( isdigit(arg2[0]) || (arg2[0] == '-' && isdigit(arg2[1])) )

                {

                    new value = str_to_num(arg2);

                    store_cash(id, value);

                    return PLUGIN_HANDLED;

                }

                else if ( equali(arg2, "all") )

                {

                    store_cash(id, -1);

                    return PLUGIN_HANDLED;

                }               

                else if ( arg2[0] == 0 )

                    client_print(id, print_chat, "[%s] to deposit ammo packs in bank say deposit ", plugin);

               

                return PLUGIN_CONTINUE;

            }

            else if ( equali(arg1, "withdraw", 8) || equali(arg1, "take", 4) || equali(arg1, "retrieve", 8) )

            {

                if ( isdigit(arg2[0]) || (arg2[0] == '-' && isdigit(arg2[1])) )

                {

                    new value = str_to_num(arg2);

                    take_cash(id, value);

                    return PLUGIN_HANDLED;

                }

                else if ( equali(arg2, "all") )

                {

                    take_cash(id, -1);

                    return PLUGIN_HANDLED;

                }

                else if ( arg2[0] == 0 )

                    client_print(id, print_chat, "[%s] to withdraw ammo packs from bank say withdraw ", plugin);

               

                return PLUGIN_CONTINUE;

            }

            else if ( equali(arg1, "mybank", 6) || equali(arg1, "account", 7) || equali(arg1, "bank", 4) )

            {

                if ( arg2[0] == 0 ) {

                    client_print(id, print_chat, "[%s] Currently your account has %d ammo packs in it",plugin, bankstorage[id]);

                    return PLUGIN_HANDLED;

                }

                else {

                    new player = cmd_target(id,arg2,2);

                    if ( !player ) return PLUGIN_CONTINUE;

                    client_print(id, print_chat, "[%s] %s has %d ammo packs", plugin, arg2, bankstorage[player]);

                    return PLUGIN_HANDLED;

                }

            }

        }

        else if ( equali( arg1, "donate", 6 ) )

        {

            give_cmd(id, arg2, arg3);

            return PLUGIN_HANDLED;

        }

        return PLUGIN_CONTINUE;

    }

    give_cmd(id, target[], amnt[])

    {

        new temp = str_to_num(amnt);

        if ( temp < 0 )

        {

            client_print(id, print_chat, "[%s] The ^"amount^" argument passed is negative, either overflowed or your trying to cheat", plugin );

            return;

        }

        new player = cmd_target(id, target, 8);

        if ( !player ) return;

       

        new temp2 = bankstorage[id] + zp_get_user_ammo_packs(id);

        if ( temp > temp2 )

        {

            client_print(id, print_chat, "[%s] You don't have enough ammo packs to donate, you only have %d out of %d specified",plugin,

                temp2, temp);

           

            return;

        }

        static playername[32], givename[32];

        get_user_name(player, playername, 31);

        get_user_name(id, givename, 31);

        client_print(id, print_chat, "[%s] You just donated %d ammo packs to %s", plugin, temp, playername);

        client_print(player, print_chat, "[%s] %s just donated %d ammo packs to you", plugin, givename, temp);

        bankstorage[player] += temp;

        if ( bankstorage[id] > temp ) bankstorage[id] -= temp;

        else

        {

            temp -= bankstorage[id];

            bankstorage[id] = 0;

            zp_set_user_ammo_packs(id, zp_get_user_ammo_packs(id) - temp);

        }

    }

    //public zp_user_disconnect_pre(id)

    public client_disconnect(id)

        if ( bankstorage[id] > 0 ) save_data(id);

    //public zp_user_connect_post(id)

    public client_connect(id)

    {   

        bankstorage[id] = 0;    //clear residual before loading

        retrieve_data(id);

    }

    store_cash(id, amnt)

    {

        if ( !get_pcvar_num(pcvars[enable]) ) return;

       

        if ( amnt == -1 )

        {

            bankstorage[id] += zp_get_user_ammo_packs(id);

            zp_set_user_ammo_packs(id, 0);

            checkmax(id);

        }

        else if ( amnt > 0 )

        {       

            new temp = zp_get_user_ammo_packs(id);

            new limit = get_pcvar_num(pcvars[cap]);

            if ( temp >= amnt )

            {           

                if ( bankstorage[id] + amnt <= limit )

                {

                    bankstorage[id] += amnt

                    zp_set_user_ammo_packs(id, temp - amnt);

                }

                else

                {

                    new overflow = bankstorage[id] + amnt - limit;

                    bankstorage[id] = limit;

                    zp_set_user_ammo_packs(id, temp - amnt + overflow);

                    client_print(id, print_chat, "[%s] Your bank account has reached it's maximium capacity of %d", plugin, limit);

                    client_print(id, print_chat, "[%s] Only %d of the %d you specified to deposit has been deposited", plugin,

                    amnt - overflow, amnt);

                }

            }

            else

                client_print(id, print_chat, "[%s] Amount specified(%d) is greater than current ammo pack count(%d)", plugin,

                amnt, temp);           

        }

        else

            take_cash(id, -amnt);

    }

    take_cash(id, amnt)

    {

        if ( !get_pcvar_num(pcvars[enable]) ) return;

       

        if ( amnt == 0 ) return;    //otherwise a non terminal loop is possible

       

        if ( amnt == -1 )

        {

            zp_set_user_ammo_packs(id, zp_get_user_ammo_packs(id) + bankstorage[id])

            bankstorage[id] = 0;

        }

        else if ( amnt > 0 )

        {

            if ( bankstorage[id] >= amnt )

            {

                zp_set_user_ammo_packs(id, zp_get_user_ammo_packs(id) + amnt);

                bankstorage[id] -= amnt;

            }

            else {

                client_print(id, print_chat, "[%s] Amount specified(%d) is greater than whats in bank(%d)", plugin,

                amnt, bankstorage[id]);       

            }   

        }

        else store_cash(id, -amnt);

    }

    save_data(id)

    {

        new AuthID[35];

        get_user_authid(id,AuthID,34);

        new vaultkey[40],vaultdata[13];

       

        formatex( vaultkey, 39, "__%s__", AuthID);

        formatex( vaultdata, 12, "%i", bankstorage[id] );

        nvault_set(gvault, vaultkey, vaultdata);

    }

    retrieve_data(id)

    {

        new AuthID[35];

        get_user_authid(id,AuthID,34);

        new vaultkey[40], vaultdata[13];

       

        format(vaultkey, 39, "__%s__", AuthID);

        nvault_get(gvault, vaultkey, vaultdata, 12);

           

        bankstorage[id] = str_to_num(vaultdata);

        checkmax(id);   

       

        // If they have an account don't allow zombie mod to give them 5 ammo packs at beggining

        if ( get_pcvar_num(pcvars[start]) && bankstorage[id] > 0 )

            zp_set_user_ammo_packs(id, 0);

    }

    checkmax(id)

    {

        if ( bankstorage[id] > get_pcvar_num(pcvars[cap]) )

            bankstorage[id] = get_pcvar_num(pcvars[cap]);

           

        else if ( bankstorage[id] < 0 )

            bankstorage[id] = 0;

    }
    Za pomoc stawiam duże piwo.
    Pozdrawiam




    SeBu$ - 05.03.2010 01:07
    1 załącznik(i) W załączniku wersja która steamowcom zapisuje na steamid, reszcie na nick.



    volg - 06.03.2010 11:42
    Ok, wszystko fajnie, tylko że nie da się skomplikować na webcomplicer ;/, mógłby mi to ktoś skomplikować do amxx?



    Kaguuya! - 06.03.2010 11:53
    1 załącznik(i) Skompilowany plugin w załączniku.




    volg - 08.03.2010 18:25
    Jest jeszcze 1 problem, a mianowicie:
    Gdy na mapie wykorzysta się AP z banku i nie wpisze deposite kwota/all to na następnej mapie stracone AP znowu są w banku :/.
    Może ktoś jeszcze mi w tym pomóc :D?



    SeBu$ - 12.03.2010 15:21
    1 załącznik(i) Sprawdź.
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • qup.pev.pl

  •  

     


     

     
    Copyright 2003. KARRAMBA