Witamy w Nieoficjalnym polskim support'cie AMX Mod X
Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
|
Klasa inzynier
#1
Napisano 12.08.2011 19:12
#2
Napisano 12.08.2011 19:21
#3
Napisano 12.08.2011 19:58
#4
Napisano 12.08.2011 20:21
Dodano 13 sierpień 2011 - 06:41:
@ Bo nikt niechce pomoc
#5
Napisano 16.08.2011 19:48
#include <nvault>
Dodaj:
#include <fakemeta_util>
W plugin_init dodaj:
for (new i = 1; i < sizeof g_szWpnEntNames; i++)
{
if (g_szWpnEntNames[i][0]) RegisterHam(Ham_Item_Deploy, g_szWpnEntNames[i], "ham_ItemDeploy_Post", 1)
}
W zmiennych globalnych dodaj:
new bool:bDzialko[MAX+1];
new gMenuDzialko[MAX+1]
w public Odrodzenie(id) dodaj:
bDzialko[id] = true;
Nad:
switch(klasa_gracza[id])
W public client_connect(id)
gMenuDzialko[id] = 0;
bDzialko[id] = true;
Na końcu *.sma dodaj:
public ham_ItemDeploy_Post(weapon_ent)
{
static owner
owner = get_pdata_cbase(weapon_ent, OFFSET_WPN_WIN, OFFSET_WPN_LINUX);
static weaponid
weaponid = cs_get_weapon_id(weapon_ent)
if(!is_user_alive(owner)){
return HAM_IGNORED;
}
static menu,newmenu,menupage
player_menu_info(owner,menu,newmenu,menupage);
if((pMenuExplode[owner] && newmenu == pMenuExplode[owner]) || (gMenuDzialko[owner] && newmenu == gMenuDzialko[owner])){
show_menu(owner,0,"^n");
pMenuExplode[owner] = 0;
gMenuDzialko[owner] = 0;
}
#if defined NEW_MODELS
if( pev_valid( owner ) && ( iWeapBits & ( 1 << weaponid ) ) ){
set_pev(owner , pev_viewmodel2 , CUSTOM_MODELS[weaponid ] );
}
#endif
if(weaponid == CSW_KNIFE && klasa_gracza[owner] == inzynier){
entity_set_string(owner, EV_SZ_viewmodel, "models/v_tfc_spanner.mdl")
menu_staw(owner);
}
if(weaponid == CSW_M249 && klasa_gracza[owner] == zmechanizowany){
set_animation(owner,1)
}
if(gEntBaz[owner] == weapon_ent){
entity_set_string(owner, EV_SZ_viewmodel, "models/v_rpg.mdl")
entity_set_string(owner, EV_SZ_weaponmodel, "models/p_rpg.mdl")
set_animation(owner,5)
}
if(gEntExplode[owner] == weapon_ent){
entity_set_string(owner, EV_SZ_viewmodel, "models/v_satchel_radio.mdl")
entity_set_string(owner, EV_SZ_weaponmodel, "models/p_satchel_radio.mdl")
set_animation(owner,2)
menu_explode(owner);
}
return HAM_IGNORED;
}
public menu_staw(id){
new menu,newmenu,menupage
player_menu_info(id,menu,newmenu,menupage);
if(menu > 0 || newmenu != -1 || klasa_gracza[id] != inzynier){
return PLUGIN_CONTINUE;
}
gMenuDzialko[id] = menu_create("Dzialo","dzialoMenu_Handle")
menu_additem(gMenuDzialko[id],"Postaw dzialo");
menu_additem(gMenuDzialko[id],"Zniszcz dzialo");
menu_setprop(gMenuDzialko[id],MPROP_NUMBER_COLOR,"\r")
menu_display(id,gMenuDzialko[id]);
return PLUGIN_CONTINUE;
}
public dzialoMenu_Handle(id,menu,item){
if(item == MENU_EXIT || !is_user_alive(id) || klasa_gracza[id] != inzynier){
menu_destroy(menu);
return PLUGIN_CONTINUE;
}
switch(item){
case 0:
{
if(bInzynier[id]){
new Float:Origin[3]
pev(id, pev_origin, Origin)
new Float:vNewOrigin[3]
new Float:vTraceDirection[3]
new Float:vTraceEnd[3]
new Float:vTraceResult[3]
velocity_by_aim(id, 64, vTraceDirection) // get a velocity in the directino player is aiming,
with a multiplier of 64...
vTraceEnd[0] = vTraceDirection[0] + Origin[0]
vTraceEnd[1] = vTraceDirection[1] + Origin[1]
vTraceEnd[2] = vTraceDirection[2] + Origin[2]
fm_trace_line(id, Origin, vTraceEnd, vTraceResult)
vNewOrigin[0] = vTraceResult[0]
vNewOrigin[1] = vTraceResult[1]
vNewOrigin[2] = Origin[2]
if(!(StawDzialo(vNewOrigin,id))){
client_print(id, print_center, "Nie mozesz tu postawic dziala")
}
else
{
bInzynier[id] = false;
}
}
}
case 1:
{
new iEnt = -1;
while((iEnt = find_ent_by_class(iEnt,"sentry_shot")) != 0){
if(pev_valid(iEnt) && pev(iEnt,pev_iuser1) == id){
FX_Demolish(iEnt)
remove_entity(iEnt);
}
}
iEnt = -1;
while((iEnt = find_ent_by_class(iEnt,"sentry_base")) != 0){
if(pev_valid(iEnt) && pev(iEnt,pev_iuser1) == id){
FX_Demolish(iEnt)
remove_entity(iEnt);
}
}
}
}
menu_destroy(menu);
return PLUGIN_CONTINUE;
}
Nie sprawdzałem, ale powinno działać.
Użytkownik Na5tyk edytował ten post 16.08.2011 19:49
#6
Napisano 16.08.2011 20:03
Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright © 1997-2006 ITB CompuPhase, AMX Mod X Team
s.sma(175) : error 017: undefined symbol "MAX"
s.sma(175) : error 009: invalid array size (negative or zero)
s.sma(176) : error 017: undefined symbol "MAX"
s.sma(176) : error 009: invalid array size (negative or zero)
s.sma(267) : warning 217: loose indentation
s.sma(267) : error 072: "sizeof" operator is invalid on "function" symbols
s.sma(269) : error 017: undefined symbol "g_szWpnEntNames"
s.sma(269) : warning 215: expression has no effect
s.sma(269) : error 001: expected token: ";", but found "]"
s.sma(269) : error 029: invalid expression, assumed zero
s.sma(269) : fatal error 107: too many error messages on one line
Compilation aborted.
9 Errors.
Done.
To co piszę się nie liczy...
#7
Napisano 17.08.2011 10:11
#define MAX 32
Gdzies tak pod autorem
I to :
static const g_szWpnEntNames[][] = { "", "weapon_p228", "", "weapon_scout", "weapon_hegrenade", "weapon_xm1014", "weapon_c4", "weapon_mac10", "weapon_aug", "weapon_smokegrenade", "weapon_elite", "weapon_fiveseven", "weapon_ump45", "weapon_sg550", "weapon_galil", "weapon_famas", "weapon_usp", "weapon_glock18", "weapon_awp", "weapon_mp5navy", "weapon_m249", "weapon_m3", "weapon_m4a1", "weapon_tmp", "weapon_g3sg1", "weapon_flashbang", "weapon_deagle", "weapon_sg552", "weapon_ak47", "weapon_knife", "weapon_p90" }
Tak mnije więcej między plugin_init , a pod opisem klas
Użytkownik SAS edytował ten post 17.08.2011 10:13
www.BartoIT.pl
- klikasz to, a dzięki temu rozwijam ten profil
Odwiedź strefę pobierania i pobierz wersję testową alfa Counter Strike: Global terror MOD
#8
Napisano 17.08.2011 15:15
#9
Napisano 18.08.2011 07:37
new pMenuExplode[MAX+1];
i to :
#define OFFSET_WPN_WIN 41
Jeszcze jest od groma error'ów - ale już prawie prawie
Edit : Które linijki odpowiadają za uruchomienie monatżu działka ?
Użytkownik SAS edytował ten post 18.08.2011 15:00
www.BartoIT.pl
- klikasz to, a dzięki temu rozwijam ten profil
Odwiedź strefę pobierania i pobierz wersję testową alfa Counter Strike: Global terror MOD
Użytkownicy przeglądający ten temat: 0
0 użytkowników, 0 gości, 0 anonimowych