Skocz do zawartości
Ruzio

[Rozwiązane] Przerobienie pluginu

Rekomendowane odpowiedzi

#include <sourcemod>

int g_iZmiennaPrzetrzymujacaCzasAbySprawdzacCzyMoznaWyslacWiadomosc;


public void OnMapStart() {
    g_iZmiennaPrzetrzymujacaCzasAbySprawdzacCzyMoznaWyslacWiadomosc = 0;
}
public void OnPluginStart() {
    RegConsoleCmd("sm_cele", cmd_cele, "Ciekawy opisik chyba cnie?");
}

public Action cmd_cele(int client, int args) {
    if(g_iZmiennaPrzetrzymujacaCzasAbySprawdzacCzyMoznaWyslacWiadomosc >= GetTime())
        return;
        
    PrintHintTextToAll(" CELE MAPY albo KICK!!!");
    g_iZmiennaPrzetrzymujacaCzasAbySprawdzacCzyMoznaWyslacWiadomosc = GetTime()+30;
}

Chcialbym aby po wpisaniu drugi raz komende !cele, wyswietala sie wiadomosc, ze za X czasu mozesz uzyc znow tej komendy

AKTUALNIE JEST TAK:

Wpisuje !cele, jest wyswietlona wiadomosc dla wszystykich i inny gracz moze ja dopiero wpisac za 30 sekund

Jesli nie minelo 30sekund od poprzedniego wpisania komendy to nie mozna wyswietlic wiadomosci i nic sie nie pojawia, po prostu komenda nie dziala

CHCIALBYM ZEBY BYLO TAK:

Po wpisaniu cele wyswietlila sie wiadomosc dla wszystkich (tak aktualnie jest)- ale po wpisaniu drugi raz dla osoby wywolujacej komende (client) wyswietlila sie komenda ze za X czasu dopiero mozna uzyc tej komendy, i tam gdzie jest X wykrylo czas do mozliwego uzycia nastepnej komendy 😄

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Zrobiłem ze dla osoby pokazuje ze musi poczekac 30 sekund nie zrobiłem zmiennej ile zostało sekund
 

#include <sourcemod>

int g_iZmiennaPrzetrzymujacaCzasAbySprawdzacCzyMoznaWyslacWiadomosc;

public void OnMapStart() {
    g_iZmiennaPrzetrzymujacaCzasAbySprawdzacCzyMoznaWyslacWiadomosc = 0;
}
public void OnPluginStart() {
    RegConsoleCmd("sm_cele", cmd_cele, "Ciekawy opisik chyba cnie?");
}

public Action cmd_cele(int client, int args) 
{
    if(g_iZmiennaPrzetrzymujacaCzasAbySprawdzacCzyMoznaWyslacWiadomosc >= GetTime())
    {
        PrintHintText(client, " Musisz poczekać 30 sekund!");
        return;
    }     
    PrintHintTextToAll(" CELE MAPY albo KICK!!!");
    g_iZmiennaPrzetrzymujacaCzasAbySprawdzacCzyMoznaWyslacWiadomosc = GetTime()+30;
}

 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Gość
#include <sourcemod>

int g_iZmiennaPrzetrzymujacaCzasAbySprawdzacCzyMoznaWyslacWiadomosc[MAXPLAYERS+1];


public void OnMapStart() {
    for(int i = 0; i < MaxClients; i++)
        g_iZmiennaPrzetrzymujacaCzasAbySprawdzacCzyMoznaWyslacWiadomosc[i] = 0;
}
public void OnPluginStart() {
    RegConsoleCmd("sm_cele", cmd_cele, "Ciekawy opisik chyba cnie?");
}

public Action cmd_cele(int client, int args) {
    if(g_iZmiennaPrzetrzymujacaCzasAbySprawdzacCzyMoznaWyslacWiadomosc[client] >= GetTime()) {
        PrintHintText(client, "Hola hola, poczekaj panie %i sekund!", g_iZmiennaPrzetrzymujacaCzasAbySprawdzacCzyMoznaWyslacWiadomosc[client] - GetTime());
        return Plugin_Handled;
    }
        
    PrintHintTextToAll(" CELE MAPY albo KICK!!!");
    g_iZmiennaPrzetrzymujacaCzasAbySprawdzacCzyMoznaWyslacWiadomosc[client] = GetTime()+30;
    return Plugin_Handled;
}

 

A widzisz? Jednak usunąłeś autora, mimo mojej wzmianki o spawalni. 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Wiadomość wygenerowana automatycznie

 

Problem został rozwiązany

Jeżeli się z tym nie zgadzasz, raportuj ten post

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.

×
×
  • Dodaj nową pozycję...