←  Pluginy

AMXX.pl: Support AMX Mod X i SourceMod

»

Modyfikacja
Kupno grawitacji

  • +
  • -
Windowspl - zdjęcie Windowspl 20.09.2011

Witam.

Zrobiłem sobie prosty plugin na kupno grawitacji, tylko jak dodać żeby grawitacja działała tylko 1-2 rundy od kupna ?

Proszę o opisanie jak to zrobić.

Dziękuje.

/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <cstrike>
#include <colorchat>
#include <fakemeta>

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

new gracz[32];

public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /grawitacja", "kup")
}
public kup(id)
{
new kasa = cs_get_user_money(id);
if(kasa >= 2000)
{
get_user_name(id, gracz, 31)
ColorChat(id, GREEN, "[%s]^x01 Kupiles Gravitacje !", gracz)
fm_set_user_gravity(id, 0.20)
cs_set_user_money(id, kasa-2000);
}
if(kasa < 2000)
ColorChat(id, GREEN, "[%s]^x01 Masz za malo kasy!", gracz);
}
stock fm_set_user_gravity(index, Float:gravity = 1.0)
{
set_pev(index, pev_gravity, gravity);
}

Użytkownik Windowspl edytował ten post 20.09.2011 10:12
Odpowiedz

  • +
  • -
Gh0st - zdjęcie Gh0st 20.09.2011

Czemu nie urzywasz funkcji

set_user_gravity(id)


Myślę że powinno działać. :)
Działa na 2 rundy od kupna .
Ilośc rund zmień w

grawitacja_pkt[id] = 2


Cały kod sma:


/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <cstrike>
#include <colorchat>
#include <fakemeta>

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

new gracz[32];
new grawitacja_pkt[33];

public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /grawitacja", "kup")
register_logevent("RoundStart", 2, "1=Round_Start")
}
public RoundStart()
{
for (new i=0; i < 33; i++){
grawitacja(i)
}
}
public grawitacja(id)
{
if(grawitacja_pkt[id] == 0) return;
else if(grawitacja_pkt[id] > 0)
{
fm_set_user_gravity(id, 0.20)
grawitacja_pkt[id]--;
}
}

public kup(id)
{
new kasa = cs_get_user_money(id);
if(kasa >= 2000)
{
if(grawitacja[id] > 0)
{
ColorChat(id, GREEN, "[%s]^x01 Posiadasz juz grawitacje", gracz)
}
else
{
get_user_name(id, gracz, 31)
ColorChat(id, GREEN, "[%s]^x01 Kupiles Gravitacje !", gracz)

cs_set_user_money(id, kasa-2000);
grawitacja_pkt[id] = 2
}
}
if(kasa < 2000)
ColorChat(id, GREEN, "[%s]^x01 Masz za malo kasy!", gracz);
}
stock fm_set_user_gravity(index, Float:gravity = 1.0)
{
set_pev(index, pev_gravity, gravity);
}

Użytkownik Gh0st edytował ten post 20.09.2011 10:48
Odpowiedz

  • +
  • -
Windowspl - zdjęcie Windowspl 20.09.2011

Nie można skompilować.
Podkreśla:
if(grawitacja[id] > 0)


A jak by to wyglądało na x2 dmg z każdej broni ?
Sam plugin wiem jak by wyglądał, ale jak dodać żeby działało to na X rund.
Użytkownik Windowspl edytował ten post 20.09.2011 11:23
Odpowiedz

  • +
  • -
Gh0st - zdjęcie Gh0st 20.09.2011

zmień
 
if(grawitacja[id] > 0)

na

if(grawitacja_pkt[id] > 0)
Odpowiedz

  • +
  • -
Windowspl - zdjęcie Windowspl 20.09.2011

Za to +, a czy możesz jeszcze dać kod na x2 dmg z każdej broni ?
Odpowiedz

  • +
  • -
sebul - zdjęcie sebul 20.09.2011

#include <amxmodx>
#include <cstrike>
#include <colorchat>

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

new gracz[32];
new grawitacja_pkt[33];

public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /grawitacja", "kup")
register_logevent("RoundStart", 2, "1=Round_Start")
}
public RoundStart()
{
for(new i=1; i < 33; i++)
if(is_user_alive(i)) grawitacja(i);
}
public grawitacja(id)
{
if(!grawitacja_pkt[id]) {
set_user_gravity(id, 1.0);
return;
}

set_user_gravity(id, 0.20);
grawitacja_pkt[id]--;
}

public kup(id)
{
new kasa = cs_get_user_money(id);
if(kasa >= 2000)
{
if(grawitacja_pkt[id] > 0)
{
ColorChat(id, GREEN, "[%s]^x01 Posiadasz juz grawitacje", gracz)
}
else
{
get_user_name(id, gracz, 31)
ColorChat(id, GREEN, "[%s]^x01 Kupiles Gravitacje !", gracz)

cs_set_user_money(id, kasa-2000);
grawitacja_pkt[id] = 2
}
}
else
ColorChat(id, GREEN, "[%s]^x01 Masz za malo kasy!", gracz);
}

Użytkownik sebul edytował ten post 20.09.2011 12:03
Odpowiedz

  • +
  • -
Windowspl - zdjęcie Windowspl 20.09.2011

możesz jeszcze dać kod na x2 dmg z każdej broni ?

To z grawitacją działa.
Użytkownik Windowspl edytował ten post 20.09.2011 12:01
Odpowiedz

  • +
  • -
grzesiu131 - zdjęcie grzesiu131 22.09.2011

 RegisterHam(Ham_TakeDamage, "player", "Obrazenia");
To wklejasz do plugins.ini

public Obrazenia(victim, inflictor, attacker, Float:damage, damagebits, id)
{

if(inflictor == attacker
&& attacker != victim
&& is_user_alive(attacker)
&& get_user_weapon(attacker) == CSW_AK47, TU DALEJ WPISUJESZ BRONIE )
{
SetHamParamFloat(4, damage * 2);
}
Odpowiedz

  • +
  • -
Windowspl - zdjęcie Windowspl 24.09.2011

Już sobie zrobiłem inaczej :P

Można zamykać.
Odpowiedz