Reset Statystyk 2014
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
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
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 Troszku inniejsza, może Ci się przyda
Załączone pliki
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.
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