←  Problemy

AMXX.pl: Support AMX Mod X i SourceMod

»

Problem z pieniędzmi

  • +
  • -
LogiCC :D - zdjęcie LogiCC :D 26.04.2012

Witam ostatnio chciałem się pobawić Amx Studio. Zrobiłem sobie mały sklepik wszystko z pozoru jest dobrze, ale jednak jest mały problem. Otóż gdy gracz kupi coś co kosztuje 1000$ (przykład) ze sklepu gdy ma załóżmy 800$ to mu się kupi przedmiot i zostanie graczowi 200$. Kolejny przykład, gdy gracz będzie miał 300$ i kupie granaty co kosztują 1000$ to z 300$ zrobi się 700$ i dostanie granaty. Bardzo proszę o napisanie co jest źle w pluginie.

Załączone pliki

  • Załączony plik  Sklep.sma   4,09 KB   47 Ilość pobrań
Odpowiedz

  • +
  • -
Jak się nazwać - zdjęcie Jak się nazwać 26.04.2012

Nie sprawdzasz czy gracz ma wystarczającą ilość pieniędzy, nie zauważyłeś związku? Gracz ma 800$ kupi coś za 1000$ czyli normalnie miałby -200$ ale nie można mieć ujemnej kasy więc zmienia się to w 200$. Sprawdzaj przy zakupie czy gracz ma tyle kasy, bo jak na razie zmienne koszt_hp itp są puste:

if(cs_get_user_money(id) < 1000)
{
//gracz ma mniej niz 100$, wyswietl mu na czacie ze nie ma kasy i return
}

Użytkownik Jak się nazwać edytował ten post 26.04.2012 16:28
Odpowiedz

  • +
  • -
LogiCC :D - zdjęcie LogiCC :D 26.04.2012

To nie jest to samo?
public granat(id) {

new kasa = cs_get_user_money(id)

if(!is_user_alive(id)){
client_print(id,print_chat,"[Kupno Granatow] Nie mozesz z tego skorzystac, bo jestes martwy.")
return PLUGIN_HANDLED
}
if(cs_get_user_money(id)<koszt_granatow) {
client_print(id,print_chat,"[Kupno Granatow] Masz za malo kasy ;(")
return PLUGIN_HANDLED
}
give_item(id, "weapon_hegrenade")
give_item(id, "weapon_flashbang")
give_item(id, "weapon_flashbang")
give_item(id, "weapon_smokegrenade")
cs_set_user_money(id,kasa-get_cvar_num("koszt_granatow"))
//cs_set_user_money(id,cs_get_user_money(id)-get_pcvar_num(koszt_hp))
return PLUGIN_HANDLED
}


A w plugin_init:
 register_cvar("koszt_granatow","1000")
Odpowiedz

  • +
  • -
Jak się nazwać - zdjęcie Jak się nazwać 09.05.2012

A gdzie przypisujesz wartość do zmiennej koszt_granatow ?
Odpowiedz

JustBeFine - zdjęcie JustBeFine 10.05.2012


public granat(id) {

new kasa = cs_get_user_money(id)
new koszt_granat = get_cvar_num(koszt_granatow)

if(!is_user_alive(id)){
client_print(id,print_chat,"[Kupno Granatow] Nie mozesz z tego skorzystac, bo jestes martwy.")
return PLUGIN_HANDLED
}
if(kasa<koszt_granat) {
client_print(id,print_chat,"[Kupno Granatow] Masz za malo kasy ;(")
return PLUGIN_HANDLED
}
give_item(id, "weapon_hegrenade")
give_item(id, "weapon_flashbang")
give_item(id, "weapon_flashbang")
give_item(id, "weapon_smokegrenade")
cs_set_user_money(id,kasa-koszt_granat)
//cs_set_user_money(id,cs_get_user_money(id)-get_pcvar_num(koszt_hp))
return PLUGIN_HANDLED
}

Użytkownik JustBeFine edytował ten post 10.05.2012 06:56
Odpowiedz