Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

Plugin można użyć tyle razy ile jest w cvarze?


  • Zamknięty Temat jest zamknięty
10 odpowiedzi w tym temacie

#1 Kaskader

    Zaawansowany

  • Użytkownik

Reputacja: 3
Nowy

  • Postów:103
  • Lokalizacja:Z PoLsKi
Offline

Napisano 20.10.2010 14:01

Witam. Otóż mam pytanie. Jak zrobić żeby danej komendy można było użyć konkretną ilość razy, która jest ustawiona w cvarze przez jedna rundę. Otóż mam komende, która coś mi losuje i chce żeby każdy gracz mógł jej użyć np. 1 raz bo tak jest w cvarze a mi zamiast tego ustala limit 1 dla wszystkich i to na mapę. A więc jakiej funkcji użyć by działało to poprawnie.

Chyba zrozumieliście o co mi biega? Z góry dzięki za pomoc.
  • +
  • -
  • 0

#2 Kusek

    z Wikipedii

  • Power User

Reputacja: 446
Wszechobecny

  • Postów:1 655
  • Imię:Krystian
Offline

Napisano 20.10.2010 14:24

new g_pcvar_ilosc 



w pugin_init


g_pcvar_ilosc  = register_cvar("ilosc_uzycia", "1");



potem


public cos_tam(id)
new ilosc = get_cvar_num("g_pcvar_ilosc")
if(funkcja[id] == ilosc) {
client_print(id, print_chat, "Tej komendy mozesz uzyc %d na mape" , g_pcvar_ilosc[id]]);
cos_tam(id);
}
else
{
funkcja[id];
}
}

  • +
  • -
  • 1

#3 Kaskader

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 3
Nowy

  • Postów:103
  • Lokalizacja:Z PoLsKi
Offline

Napisano 20.10.2010 14:35

Ale ja chce żeby limit był ustalany na rundę.

To kawałek kodu czy to jest dobrze?

public kupon(id){
if(get_pcvar_num(plugin_on) == 1)
{
new kasa = cs_get_user_money(id)
new zycie = get_user_health(id)
new ilosc_kuponow = get_cvar_num("ilosc")
if(kasa < get_pcvar_num(price) )
{
client_print(id, print_chat, "Nie masz kasy, nie losujesz.", get_pcvar_num(price))
return PLUGIN_HANDLED //robimy returna i tym samym kończymy działanie funkcji
}
if(!is_user_alive(id)){
cs_set_user_money(id, kasa -get_pcvar_num(kara) )
client_print(id, print_chat, "Nie zyjesz, wiec nie badz taki sprytny. Komenda off. -500 $ Za probe.")
return PLUGIN_HANDLED // j/w
}
if(ilosc2[id] == get_pcvar_num(ilosc_kuponow)) // sprawdzenie czy juz wykorzystalismy limit ;f
{
client_print(id, print_chat, "Juz nie ma kuponow :( Przykro mi :(")
return PLUGIN_HANDLED // j/w



}
if(is_user_alive(id) )
{
new rand = random_num(0,6)
switch(rand)
{

Użytkownik Kaskader edytował ten post 20.10.2010 15:07

  • +
  • -
  • 0

#4 Kusek

    z Wikipedii

  • Power User

Reputacja: 446
Wszechobecny

  • Postów:1 655
  • Imię:Krystian
Offline

Napisano 20.10.2010 15:18

nie wiem jak cały ten kod wygląda, jak wywołujesz public kupon, po co pobierasz 2 razy że gracz jest nieżywy?
czy to wygląda coś mniej więcej do tego? (w plugin_init)
register_clcmd("say /kupon", "kupon")


public kupon(id){
new wlaczony = get_pcvar_num(plugin_on)
if(wlaczony)
{
new kasa = cs_get_user_money(id)
new zycie = get_user_health(id)
new ilosc_kuponow = get_cvar_num("ilosc")
if(kasa < get_pcvar_num(price) )
{
client_print(id, print_chat, "Nie masz kasy, nie losujesz.", get_pcvar_num(price))
return PLUGIN_HANDLED //robimy returna i tym samym kończymy działanie funkcji
}
if(!is_user_alive(id)){
cs_set_user_money(id, kasa -get_pcvar_num(kara) )
client_print(id, print_chat, "Nie zyjesz, wiec nie badz taki sprytny. Komenda off. -500 $ Za probe.")
return PLUGIN_HANDLED // j/w
}
if(kupon[id] == get_pcvar_num(ilosc_kuponow)) // sprawdzenie czy juz wykorzystalismy limit ;f
{
client_print(id, print_chat, "Juz nie ma kuponow :( Przykro mi :(")
return PLUGIN_HANDLED // j/w
}

  • +
  • -
  • 0

#5 Kaskader

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 3
Nowy

  • Postów:103
  • Lokalizacja:Z PoLsKi
Offline

Napisano 20.10.2010 15:25

Dobra teraz kod wygląda tak:

#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>

#define PLUGIN "Kupon"
#define VERSION "2.0"
#define AUTHOR "Koksik"

new plugin_on
new gravity_on
new speed_on
new noclip_on
new elite_on
new health_on
new kill_on
new money_on
new price
new kara
new ilosc
new ilosc2[33]
new power_on
new niemam_on

new bool:dziadek[33] // zmienna globalna sprawdzajaca czy dana osoba jest dziadkiem
new bool:speed[33]

public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR);
register_clcmd("say /kupon", "kupon");
plugin_on = register_cvar("amx_kupon_plugin", "1") ;
price = register_cvar("amx_kupon_price", "400") ;
gravity_on = register_cvar("amx_gravity_on", "1") ;
speed_on = register_cvar("amx_speed_on", "1") ;
noclip_on = register_cvar("amx_noclip_on", "1") ;
elite_on = register_cvar("amx_elite_on", "1") ;
health_on = register_cvar("amx_health_on", "1") ;
kill_on = register_cvar("amx_kill_on", "1") ;
money_on = register_cvar("amx_money_on", "1") ;
ilosc = register_cvar("amx_ilosc_kuponow", "1");
kara = register_cvar("amx_kara", "500");
power_on = register_cvar("power", "1")
set_task(30.0, "printer", _, _, _, "b");
register_event("CurWeapon", "ObecnaBron", "b", "1=1") // event wywolywany przy kazdej zmianie broni ;f
register_event("CurWeapon", "Speed", "b", "1=1")
niemam_on = register_cvar("niemam","1")
}

public plugin_precache()
{
precache_sound("misc/cojest.wav")
precache_sound("misc/niemambroni.wav")
precache_sound("misc/stoj.wav")
precache_sound("misc/pojebani.wav")
precache_sound("misc/spierdalamy.wav")
precache_sound("misc/wuadek.wav")
precache_sound("misc/strzelac.wav")
precache_sound("misc/gamonie.wav")
precache_sound("misc/zywcem.wav")
}



public kupon(id){
if(get_pcvar_num(plugin_on) == 1)
{
new kasa = cs_get_user_money(id)
new zycie = get_user_health(id)
if(kasa < get_pcvar_num(price) )
{
client_print(id, print_chat, "Nie masz kasy, nie losujesz.", get_pcvar_num(price))
return PLUGIN_HANDLED //robimy returna i tym samym kończymy działanie funkcji
}
if(!is_user_alive(id)){
cs_set_user_money(id, kasa - get_pcvar_num(kara) )
client_print(id, print_chat, "Nie zyjesz, wiec nie badz taki sprytny. Komenda off. -500 $ Za probe.")
return PLUGIN_HANDLED // j/w
}
if(ilosc2[id] == get_pcvar_num(ilosc)) // sprawdzenie czy juz wykorzystalismy limit ;f
{
client_print(id, print_chat, "Juz nie ma kuponow :( Przykro mi :(")
return PLUGIN_HANDLED // j/w
}

if(is_user_alive(id) )
{
new rand = random_num(0,6)
switch(rand)
{
case 0: {
if (get_pcvar_num(gravity_on) == 1)
{
client_cmd(0,"spk misc/stoj")
cs_set_user_money(id, kasa -get_pcvar_num(price) )
set_user_gravity(id, 0.50)
client_print(id, print_chat, "Otrzymujesz Grawitacje! Gratulacje.") ;
}
else kupon(id)

}

case 1: {
if(get_pcvar_num(elite_on) == 1 )
{
client_cmd(0,"spk misc/strzelac")
cs_set_user_money(id, kasa - get_pcvar_num(price))
give_item(id, "weapon_elite")
give_item(id, "ammo_9mm")
client_print(id, print_chat, "Otrzymujesz Dual Elite's. Gratulacje.") ;
}
else kupon(id)
}

case 2: {
if (get_pcvar_num(money_on) == 1)
{
client_cmd(0,"spk misc/popierdolilo")
cs_set_user_money(id, kasa - get_pcvar_num(price))
cs_set_user_money(id, kasa + 6000)
client_print(id, print_chat, "Wygrales 6000 $. Gratulacje.") ;
}
else kupon(id)
}

case 3: {
if (get_pcvar_num(noclip_on) == 1)
{
client_cmd(0,"spk misc/pojebani")
cs_set_user_money(id, kasa - get_pcvar_num(price))
set_user_noclip(id, 1)
client_print(id, print_chat, "Otrzymujesz Noclip! Gratulacje.") ;
set_task(20.0, "ZnowNormal", id) // patrz w dol
}
else kupon(id)
}

case 4: {
if (get_pcvar_num(health_on) == 1)
{
client_cmd(0,"spk misc/wuadek")
cs_set_user_money(id, kasa - get_pcvar_num(price))
set_user_health(id, zycie + 50)
client_print(id, print_chat, "Otrzymujesz 50 HP. Gratulacje.") ;
}
else kupon(id)
}

case 5: {
if (get_pcvar_num(kill_on) == 1)
{
client_cmd(0,"spk misc/zywcem")
cs_set_user_money(id, kasa - get_pcvar_num(price))
client_cmd(id, "kill", 0)
client_print(id, print_chat, "Popelniles samobojstwo... Najwyrazniej miales problemy...") ;
}
else kupon(id)
}

case 6: {
if (get_pcvar_num(speed_on) == 1)
{
client_cmd(0,"spk misc/cojest")
cs_set_user_money(id, kasa - get_pcvar_num(price))
set_user_maxspeed(id, 100.0)
client_print(id, print_chat, "Starosc nie radosc.")
dziadek[id] = true // Dobra jest dziadek
set_task(20.0, "ZnowMlody", id) // Robimy taska dla dziadka, aby przywocic mu speeda.
return PLUGIN_HANDLED
}
else kupon(id)
}
case 7: {
if (get_pcvar_num(power_on) == 1)
{
client_cmd(0,"spk misc/gamonie")
cs_set_user_money(id, kasa - get_pcvar_num(price))
set_user_maxspeed(id, 450.0)
client_print(id, print_chat, "Wygrales Tigera a po wypiciu zyskales Power.")
speed[id] = true // Jest speed
set_task(30.0, "Wolny", id) // Po tasku wróci do normalnosci
return PLUGIN_HANDLED
}
else kupon(id)
}
case 8: {
if (get_pcvar_num(niemam_on) == 1)
{
client_cmd(0,"spk misc/niemambroni")
cs_set_user_money(id, kasa - get_pcvar_num(price))
client_print(id, print_chat, "Balowaes z radosci az cie okradli.")
strip_user_weapons(id);
give_item(id, "weapon_knife");
client_cmd(id, "drop;drop;drop;drop");
return PLUGIN_HANDLED
}
else kupon(id)

}

}



I teraz normalnie już działa ale jak ustawić limit na rundę nie na mape?

Użytkownik Kaskader edytował ten post 20.10.2010 15:54

  • +
  • -
  • 0

#6 Kusek

    z Wikipedii

  • Power User

Reputacja: 446
Wszechobecny

  • Postów:1 655
  • Imię:Krystian
Offline

Napisano 20.10.2010 15:58

nie kapuje jednego ^^ po co wywowałeś pierw is_user_alive i dałeś że zabiera mu kase, a potem dajesz też user_alive i dajesz w nim
new rand = random_num(0,6)
switch(rand)


sprawdź to, najlepiej jakbyś dał cały kod,

Spoiler

  • +
  • -
  • 0

#7 Kaskader

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 3
Nowy

  • Postów:103
  • Lokalizacja:Z PoLsKi
Offline

Napisano 20.10.2010 16:01

Nie kumam. Wywołałem go tylko raz, żeby plugin nie działał gdy gracz jest martwy a przy użyciu komendy zabierało mu 500 kasy tak dla bajeru :P


Masz cały kod: PS. A mógłbyś mi powiedzieć jak zrobić żeby dziadek po zmienieniu broni nie tracił ustalonej prędkości przed czasem ? Bo to mi ni styka.

#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>

#define PLUGIN "Kupon"
#define VERSION "2.0"
#define AUTHOR "Koksik"

new plugin_on
new gravity_on
new speed_on
new noclip_on
new elite_on
new health_on
new kill_on
new money_on
new price
new kara
new ilosc
new ilosc2[33]
new power_on
new niemam_on

new bool:dziadek[33] // zmienna globalna sprawdzajaca czy dana osoba jest dziadkiem
new bool:speed[33]

public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR);
register_clcmd("say /kupon", "kupon");
plugin_on = register_cvar("amx_kupon_plugin", "1") ;
price = register_cvar("amx_kupon_price", "400") ;
gravity_on = register_cvar("amx_gravity_on", "1") ;
speed_on = register_cvar("amx_speed_on", "1") ;
noclip_on = register_cvar("amx_noclip_on", "1") ;
elite_on = register_cvar("amx_elite_on", "1") ;
health_on = register_cvar("amx_health_on", "1") ;
kill_on = register_cvar("amx_kill_on", "1") ;
money_on = register_cvar("amx_money_on", "1") ;
ilosc = register_cvar("amx_ilosc_kuponow", "1");
kara = register_cvar("amx_kara", "500");
power_on = register_cvar("power", "1")
set_task(30.0, "printer", _, _, _, "b");
register_event("CurWeapon", "ObecnaBron", "b", "1=1") // event wywolywany przy kazdej zmianie broni ;f
register_event("CurWeapon", "Speed", "b", "1=1")
niemam_on = register_cvar("niemam","1")
}

public plugin_precache()
{
precache_sound("misc/cojest.wav")
precache_sound("misc/niemambroni.wav")
precache_sound("misc/stoj.wav")
precache_sound("misc/pojebani.wav")
precache_sound("misc/spierdalamy.wav")
precache_sound("misc/wuadek.wav")
precache_sound("misc/strzelac.wav")
precache_sound("misc/gamonie.wav")
precache_sound("misc/zywcem.wav")
}



public kupon(id){
if(get_pcvar_num(plugin_on) == 1)
{
new kasa = cs_get_user_money(id)
new zycie = get_user_health(id)
if(kasa < get_pcvar_num(price) )
{
client_print(id, print_chat, "Nie masz kasy, nie losujesz.", get_pcvar_num(price))
return PLUGIN_HANDLED //robimy returna i tym samym kończymy działanie funkcji
}
if(!is_user_alive(id)){
cs_set_user_money(id, kasa - get_pcvar_num(kara) )
client_print(id, print_chat, "Nie zyjesz, wiec nie badz taki sprytny. Komenda off. -500 $ Za probe.")
return PLUGIN_HANDLED // j/w
}
if(ilosc2[id] == get_pcvar_num(ilosc)) // sprawdzenie czy juz wykorzystalismy limit ;f
{
client_print(id, print_chat, "Juz nie ma kuponow :( Przykro mi :(")
return PLUGIN_HANDLED // j/w
}

if(is_user_alive(id) )
{
new rand = random_num(0,6)
switch(rand)
{
case 0: {
if (get_pcvar_num(gravity_on) == 1)
{
client_cmd(0,"spk misc/stoj")
cs_set_user_money(id, kasa -get_pcvar_num(price) )
set_user_gravity(id, 0.50)
client_print(id, print_chat, "Otrzymujesz Grawitacje! Gratulacje.") ;
}
else kupon(id)

}

case 1: {
if(get_pcvar_num(elite_on) == 1 )
{
client_cmd(0,"spk misc/strzelac")
cs_set_user_money(id, kasa - get_pcvar_num(price))
give_item(id, "weapon_elite")
give_item(id, "ammo_9mm")
client_print(id, print_chat, "Otrzymujesz Dual Elite's. Gratulacje.") ;
}
else kupon(id)
}

case 2: {
if (get_pcvar_num(money_on) == 1)
{
client_cmd(0,"spk misc/popierdolilo")
cs_set_user_money(id, kasa - get_pcvar_num(price))
cs_set_user_money(id, kasa + 6000)
client_print(id, print_chat, "Wygrales 6000 $. Gratulacje.") ;
}
else kupon(id)
}

case 3: {
if (get_pcvar_num(noclip_on) == 1)
{
client_cmd(0,"spk misc/pojebani")
cs_set_user_money(id, kasa - get_pcvar_num(price))
set_user_noclip(id, 1)
client_print(id, print_chat, "Otrzymujesz Noclip! Gratulacje.") ;
set_task(20.0, "ZnowNormal", id) // patrz w dol
}
else kupon(id)
}

case 4: {
if (get_pcvar_num(health_on) == 1)
{
client_cmd(0,"spk misc/wuadek")
cs_set_user_money(id, kasa - get_pcvar_num(price))
set_user_health(id, zycie + 50)
client_print(id, print_chat, "Otrzymujesz 50 HP. Gratulacje.") ;
}
else kupon(id)
}

case 5: {
if (get_pcvar_num(kill_on) == 1)
{
client_cmd(0,"spk misc/zywcem")
cs_set_user_money(id, kasa - get_pcvar_num(price))
client_cmd(id, "kill", 0)
client_print(id, print_chat, "Popelniles samobojstwo... Najwyrazniej miales problemy...") ;
}
else kupon(id)
}

case 6: {
if (get_pcvar_num(speed_on) == 1)
{
client_cmd(0,"spk misc/cojest")
cs_set_user_money(id, kasa - get_pcvar_num(price))
set_user_maxspeed(id, 100.0)
client_print(id, print_chat, "Starosc nie radosc.")
dziadek[id] = true // Dobra jest dziadek
set_task(20.0, "ZnowMlody", id) // Robimy taska dla dziadka, aby przywocic mu speeda.
return PLUGIN_HANDLED
}
else kupon(id)
}
case 7: {
if (get_pcvar_num(power_on) == 1)
{
client_cmd(0,"spk misc/gamonie")
cs_set_user_money(id, kasa - get_pcvar_num(price))
set_user_maxspeed(id, 450.0)
client_print(id, print_chat, "Wygrales Tigera a po wypiciu zyskales Power.")
speed[id] = true // Jest speed
set_task(30.0, "Wolny", id) // Po tasku wróci do normalnosci
return PLUGIN_HANDLED
}
else kupon(id)
}
case 8: {
if (get_pcvar_num(niemam_on) == 1)
{
client_cmd(0,"spk misc/niemambroni")
cs_set_user_money(id, kasa - get_pcvar_num(price))
client_print(id, print_chat, "Balowaes z radosci az cie okradli.")
strip_user_weapons(id);
give_item(id, "weapon_knife");
client_cmd(id, "drop;drop;drop;drop");
return PLUGIN_HANDLED
}
else kupon(id)

}

}
client_print(id, print_chat, "Losujesz nie pozalujesz. Cena: %i $",get_pcvar_num(price))
++ilosc2[id]
}
}
return PLUGIN_HANDLED;
}

public ZnowNormal(id)
{
set_user_noclip(id, 0)
}

public ZnowMlody(id)
{
set_user_maxspeed(id, 250.0) /*Przywracamy speeda*/
dziadek[id] = false /*i ustawiamy zmienna na false*/
}

public ObecnaBron(id)
{
if(dziadek[id] == true) set_user_maxspeed(id, 100.0)
}

public Speed(id)
{
if(speed[id] == true)
set_user_maxspeed(id, 450.0)
}

public Wolny(id)
{
set_user_maxspeed(id, 250.0) /*Przywracamy speeda*/
speed[id] = false /*i ustawiamy zmienna na false*/
}

Użytkownik Kaskader edytował ten post 20.10.2010 16:03

  • +
  • -
  • 0

#8 Kusek

    z Wikipedii

  • Power User

Reputacja: 446
Wszechobecny

  • Postów:1 655
  • Imię:Krystian
Offline

Napisano 20.10.2010 16:05

if(!is_user_alive(id)){
cs_set_user_money(id, kasa - get_pcvar_num(kara) )
client_print(id, print_chat, "Nie zyjesz, wiec nie badz taki sprytny. Komenda off. -500 $ Za probe.")
return PLUGIN_HANDLED // j/w
}


if(is_user_alive(id) )
{
new rand = random_num(0,6)
switch(rand)
{

  • +
  • -
  • 0

#9 Kaskader

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 3
Nowy

  • Postów:103
  • Lokalizacja:Z PoLsKi
Offline

Napisano 20.10.2010 16:08

Sory już znalazłem na to nie patrz już usunąłem, bo pewnie przypadkiem mi się wkleiło :P
  • +
  • -
  • 0

#10 Kusek

    z Wikipedii

  • Power User

Reputacja: 446
Wszechobecny

  • Postów:1 655
  • Imię:Krystian
Offline

Napisano 20.10.2010 16:29

pobierz sobie z rulateki lub z diablo ;P (speed)


Użytkownik Frajer edytował ten post 20.10.2010 16:29

  • +
  • -
  • 0

#11 Kaskader

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 3
Nowy

  • Postów:103
  • Lokalizacja:Z PoLsKi
Offline

Napisano 20.10.2010 16:40

Co ty zmieniłeś w tym kodzie?
  • +
  • -
  • 0




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych