←  Problemy z pluginami

AMXX.pl: Support AMX Mod X i SourceMod

»

plugin na bronie 2 problemy

  • +
  • -
pomen's Photo pomen 18.07.2012

Cześć skrypciarze, otóż chciałbym aby po wpisaniu np /m4 (kiedy juz mam m4) nie odejmowały mi się pieniądze, oraz jezeli to możliwe o zablokowanie kupowania kilku broni na raz, pozdrawiam!


/* Plugin by Prox */
#include <amxmodx>
#include <cstrike>
#include <fun>
new cenaak
new cenam4
new cenaawp
new cenahe

public plugin_init()
{
register_plugin("Bronie", "1.666", "Proximus PL")
register_clcmd("say /ak", "kalach")
register_clcmd("say /awp", "awka")
register_clcmd("say /m4", "emczworka")
cenaak = register_cvar("amx_cena_ak","2500")
cenam4 = register_cvar("amx_cena_m4","2500")
cenaawp = register_cvar("amx_cena_awp","4000")
set_task(70.0, "reklama", _, _, _, "b") //powtarzaj co 10sek
set_task(180.0, "admin", _, _, _, "b") //powtarzaj co 10sek
//get_mapname - zwraca aktualnie graną mapę
}
public reklama()
{
client_print(0, print_chat, "Aby kupic m4 lub ak wpisz /m4 lub /ak - koszt 2500$. Mozesz tez kupic awp wpisujac /awp - koszt 4000$.",get_pcvar_num(cenaak), get_pcvar_num(cenam4), get_pcvar_num(cenaawp) );
client_print(0, print_chat, "[SuperHe] Mozesz kupic SuperHe za jedyne %i$ , say /buyhe.",get_pcvar_num(cenahe), get_pcvar_num(cenam4), get_pcvar_num(cenaawp) );

public kalach(client)
{
if(is_user_alive(client) && cs_get_user_money(client)>(get_pcvar_num(cenaak)) && cs_get_user_buyzone(client) && !cs_get_user_shield(client))
{
give_item(client, "weapon_ak47");
cs_set_user_money(client , cs_get_user_money(client)-get_pcvar_num(cenaak), 1);//cena AK 2500$
client_print(client, print_chat, "[Cs 1.6 Szczecin] Wlasnie kupiles AK za %i$",get_pcvar_num(cenaak));

}
else

{
client_print(client, print_chat, "[Cs 1.6 Szczecin] Nie znajdujesz sie w strefie kupywania badz masz za malo kasy! Potrzeba Ci %i$", get_pcvar_num(cenaak));

}
return PLUGIN_HANDLED
}
public emczworka(client)
{
if(is_user_alive(client) && cs_get_user_money(client)>(get_pcvar_num(cenam4)) && cs_get_user_buyzone(client) && !cs_get_user_shield(client))
{
give_item(client, "weapon_m4a1");
cs_set_user_money(client , cs_get_user_money(client)-(get_pcvar_num(cenam4)), 1);//cena m4 2500$
client_print(client, print_chat, "[Cs 1.6 Szczecin] Wlasnie kupiles M4 za %i$", get_pcvar_num(cenam4));

}
else
{
client_print(client, print_chat, "[Cs 1.6 Szczecin] Nie znajdujesz sie w strefie kupywania badz masz za malo kasy! Potrzeba Ci %i$", get_pcvar_num(cenam4));

}
return PLUGIN_HANDLED
}
public awka(client)
{
if(is_user_alive(client) && cs_get_user_money(client)>(get_pcvar_num(cenaawp)) && cs_get_user_buyzone(client) && !cs_get_user_shield(client))
{
give_item(client, "weapon_awp");
cs_set_user_money(client , cs_get_user_money(client)-(get_pcvar_num(cenaawp)), 1);//cena AWP 4000$
client_print(client, print_chat, "[Plugin by Proximus] Wlasnie kupiles AWP za %i$",get_pcvar_num(cenaawp));

}
else
{
client_print(client, print_chat, "[Plugin by Proximus] Nie znajdujesz sie w strefie kupywania badz masz za malo kasy! Potrzeba Ci %i$", get_pcvar_num(cenaawp));

}
return PLUGIN_HANDLED
}
public admin(id)
{
new szData[10];
get_time( "%x %X", szData, 9 );
console_print(id, "Aktualnie %s", szData );
}

(18.07.2012 19:52):
Kod w postach(np. źródło pluginu) umieszczaj w odpowiednich tagach(code/php/spoiler itp) a powyżej 200 linijek tylko w załączniku.

Edited by benio101, 18.07.2012 19:52.
Zmiana znacznika CODE na SMA
Quote

  • +
  • -
pomen's Photo pomen 18.07.2012

// Description: This plugin is mainly for terrorists to be able to buy an m4. Cts can buy one as
// well but its the same price as an m4 on the buy menu.
// Commands: say /m4 or /m4ammo
// Cvars: "m4_price" "ak_price"

#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>

#define PLUGIN "Buy_m4"
#define VERSION "1.1"
#define AUTHOR "{PHILMAGROIN}"

new m4_cost, m4_ammo;

public plugin_init() {
    register_plugin(PLUGIN, VERSION, AUTHOR)
    
    register_clcmd("say /m4", "buym4")
    register_clcmd("say /ak", "buym4ammo")
    m4_cost = register_cvar("m4_price", "3100")
    m4_ammo = register_cvar("m4_aprice", "2500")
}

public buym4(id)
{
    if(!is_user_alive(id))
	    return PLUGIN_HANDLED
	    
    new money = cs_get_user_money(id);
    new cost = get_pcvar_num(m4_cost)
	    
    if(money < cost)
    {
	    client_print(id, print_chat,"[INFO] Masz za malo kasy na M4")
    }
    else {
	    cs_set_user_money(id, money - cost);
			 give_item(id,"weapon_m4a1");
    }
    return PLUGIN_HANDLED
}

public buym4ammo(id)
{
    if(!is_user_alive(id))
	    return PLUGIN_HANDLED
	    
    new money = cs_get_user_money(id);
    new cost = get_pcvar_num(m4_ammo)
	    
    if(money < cost)
    {
	    client_print(id, print_chat,"[INFO] Masz za malo kasy na AK47")
    }
    else {
	    cs_set_user_money(id, money - cost);
	    give_item(id, "weapon_ak47");
	    give_item(id, "ammo_762nato");
	    give_item(id, "ammo_762nato");
	    give_item(id, "ammo_762nato");
    }
    return PLUGIN_HANDLED
}


Już znalazłem bardziej zoptymalizowany kod, ale problem jest nadal, zabiera kase jak kupie 2 razy to samo, dziękuję panie moderatorze, zapamiętam to.
Quote