←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

Przeróbka kuszy

Locked

  • +
  • -
TypeR's Photo TypeR 20.07.2011

Witam. Posiadam plugin do CodModa dający kusze. (item) Plugin jest autorstwa mojego. Jestem totalnym laikiem. Postanowiłem go dodać także na mój serwer 4FUN. I tu moje pytanie. Jak przerobić go aby dostawało się kusze za pomocą komendy /kusza a normalne AWP było nienaruszone?


/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <hamsandwich>
#include <fun>
#include <codmod>
#include <engine>
#include <fakemeta>



new const perk_name[] = "Kusza";
new const perk_desc[] = "Dostales kusze";

new bool:ma_perk[33]

public plugin_init()
{
register_plugin(perk_name, "1.0", "QTM_Peyote");

cod_register_perk(perk_name, perk_desc);

register_event("CurWeapon", "CurWeapon", "be", "1=1")

register_forward(FM_SetModel, "fw_SetModel");
}

public cod_perk_enabled(id, wartosc)
{
cod_give_weapon(id, CSW_AWP);
ma_perk[id] = true;
}

public cod_perk_disabled(id)
{
cod_take_weapon(id, CSW_AWP);
ma_perk[id] = false;
}

public plugin_precache()
{
precache_model("models/kusza/w_crossbow.mdl");
precache_model("models/kusza/p_crossbow.mdl");
precache_model("models/kusza/v_crossbow.mdl");
}

public CurWeapon(id)
{
new weapon = read_data(2);

if(ma_perk[id])
{
if(weapon == CSW_AWP)
{
set_pev(id, pev_viewmodel2, "models/kusza/v_crossbow.mdl")

set_pev(id, pev_weaponmodel2, "models/kusza/p_crossbow.mdl")

}
}
}

public fw_SetModel(entity, model[])
{
if(!pev_valid(entity))
return FMRES_IGNORED

if(!equali(model, "models/w_awp.mdl"))
return FMRES_IGNORED;

new entityowner = pev(entity, pev_owner);

if(!ma_perk[entityowner])
return FMRES_IGNORED;

engfunc(EngFunc_SetModel, entity, "models/kusza/w_crossbow.mdl")
return FMRES_SUPERCEDE
}


Mam jeszcze 2 pytania.

1. Jak podmienić dźwięk
2. Jak zmienić obrażenia, recoila i inne bzdety ALE tylko dla modelu kuszy z komendy.

Licze na pomoc. Nagrodze + ;d

________________________________________________________________________________________________________________________________________________________

EDIT:
No więc po "lekkiej" zabawie wyszło mi takie coś:

/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fakemeta>
#include <fun>
#include <engine>
#include <hamsandwich>

#define PLUGIN "kusza"
#define VERSION "1.0"
#define AUTHOR "TypeR"


new bool:podmien_model[33]

public plugin_init()
{

register_event("CurWeapon", "CurWeapon", "be", "1=1")

register_forward(FM_SetModel, "fw_SetModel");

register_clcmd("say /xbow", "daj_kusze")
}

public plugin_precache()
{
precache_model("models/kusza/w_crossbow.mdl");
precache_model("models/kusza/p_crossbow.mdl");
precache_model("models/kusza/v_crossbow.mdl");
}

public client_putinserver(id)
{
podmien_model[id]=false
}

public CurWeapon(id)
{
new weapon = read_data(2);
{
if(weapon == CSW_AWP && podmien_model[id])
{
set_pev(id, pev_viewmodel2, "models/kusza/v_crossbow.mdl")

set_pev(id, pev_weaponmodel2, "models/kusza/p_crossbow.mdl")

}
}
}

public fw_SetModel(entity, model[])
{
if(!pev_valid(entity))
return FMRES_IGNORED

if(!equali(model, "models/w_awp.mdl"))
return FMRES_IGNORED;

new entityowner = pev(entity, pev_owner);

if(!podmien_model[entityowner])
return FMRES_IGNORED;

engfunc(EngFunc_SetModel, entity, "models/kusza/w_crossbow.mdl")
return FMRES_SUPERCEDE
}

public daj_kusze(id)
{
podmien_model[id] = true
give_item(id, "weapon_awp")
}


Po wpisaniu komendy dostaje kusze, lecz problem w tym ze po kupieniu AWP także dostaje kusze. Moje pytanie brzmi, co trzeba poprawić aby tylko za pomocą komendy dostawało się kusze?
Edited by TypeR, 21.07.2011 20:03.
Quote

  • +
  • -
DarkGL's Photo DarkGL 21.07.2011

sam kod wygląda ok
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fakemeta>
#include <fun>
#include <engine>
#include <hamsandwich>

#define PLUGIN "kusza" 
#define VERSION "1.0" 
#define AUTHOR "TypeR" 


new bool:podmien_model[33]  

public plugin_init() 
{
        
        register_event("CurWeapon", "CurWeapon", "be", "1=1")
        
        register_forward(FM_SetModel, "fw_SetModel");
        
        register_clcmd("say /xbow", "daj_kusze")
}
        
public plugin_precache() 
{ 
        precache_model("models/kusza/w_crossbow.mdl"); 
        precache_model("models/kusza/p_crossbow.mdl"); 
        precache_model("models/kusza/v_crossbow.mdl"); 
}

public client_putinserver(id)
{               
        podmien_model[id]=false
}

public CurWeapon(id) 
{ 
        new weapon = read_data(2); 
        { 
                if(weapon == CSW_AWP && podmien_model[id]) 
                { 
                        set_pev(id, pev_viewmodel2, "models/kusza/v_crossbow.mdl") 

                        set_pev(id, pev_weaponmodel2, "models/kusza/p_crossbow.mdl") 

                } 
        } 
}

public fw_SetModel(entity, model[]) 
{ 
        if(!pev_valid(entity))  
                return FMRES_IGNORED 
 
        if(!equali(model, "models/w_awp.mdl"))
                return FMRES_IGNORED; 
 
        new entityowner = pev(entity, pev_owner); 
         
        if(!podmien_model[entityowner])
                return FMRES_IGNORED; 
 
        podmien_model[entityowner] = false;
        engfunc(EngFunc_SetModel, entity, "models/kusza/w_crossbow.mdl") 
        return FMRES_SUPERCEDE 
}

public daj_kusze(id)
{
        podmien_model[id] = true
        give_item(id, "weapon_awp")
}
sprawdź może to coś da
Quote

  • +
  • -
TypeR's Photo TypeR 21.07.2011

No niestety. Zarówno za pomocą komendy jak i sklepu dostaje kusze ;/
Quote

  • +
  • -
DarkGL's Photo DarkGL 21.07.2011

testowałem na tym kodzie
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fakemeta>
#include <fun>
#include <engine>
#include <hamsandwich>

#define PLUGIN "kusza" 
#define VERSION "1.0" 
#define AUTHOR "TypeR" 


new bool:podmien_model[33]  

public plugin_init() 
{
	
	register_event("CurWeapon", "CurWeapon", "be", "1=1")
	
	register_forward(FM_SetModel, "fw_SetModel");
	
	register_clcmd("say /xbow", "daj_kusze")
}

public plugin_precache() 
{ 
	//precache_model("models/kusza/w_crossbow.mdl"); 
	//precache_model("models/kusza/p_crossbow.mdl"); 
	//precache_model("models/kusza/v_crossbow.mdl"); 
}

public client_putinserver(id)
{               
	podmien_model[id]=false
}

public CurWeapon(id) 
{ 
	new weapon = read_data(2); 
	if(weapon == CSW_AWP && podmien_model[id]) 
	{ 
		//set_pev(id, pev_viewmodel2, "models/kusza/v_crossbow.mdl") 
		
		//set_pev(id, pev_weaponmodel2, "models/kusza/p_crossbow.mdl") 
		client_print(id,print_chat,"ustawiam model kuszy v i p")
		
	} 
	
}

public fw_SetModel(entity, model[]) 
{ 
	if(!pev_valid(entity))  
		return FMRES_IGNORED 
	
	if(!equali(model, "models/w_awp.mdl"))
		return FMRES_IGNORED; 
	
	new entityowner = pev(entity, pev_owner); 
	
	if(!podmien_model[entityowner])
		return FMRES_IGNORED; 
	
	podmien_model[entityowner] = false;
	//engfunc(EngFunc_SetModel, entity, "models/kusza/w_crossbow.mdl") 
	client_print(0,print_chat,"ustawiam model kuszy w ")
	return FMRES_SUPERCEDE 
}

public daj_kusze(id)
{
	podmien_model[id] = true
	give_item(id, "weapon_awp")
}
teksty pokazywały odpowiednio
więc taki kod powinien działać poprawnie
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fakemeta>
#include <fun>
#include <engine>
#include <hamsandwich>

#define PLUGIN "kusza" 
#define VERSION "1.0" 
#define AUTHOR "TypeR" 


new bool:podmien_model[33]  

public plugin_init() 
{
	
	register_event("CurWeapon", "CurWeapon", "be", "1=1")
	
	register_forward(FM_SetModel, "fw_SetModel");
	
	register_clcmd("say /xbow", "daj_kusze")
}

public plugin_precache() 
{ 
	precache_model("models/kusza/w_crossbow.mdl"); 
	precache_model("models/kusza/p_crossbow.mdl"); 
	precache_model("models/kusza/v_crossbow.mdl"); 
}

public client_putinserver(id)
{               
	podmien_model[id]=false
}

public CurWeapon(id) 
{ 
	new weapon = read_data(2); 
	if(weapon == CSW_AWP && podmien_model[id]) 
	{ 
		set_pev(id, pev_viewmodel2, "models/kusza/v_crossbow.mdl") 
		
		set_pev(id, pev_weaponmodel2, "models/kusza/p_crossbow.mdl") 
		
	} 
	
}

public fw_SetModel(entity, model[]) 
{ 
	if(!pev_valid(entity))  
		return FMRES_IGNORED 
	
	if(!equali(model, "models/w_awp.mdl"))
		return FMRES_IGNORED; 
	
	new entityowner = pev(entity, pev_owner); 
	
	if(!podmien_model[entityowner])
		return FMRES_IGNORED; 
	
	podmien_model[entityowner] = false;
	engfunc(EngFunc_SetModel, entity, "models/kusza/w_crossbow.mdl");
	return FMRES_SUPERCEDE 
}

public daj_kusze(id)
{
	podmien_model[id] = true
	give_item(id, "weapon_awp")
}
Quote

  • +
  • -
TypeR's Photo TypeR 22.07.2011

Zwracam honor. Wszytko pięknie bangla ;)
Wielkie dzięki.
Quote
Locked