←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

Po zmianie broni funkcja nie dziala

Zablokowany

  • +
  • -
Dave12 - zdjęcie Dave12 20.04.2010

Zrobiłem plugin /bazar i za kasę kupujemy np.mniejszą grawitacje i działa all ok tylko jak zmienię bron to mam normalna grawitacje jak zrobić by po zmianie broni było dalej tak jak kopiliśmy


public zl(id){
    if(get_user_gravity(id)>=300){
        show_hudmessage(id, "[Zwoj lewitacji] Juz uzyles zwoju")
        return PLUGIN_HANDLED
    }
    if(cs_get_user_money(id)<=get_pcvar_num(zl_cost)){
        show_hudmessage(id, "[Zwoj lewitacji] Nie masz zlota! Nie polatasz")
        return PLUGIN_HANDLED
}
    

    set_user_gravity(id,0.3)
    cs_set_user_money(id,cs_get_user_money(id)-get_pcvar_num(zl_cost))
    return PLUGIN_HANDLED
}
Odpowiedz

  • +
  • -
Kubaczek <3 - zdjęcie Kubaczek <3 20.04.2010

Dodaj sobie bool hasGravity (ze speedem bedzie to samo ^^) dla gracza, potem w curweapon dodaj if(hasGravity[id]) set_user_gravity(id,300.0) a i po co get_user_gravity(id)>=300 zamiast ==?
Odpowiedz

  • +
  • -
Dave12 - zdjęcie Dave12 20.04.2010

jestem początkujący jak byś mógł lepiej wytłumaczyć, to mój 1 plugin...

czyli mam zrobić event

register_event("CurWeapon","CurWeapon") --- cos takiego ?

i has gravity jak do tego dac ??

if(hasGravity[id]) set_user_gravity(id,300.0) dac po public zl(id){ ??
Odpowiedz

  • +
  • -
sbstn - zdjęcie sbstn 20.04.2010

register_event("CurWeapon","CurWeapon") --- cos takiego ?

1.Poczytaj trochę tutoriali ;) (Scripting>Tutoriale>Eventy)
2.Dokładnie przeanalizuj ten kod ;)
#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <cstrike>
#include <hamsandwich>

#define PLUGIN "Gravity"
#define VERSION "1.0"
#define AUTHOR "AMXX.pl"

new amx_gravity_cost
new bool:zostalo_uzyte[33]

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /gravity","gravity")
register_event("CurWeapon","zmiana_broni","be", "1=1")
RegisterHam(Ham_Spawn, "player", "Spawn", 1)
amx_gravity_cost=register_cvar("amx_gravity_cost","1")
}

public gravity(id)
{
new zloto=cs_get_user_money(id)
new cena=get_pcvar_num(amx_gravity_cost)

if(zostalo_uzyte[id]==true)
{
set_hudmessage(0,255,0,-1.0,-1.0,0,6.0,2.0)
show_hudmessage(id, "Juz uzyles zwoju lewitacj!")
return PLUGIN_HANDLED
}else if(zloto<cena)
{
set_hudmessage(0,255,0,-1.0,-1.0,0,6.0,2.0)
show_hudmessage(id, "Nie masz zlota! Nie polatasz!")
return PLUGIN_HANDLED
}else
{
set_user_gravity(id,0.3)
cs_set_user_money(id,zloto-cena)
set_hudmessage(0,255,0,-1.0,-1.0,0,6.0,2.0)
show_hudmessage(id, "Uzyles zwoju lewitacji!^nMasz mniejsza grawitacje!")
zostalo_uzyte[id]=true
return PLUGIN_HANDLED
}
return PLUGIN_HANDLED
}

public zmiana_broni(id)
{
if(zostalo_uzyte[id]==true)
{
set_user_gravity(id,0.3)
}
}

public Spawn(id)
{
zostalo_uzyte[id]=false
return PLUGIN_HANDLED
}


EDIT: Możesz w sumie dodać jeszcze jak chcesz
public client_connect(id)
{
zostalo_uzyte[id] = false
}

Użytkownik sbstn edytował ten post 20.04.2010 20:24
Odpowiedz

  • +
  • -
Dave12 - zdjęcie Dave12 21.04.2010

Dzięki zrobiłem plus dla ciebie
Odpowiedz
Zablokowany