←  Gotowe funkcje

AMXX.pl: Support AMX Mod X i SourceMod

»

MoneyApi Api do zarządzania pieniędzmi

  • +
  • -
G[o]Q - zdjęcie G[o]Q 23.02.2012

Znalazlem na dysku i postanowilem udostępnic.Api udostępnia 4 natywy i forward opisane są one w pliku inc.

Forward jest wywolywany gdy następuje jakaś zmiana w naszym portfelu natomiast natywy mają na celu dodanie mozliwosci zlapania zmiany podczas uzycia cs_set_user_money.

Nie będe szczegółowo opisywać natywów i forwardu bo jest to zrobione w inc'u ale dam wam 2 przyklady:

przyklad nr1 pokazuje on rozróznienie kasy od silnika i z innych pluginów co moze się przydać.
/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>
#include <money>

#define PLUGIN "TesT MoneyApi"
#define VERSION "1.0"
#define AUTHOR "G[o]Q"


public plugin_init() {
    register_plugin(PLUGIN, VERSION, AUTHOR)
    
    register_clcmd("dajkase","dodaj_kase");
    register_clcmd("ustaw_kase","ustaw_kase");
}
public dodaj_kase(id)
    add_user_money(id,100,1,0);
public ustaw_kase(id)
    set_user_money(id,1000,1);
    
public MoneyAddToPlayer(id,ilosc,premia,zrodlo){
    if(premia>0)
        if(zrodlo==ENGINE)
            client_print(id,print_chat,"Dostales od silnika %d kasy i masz jej teraz:%d",premia,ilosc);
        else client_print(id,print_chat,"Dostales z nieznanego zrodla %d kasy i masz jej teraz:%d",premia,ilosc);
    else
        if(zrodlo==ENGINE)
            client_print(id,print_chat,"Straciles na rzecz silnika %d kasy i masz jej teraz:%d",premia,ilosc);
        else client_print(id,print_chat,"Przez nieznane zródlo straciles %d kasy i masz jej teraz:%d",premia,ilosc);
}

przyklad nr2 zmniejsza on kasę którą dostajemy o 50%
/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>
#include <Money>

#define PLUGIN "TestAPI2"
#define VERSION "1.0"
#define AUTHOR "G[o]Q"


public plugin_init() {
    register_plugin(PLUGIN, VERSION, AUTHOR)
    
    register_clcmd("dajkase","dodaj_kase");
    register_clcmd("ustaw_kase","ustaw_kase");
}
public dodaj_kase(id)
    add_user_money(id,100,1,0);
public ustaw_kase(id)
    set_user_money(id,1000,1);
    
public MoneyAddToPlayer(id,ilosc,premia,zrodlo){
    new percent=50;
    new kasa=ilosc-premia+(premia/(100/percent));
    if(premia>0){
        client_print(id,print_chat,"Rząd zabral ci %d%s podatku VAT.",percent,"%%")
        client_print(id,print_chat,"Wiec zarobiles tylko %d i stan twojego konta to:%d.",premia/(100/percent),kasa)
    }else{
        client_print(id,print_chat,"Dostales mandat w wysokosci:%d,ale Pan policjant dal ci znizke: %d%s",premia,percent,"%%")
        client_print(id,print_chat,"Wiec straciles tylko %d i stan twojego konta to:%d.",premia/(100/percent),kasa)    
    }
    set_user_money_silent(id,kasa,0);
        
}

Załączone pliki

Odpowiedz

  • +
  • -
GeDox - zdjęcie GeDox 24.02.2012

No, no. Długo miałeś to na dysku? ;d

Żeby nie offtopować; przyda się ;]
Odpowiedz

  • +
  • -
Fili:P - zdjęcie Fili:P 14.12.2012

Przyda się, użyję, +
Mógłbyś dodać forward wywoływany kiedy gracz traci kase ? np. po kupnie broni i też z argumentem ENGINE lub WORLD ?
Odpowiedz

  • +
  • -
G[o]Q - zdjęcie G[o]Q 14.12.2012

przeciez jest taki forward jesli premia <0 wtedy gracz traci kase
Odpowiedz