←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

CoD Nowy
Pytanie dotyczące sklepu

  • +
  • -
Eldo.'s Photo Eldo. 08.10.2013

Siemka :D

Robię sklep i chciałem dodać aby gracz mógł kupić:

Złote palce - Dodatkowe 10 dmg [Na zawsze!]

Teraz pytanie czy da się tak zrobić, jeżeli się da to proszę o pomoc.

Quote

  • +
  • -
MAGNET's Photo MAGNET 08.10.2013

Robisz zmienna ma_palce i warunek if ma_palce[id] to dodaje dmg. Zmienna bylaby zapisywana w nVault
Quote

  • +
  • -
Eldo.'s Photo Eldo. 09.10.2013

Czyli mam to zrobić tak o:

 

/* Plugin generated by AMXX-Studio */


#include <amxmodx>
#include <amxmisc>
#include <hamsandwich>


#define DMG_BULLET (1<<1)


#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "Krupek"


new bool:ma_palce[33];


public plugin_init() 
{
register_plugin(PLUGIN, VERSION, AUTHOR)


RegisterHam(Ham_TakeDamage, "player", "TakeDamage");
}


public menus(id) 
{
new menu = menu_create("Widzisz menu?", "nowemenuhandle");


menu_additem(menu, "\wZlote Palce \d[Dodatkowe 10 dmg]");


menu_setprop(menu, MPROP_EXITNAME, "Wyjscie");


menu_display(id, menu);


return PLUGIN_HANDLED;
}


public eldo1(id, menu, item) 
{ 
if(item == MENU_EXIT) 
{
menu_destroy(menu); 
return PLUGIN_HANDLED;
}


switch(item)
{
case 0: 
{ 
TakeDamage(id)
}
} 


return PLUGIN_HANDLED;
}


public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits)
{
if(!is_user_connected(idattacker))
return HAM_IGNORED;


if(!ma_palce[idattacker])
return HAM_IGNORED;


if(get_user_team(this) != get_user_team(idattacker) && get_user_weapon(idattacker) == CSW_AK47 && damagebits & DMG_BULLET)
cod_inflict_damage(idattacker, this, 10.0, 0.0, idinflictor, damagebits);


return HAM_IGNORED;
}

??? :D

 

Quote

  • +
  • -
MAGNET's Photo MAGNET 10.10.2013

Nie
Moce musialbys zaladowac po wejsciu gracza na serwer (czyli client_connect)
W sklepie musialbys przydzielac tylko zmienną ma_palce + warunek w TKDamage. Co drobniejsze sie mi rzucilo w oczy, to handler nie odpowiada handlerowi z menu (nazwa) i case odwolujesz sie to TakeDamage(id). Funkcja ta nie posiada indexu id
Quote

  • +
  • -
MAGNET's Photo MAGNET 10.10.2013

Ps: zmienna sie nie zapisze bez nVault
Quote

  • +
  • -
Eldo.'s Photo Eldo. 11.10.2013

Zrobiłem tyle ile potrafiłem, mógłbyś dokończyć + napisać jak to zrobiłeś ?

Plik .sma daje w załączniku.

Attached Files

Quote

  • +
  • -
MAGNET's Photo MAGNET 12.10.2013

Sprawdź to:

 

Attached Files

Quote