True, false. Pluginas.

Šiame forume rašomi vartotojų klausimai/problemos su kuriomis jie susidūrė kuriant pluginus.
Post Reply
Froza
Jau po truputį tampa savu
Posts: 111
Joined: 2012 Jul 12 19:47

True, false. Pluginas.

Post by Froza »

Sveiki,

Turiu pluginą kuriame galima nusipirkti awp, bet noriu, kad ne visuose žemėlapiuose jį leistu nusipirkti. Problema tame, kad jeigu su šitu darau, tai pagal cs_, de_ žiuri, o ne pagal visa pavadinimą. Gal galit ką nors patarti? "False" surašyti visi žemėlapiai kuriuose noriu, kad neduotu, o "True" surašyti visi žemėlapių tipai kuriuose noriu, kad duotu. Tai "False" noriu, kad pagal visa pavadinimą tikrintu.

Code: Select all

      new mapname[32]      get_mapname(mapname, 31)       if (equali(mapname, "35hp_2", 3) || equali(mapname, "aim_ak_thc", 3) || equali(mapname, "awp_", 3) || equali(mapname, "cs_deagle5", 3) || equali(mapname, "aim_deaglemaze", 3) || equali(mapname, "aimtrain", 3) || equali(mapname, "aim_dgl", 3))      {    g_awp = false      }          if (equali(mapname, "cs_", 3) || equali(mapname, "de_", 3) || equali(mapname, "fy_", 3) || equali(mapname, "mini_", 3) || equali(mapname, "32_", 3) || equali(mapname, "3d_", 3) || equali(mapname, "aa_", 3) || equali(mapname, "aim_", 3) || equali(mapname, "$1000$", 3))      {    g_awp = true      }  }

Visas kodas.

Code: Select all

 new bool:g_awp    public plugin_init() {      register_clcmd("say /awp", "CmdAwp");      g_pCvar_Price = register_cvar("awp_price", "15000");           new mapname[32]      get_mapname(mapname, 31)       if (equali(mapname, "35hp_2", 3) || equali(mapname, "aim_ak_thc", 3) || equali(mapname, "awp_", 3) || equali(mapname, "cs_deagle5", 3) || equali(mapname, "aim_deaglemaze", 3) || equali(mapname, "aimtrain", 3) || equali(mapname, "aim_dgl", 3))      {    g_awp = false      }          if (equali(mapname, "cs_", 3) || equali(mapname, "de_", 3) || equali(mapname, "fy_", 3) || equali(mapname, "mini_", 3) || equali(mapname, "32_", 3) || equali(mapname, "3d_", 3) || equali(mapname, "aa_", 3) || equali(mapname, "aim_", 3) || equali(mapname, "$1000$", 3))      {    g_awp = true      }  }    public CmdAwp(id)    {    if (g_awp)    {        new iMoney = cs_get_user_money(id);        new iPrice = get_pcvar_num(g_pCvar_Price);            if( !is_user_alive(id) )        {        echo_colored( id, "!g[!tParduotuve!y]!g Jus turite buti gyvas!");        return PLUGIN_HANDLED;        }            if( iMoney < iPrice )        {        echo_colored( id, "!y[!gParduotuve!y]!g Jums reikia daugiau pinigu! ($%i)", iPrice);        return PLUGIN_HANDLED;        }            give_item(id, "weapon_awp");        give_item(id, "weapon_knife");        cs_set_user_bpammo(id, CSW_AWP, 30);             echo_colored( id, "!y[!gParduotuve!y]!g Jus nusipirkote !tAWP! $%i !", iPrice);        cs_set_user_money(id, iMoney - iPrice, true);            }    return PLUGIN_HANDLED;    }  
 Kad nekurti dar vienos temos turiu dar vieną prašymą. Galit pataisyti pluginą taip, kad surinkus reikiama sumą nužudymų duotu vipą tiek laiko kiek nurodyta cvaruose, nes dabar duoda tik vienam map... Skaičius kuris yra nurodytas turi būti dienos. Pluginą prisegu.
Attachments
pb_vip.sma
(5.16 KiB) Downloaded 668 times

Unkolix
Gana aktyvus vartotojas
Posts: 211
Joined: 2013 Mar 29 21:53
Skype: unkolix
Location: Trakai

Re: True, false. Pluginas.

Post by Unkolix »

Jeigu nori pagal visą pavadinimą, naudok equal, jeigu pagal dalį - equali.
Skype - Unkolix

Froza
Jau po truputį tampa savu
Posts: 111
Joined: 2012 Jul 12 19:47

Re: True, false. Pluginas.

Post by Froza »

Neveikia... Bandžiau pirma kartą šitaip:

Code: Select all

      new mapname[32]      get_mapname(mapname, 31)       if (equali(mapname, "35hp_", 3) || equali(mapname, "awp_", 3) || (equal(mapname, "aim_ak_thc", 3) || equal(mapname, "cs_deagle5", 3) || equal(mapname, "aim_deaglemaze", 3) || equal(mapname, "aimtrain", 3) || equal(mapname, "aim_dgl", 3))      {    g_awp = false      }       if (equali(mapname, "cs_", 3) || equali(mapname, "de_", 3) || equali(mapname, "fy_", 3) || equali(mapname, "mini_", 3) || equali(mapname, "32_", 3) || equali(mapname, "3d_", 3) || equali(mapname, "aa_", 3) || equali(mapname, "aim_", 3))      {    g_awp = true      }  }
Po to atskyriau equal ir equali, bet vis tiek duoda žemėlapiuose su pilnu pavadinimu....

Code: Select all

      new mapname[32]      get_mapname(mapname, 31)       if (equal(mapname, "aim_ak_thc", 3) || equal(mapname, "cs_deagle5", 3) || equal(mapname, "aim_deaglemaze", 3) || equal(mapname, "aimtrain", 3) || equal(mapname, "aim_dgl", 3))      {    g_awp = false      }       if (equali(mapname, "35hp_2", 3) || equali(mapname, "awp_", 3))      {    g_awp = false      }          if (equali(mapname, "cs_", 3) || equali(mapname, "de_", 3) || equali(mapname, "fy_", 3) || equali(mapname, "mini_", 3) || equali(mapname, "32_", 3) || equali(mapname, "3d_", 3) || equali(mapname, "aa_", 3) || equali(mapname, "aim_", 3))      {    g_awp = true      }  }

User avatar
MPD
Gana aktyvus vartotojas
Posts: 309
Joined: 2011 Jul 08 07:24
Location: Kaunas

Re: True, false. Pluginas.

Post by MPD »

Code: Select all

equal(mapname, "aim_deaglemaze", 3)
Tu nurodei, kad palygintų tau tik 3 simbolius

Code: Select all

equal ( const a[], const b[], [ c ] )//If c is specified, c characters are compared only.
Be to, kam tau tiek daug tikrinimų? galėtum tikrinti arba vieną, arba kitą, o ne abu kartu.

Code: Select all

g_awp = true; if (equal(mapname, "de_barsukas")) g_awp = false;
automatiškai su kitais mapais liktų true
Last edited by MPD on 2013 Jun 12 12:33, edited 3 times in total.
Image

Post Reply

Who is online

Users browsing this forum: No registered users and 4 guests