←  Szukam pluginu

AMXX.pl: Support AMX Mod X i SourceMod

»

Jak wywołać komendę /free w tym pluginie ?

  • +
  • -
luki2407 - zdjęcie luki2407 21.01.2014

#include 
#include
#include
#include

#pragma semicolon 1

#define MAX 32

new name[ MAX + 1 ][ MAX ],
plik_vault,
vaultkey[ 64 ],
vaultdata[ 256 ],
gPcvarPoziom;

new bool:wziol_odznake[ MAX + 1 ],
bool:pokaz_menu[ MAX + 1 ];

public plugin_init( ) {
register_plugin( "Darmowa Odznaka BF2", "1.0", "MisieQ" );

plik_vault = nvault_open( "DarmowaOdznaka" );

RegisterHam( Ham_Spawn, "player", "fwSpawn" );

gPcvarPoziom = register_cvar( "bf2_do_poziom", "3" );
}

public plugin_end( ) nvault_close( plik_vault );

public client_putinserver( id ) {
wziol_odznake[ id ] = false;
pokaz_menu[ id ] = false;
name[ id ] = "";

if( is_user_connected( id ) ){
get_user_name( id , name[ id ], 31 );
wczytaj_odznake( id );

if( wziol_odznake[ id ] )
pokaz_menu[ id ] = true;
}
}

public client_disconnect( id ) {
zapisz_odznake( id );

wziol_odznake[ id ] = false;
pokaz_menu[ id ] = false;
name[ id ] = "";
}

public fwSpawn( id ) {
if ( !is_user_alive( id ) )
return HAM_IGNORED;

if( !pokaz_menu[ id ] )
MenuOdznak( id );

return HAM_IGNORED;
}

public MenuOdznak( id ) {
new menu = menu_create( "\wDarmowa Odznka:", "MenuOdznak_Handle" );

menu_additem( menu, "HP Za Zadanie Obrazen Nozem", "0", 0 );
menu_additem( menu, "Dodatkowa kasa co runde", "1", 0 );
menu_additem( menu, "Dodatkowe HP na Start", "2", 0 );
menu_additem( menu, "Darmowa Snajperka na Start", "3", 0 );
menu_additem( menu, "Dodatkowe Obrazenia", "4", 0 );
menu_additem( menu, "Wieksze Obrazenia Granatem", "5", 0 );
menu_additem( menu, "Niewidzialnosc na Nozu", "6", 0 );
menu_additem( menu, "Buty Szybkosci", "7", 0 );

menu_setprop( menu, MPROP_PERPAGE, 0 );
menu_setprop( menu, MPROP_EXIT, MEXIT_ALL );
menu_setprop( menu, MPROP_EXITNAME, "Wyjscie" );
menu_display( id, menu, 0 );

return PLUGIN_CONTINUE;
}

public MenuOdznak_Handle( id, menu, item ) {
new data[ 6 ], iName[ 64 ], acces, callback;
menu_item_getinfo( menu, item, acces, data, sizeof data - 1, iName, sizeof iName - 1, callback );

if( item == MENU_EXIT ) {
pokaz_menu[ id ] = false;
wziol_odznake[ id ] = false;
menu_destroy( menu );
return PLUGIN_HANDLED;
}

new key = str_to_num( data );

switch( key ) {
case 0: {
daj_odznake( id, 0 );
menu_destroy( menu );
}
case 1: {
daj_odznake( id, 1 );
menu_destroy( menu );
}
case 2: {
daj_odznake( id, 2 );
menu_destroy( menu );
}
case 3: {
daj_odznake( id, 3 );
menu_destroy( menu );
}
case 4: {
daj_odznake( id, 4 );
menu_destroy( menu );
}
case 5: {
daj_odznake( id, 5 );
menu_destroy( menu );
}
case 6: {
daj_odznake( id, 6 );
menu_destroy( menu );
}
case 7: {
daj_odznake( id, 7 );
menu_destroy( menu );
}
case 8: {
daj_odznake( id, 8 );
menu_destroy( menu );
}
}
return PLUGIN_HANDLED;
}

public daj_odznake( id, numer ) {
bf2_set_user_badge( id, numer, get_pcvar_num( gPcvarPoziom ) );
pokaz_menu[ id ] = true;
wziol_odznake[ id ] = true;
}

public wczytaj_odznake( id ) {
format( vaultkey, sizeof vaultkey - 1, "%s-m-", name[ id ] );
format( vaultdata, sizeof vaultdata - 1,"%d",wziol_odznake[ id ] );
nvault_get( plik_vault, vaultkey, vaultdata, sizeof vaultdata - 1 );

new wartosc[ 6 ];
parse( vaultdata,wartosc, 5 );

if( str_to_num( wartosc ) )
wziol_odznake[ id ] = true;
}

public zapisz_odznake( id ){
if( wziol_odznake[ id ] ){
format( vaultkey, sizeof vaultkey - 1, "%s-m-", name[ id ] ) ;
format( vaultdata, sizeof vaultdata - 1, "1" );
nvault_set( plik_vault, vaultkey, vaultdata );
}
}

Odpowiedz

  • +
  • -
xWangan - zdjęcie xWangan 21.01.2014

Napisz dokładnie o co chodzi. Czytając ten temat mam jakiś kod SMA, i komende /free. Nie mam pojęcia co mam zrobić z tą świadomością.

Odpowiedz

  • +
  • -
luki2407 - zdjęcie luki2407 21.01.2014

Chcę aby plugin dawał 1 odznakę po wpisaniu komendy /free na serwerze :)

Odpowiedz

  • +
  • -
xWangan - zdjęcie xWangan 21.01.2014

Ilu odznakowy masz ten BF2?

Odpowiedz

  • +
  • -
luki2407 - zdjęcie luki2407 21.01.2014

24 

Odpowiedz

  • +
  • -
luki2407 - zdjęcie luki2407 21.01.2014

Pomoże ktoś mi ? :D

Odpowiedz