←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

[ROZWIĄZANE] Użycie danej komendy raz na r...


Najlepsza odpowiedź Petpat 24.12.2014 15:41

dawidxi, to nie tak, zobacz mój kod

#include <amxmodx>
#include <fun>

new
PLUGIN[] = "jakistam",
WERSJA[] = "1.0",
AUTOR[] = "..."

new uzyl[33]

public plugin_init(){
    register_plugin(PLUGIN, WERSJA, AUTOR)
    
    register_clcmd("say /komenda", "wykonaj")
    register_clcmd("say_team /komenda", "wykonaj")
    
    register_event("HLTV", "NowaRunda", "a", "1=0", "2=0");
}

public client_connect(id){
    uzyl[id] = false
}

public wykonaj(id){
    if(!uzyl[id]){
        set_user_health(id, get_user_health(id)+35)
        client_print(id, 3, "Hp wzroslo o 35")
        uzyl[id] = true
    } else {
        client_print(id, 3, "Niestety, ale wykorzystales ta komende, gdy rozpocznie sie nowa runda znow bedziesz mogl ja uzyc")
    }
}

public NowaRunda(){
    for(new id = 1; id <= get_maxplayers(); id++){
        uzyl[id] = false
    }
}

TibacK, nie musi być bool, skoro przy połączeniu się z serwerem jest ustawiona wartość false

 

 

Przejdź do postu
Zablokowany

dawidxi - zdjęcie dawidxi 24.12.2014

Witam,

 

Jak zrobić by gracz mógł użyć danej komendy raz na rundę ?

Odpowiedz

  • +
  • -
Rivit - zdjęcie Rivit 24.12.2014

new bool:uzyl[33];

przy connect ustawiasz na false
gdy wpisze komende ustawiasz na true
w publicu odpowiadającym za komende sprawdzasz czy uzyl czy nie (jesli nie, to moze uzyc wtedy)
w nowej rundzie ustawiasz cala tablice na false :P
Odpowiedz

dawidxi - zdjęcie dawidxi 24.12.2014

Hmm tak by to miało wyglądać?:

#include <amxmodx>
#include <fun>


#define PLUGIN "PLUG"
#define VERSION "1.0"
#define AUTHOR "Dawid"

new bool:uzyl[33];

public plugin_init()
{
   register_plugin(PLUGIN, VERSION, AUTHOR)
   register_clcmd("say /dodajhp","hp")
   client_connect(id)
   uzyl[id] = true
}
public hp(id)
{
   set_user_health(id, 150)
   client_print(id, print_center, "Ustawiono Ci 150hp)
}
public client_connect(id)
    uzyl[id] = false;
public NowaRunda()
{

    uzyl = false

}



Odpowiedz

  • +
  • -
Najlepsza odpowiedź Petpat - zdjęcie Petpat 24.12.2014

dawidxi, to nie tak, zobacz mój kod

#include <amxmodx>
#include <fun>

new
PLUGIN[] = "jakistam",
WERSJA[] = "1.0",
AUTOR[] = "..."

new uzyl[33]

public plugin_init(){
    register_plugin(PLUGIN, WERSJA, AUTOR)
    
    register_clcmd("say /komenda", "wykonaj")
    register_clcmd("say_team /komenda", "wykonaj")
    
    register_event("HLTV", "NowaRunda", "a", "1=0", "2=0");
}

public client_connect(id){
    uzyl[id] = false
}

public wykonaj(id){
    if(!uzyl[id]){
        set_user_health(id, get_user_health(id)+35)
        client_print(id, 3, "Hp wzroslo o 35")
        uzyl[id] = true
    } else {
        client_print(id, 3, "Niestety, ale wykorzystales ta komende, gdy rozpocznie sie nowa runda znow bedziesz mogl ja uzyc")
    }
}

public NowaRunda(){
    for(new id = 1; id <= get_maxplayers(); id++){
        uzyl[id] = false
    }
}

TibacK, nie musi być bool, skoro przy połączeniu się z serwerem jest ustawiona wartość false

 

 


Użytkownik Petpat edytował ten post 24.12.2014 15:43
Odpowiedz

  • +
  • -
Droso - zdjęcie Droso 24.12.2014

new bool:uzyl[33]

 

Bedzie lepsze, chyba, że chcesz zrobić użycie komendy np. 2 razy na rundę :P


Użytkownik Droso edytował ten post 24.12.2014 16:39
Odpowiedz

bicek - zdjęcie bicek 24.12.2014

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Pomoc udzielona

Jeśli się z tym nie zgadzasz, report.png raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.


Z pozdrowieniami,
Zespół AMXX.PL
Odpowiedz
Zablokowany