Proszę o przerobienie tego pluginu:
Granat odpychający - AMXX.pl: Support AMX Mod X
że jak ct rzuci albo tt to każdego odpycha
I zrobić (potrzebuje do MoneyModa) takiego skilla że dodaje do 4 punktów to sam to zrobie i za każdy 1 punkt mam większy odrzut o 200 np. jak mam 4 to mam 800
Za to będzie 5 plusików
2 zadanie polega na tym
mamy skilla bonus exp (można dodać do 3pkt) sam to zrobię.
Potrzebne mi jak zrobić że za każde zabójstwo (obojętnie jakie czy hs,headsplash czy kill) dostaje się expa
1pkt - +10expa
2pkt - +20expa
3pkt - +30expa
I pisze w wiadomości np. dostałeś xx expa za zabójstwo (np. vip (vipa mam)) +Bonus Exp : i tu ile expa mam za bonusxp
Za to daje 4plusiki
Mam nadzieje że dobrze wytłumaczone.
Pozdrawiam Optymalny193
Dodano 09 maj 2011 - 18:38:
Odświeżam
Dodano 09 maj 2011 - 19:24:
Czy takie coś zadziała:?
#include <amxmodx>
#include <engine>
#include <hamsandwich>
#include <cstrike>
#include <fakemeta>
#define PLUGIN "odpychajacy HE"
#define VERSION "1.0"
#define AUTHOR "kyku"
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
RegisterHam(Ham_Think, "grenade", "fw_ThinkGrenade")
// Add your code here...
}
public fw_ThinkGrenade(entity)
{
if (!pev_valid(entity)) return HAM_IGNORED;
static Float:dmgtime
pev(entity, pev_dmgtime, dmgtime)
if (dmgtime > get_gametime())
return HAM_IGNORED;
if (!is_user_connected(pev(entity, pev_owner)))
return HAM_IGNORED;
if(get_user_weapon(pev(entity, pev_owner))!=CSW_HEGRENADE)
return HAM_IGNORED;
new Float:origin[3], Float:origin2[3];
// ~~~~~~~~~~~~~~ TUTAJ USTAWIENIA ~~~~~~~~~~~~~~
new Float:sila = 100.0 * pointsodpych; // tu zmieniasz sile
new Float:dystans_wybuchu = 500.0 * pointsodpych; // tu zasieg wybuchu
// ~~~~~~~~~~~~~~ KONIEC USTAWIEN ~~~~~~~~~~~~~~
for(new i=1;i<33;i++)if(is_user_alive(i)){
entity_get_vector(i, EV_VEC_origin, origin2);entity_get_vector(entity, EV_VEC_origin, origin);
new Float: wynik = sila - (sila*(get_distance_f(origin, origin2)/dystans_wybuchu));
// akurat takie obliczanie sily wpadlo do glowy
//przyklad: 1000 - (1000 * (300 / 500)) = 400 czyli sila wybuchu bedzie rowna 400/1000 gdy bedzie stal w odleglosci 300/500 units
if(sila)set_velocity_from_origin(i, origin, wynik);
}
//engfunc(EngFunc_RemoveEntity, entity)
return HAM_SUPERCEDE;
}
stock get_velocity_from_origin( ent, Float:fOrigin[3], Float:fSpeed, Float:fVelocity[3] )
{
new Float:fEntOrigin[3];
entity_get_vector( ent, EV_VEC_origin, fEntOrigin );
new Float:fDistance[3];
fDistance[0] = fEntOrigin[0] - fOrigin[0];
fDistance[1] = fEntOrigin[1] - fOrigin[1];
fDistance[2] = fEntOrigin[2] - fOrigin[2];
new Float:fTime = ( vector_distance( fEntOrigin,fOrigin ) / fSpeed );
fVelocity[0] = fDistance[0] / fTime;
fVelocity[1] = fDistance[1] / fTime;
fVelocity[2] = fDistance[2] / fTime;
return ( fVelocity[0] && fVelocity[1] && fVelocity[2] );
}
stock set_velocity_from_origin( ent, Float:fOrigin[3], Float:fSpeed )
{
new Float:fVelocity[3];
get_velocity_from_origin( ent, fOrigin, fSpeed, fVelocity )
entity_set_vector( ent, EV_VEC_velocity, fVelocity );
return ( 1 );
}
dałem siła i dystans * pointsodpych
Ale niewiem czy dobrze bedzie
pointsodpych to punkty dodane w odpychajacego he
Dodano 09 maj 2011 - 21:06:
Ok bonusexp zrobiłem