←  Pluginy AMXX

AMXX.pl: Support AMX Mod X i SourceMod

»

Reset Statystyk 2014

Oporowiec. - zdjęcie Oporowiec. 18.07.2014

Autor: Oporowiec. (37972)
Opis: Po wpisaniu komendy:

  • /rs
  • /reset

        Nasze: Śmierci, zabójstwa oraz pieniądze zostaną zresetowane.
          Zwykły gracz swoje statystyki może zresetować raz na mapę natomiast VIP może aż 5 razy.
 
          Za każdym razem gdy wpiszemy komendę zostaniemy poinformowani (na chacie), który raz została ona użyta na dodatek na samej górze ekranu wyświetlana jest wiadomość HUD dzięki której widzimy ile razy użyliśmy komendy i jaki mamy limit użycia.
 
Instalacja: Standardowa - http://amxx.pl/topic...-pluginow-amxx/.
Konfiguracja pluginu: Otwieramy plik: ResetStatystyk.sma i edytujemy:

  • " #define MAX_UZYC 3 " - W tym miejscu zmieniamy maksymalną liczbę resetowań statystyk gracza.
  • " #define MAX_UZYC_VIP 5 " - W tym miejscu zmieniamy maksymalną liczbę resetowań statystyk VIPa.
  • " #define VIP ADMIN_LEVEL_H " W tym miejscu zmieniamy flage VIPa.

Inne: Mam zamiar wydać wersję 2.0 jednak nie wiem czy dam radę zrobić to co mam aktualnie w planach.
Inne 2: W razie jakichkolwiek problemów proszę pisać w tym temacie.

Pozdrawiam, 37972

Załączone pliki

Odpowiedz

  • +
  • -
Rivit - zdjęcie Rivit 19.07.2014

1.

#define ZADANIE_INFO 768

public client_connect(id)
{
    remove_task(id+ZADANIE_INFO);
}

public client_disconnect(id)
{
    remove_task(id+ZADANIE_INFO);
}

Po co to? Nie tworzysz taska z takim id.

 

2.

#define VIP ADMIN_LEVEL_H
/* ... */
ShowSyncHudMsg(id, SyncHudObj, "-=Reset Statystyk=-^n-=%d/%d=-", licznik[id], get_user_flags(id) & ADMIN_LEVEL_H ? MAX_UZYC_VIP : MAX_UZYC);

Patrz na koniec 2 linii. Ustawiłeś na sztywno zamiast dać tam VIP

 

3.

/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1033\\ f0\\ fs16 \n\\ par }
*/

Profesjonalizm xD

 

4.

public client_authorized(id)
	licznik[id] = 0

Zerujesz licznik w connect i authorized. Lepiej przy connect i disconnect.

 

5.

#include <amxmisc>

Nie potrzebne

 

6.

public zresetuj(id)
{
		if(is_user_connected(id) && licznik[id] < MAX_UZYC_VIP)
		{
			//
		}
		
		if(is_user_connected(id) && licznik[id] < MAX_UZYC)
		{
			//
		}
}

Możesz sprawdzać czy gracz jest podłączony na początku funkcji.

 

7. Całą funkcje zresetuj() można by krócej zrobić. Powtarza się dość spora część kodu.

 

8.

else ColorChat(id, GREEN, "ResetStatystyk^x01 Zresetowales statystyki juz ^x03 %d^x01 razy i komenda zostala zablokowana.", MAX_UZYC_VIP, " razy");
//nizej to samo

Na końcu. Co to jest? " razy"

 

9.

set_task(0.1, "WyswietlHUD", id+ZADANIE_HUD); //client_connect
set_task(0.1, "WyswietlHUD", id+ZADANIE_HUD); //WyswietlHUD

Wystarczy dać flagę taska "b" i nie dawać 2x tego samego. W public WyswietlHUD(id) przydało by się sprawdzić czy gracz jest połączony. Wg mnie taski 0.1s są zbyt "gęste" dla takiej informacji, która się rzadko zmienia. Można dać 1.5 i w set_hudmessage czas wiadomości na 1.4 (albo 1.5).

 

10. Moja wersja xD Troszku inniejsza, może Ci się przyda :)

Załączone pliki

Odpowiedz

Oporowiec. - zdjęcie Oporowiec. 19.07.2014

na pewno mi się przyda bo Twój kod zastąpi mój w v2 pluginu :)
a co do mojego kodu to na ten czas aktualnie się uczę pisać w PAWN'ie.

Odpowiedz

  • +
  • -
tytusek - zdjęcie tytusek 21.07.2014

fajne ale ma to wadę jak nie ma się hasła na nick to podszywy będą na nicki graczy wchodzisz i na złość resetować żeby samemu być wyżej w ranku

dało by rade zrobić dla graczy tylko VIP ? bo vip będzie mieć hasło i nikt mu się nie wpieprzy

Odpowiedz