Skocz do zawartości

  • Zaloguj korzystając z Facebooka Zaloguj korzystając z Twittera Zaloguj przez Steam Zaloguj poprzez Google      Logowanie »   
  • Rejestracja

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

Usuwanie wpisów z pliku tekstowego


  • Zamknięty Temat jest zamknięty
1 odpowiedź w tym temacie

#1 splot

    Życzliwy

  • Zbanowany

Reputacja: 6
Nowy

  • Postów:23
  • Lokalizacja:AMXX Studio
Offline

Napisano 01.09.2012 23:16

Witam.

Chciałbym zrobić, aby czas gry na serwerze był zapisywany do pliku tekstowego i później wczytywany jak wejdzie gracz (Zapis SID lub Nick w zależności od platformy)
Wszystko ładnie działa, ale co jakiś czas odejmuje (zmniejsza zapisaną wartość) lub usuwa całkowicie.

Mam nadzieję, że ktoś pomoże :)


#include <amxmodx>
#include <colorchat>

#define PLUGIN "Czas Gry"
#define VERSION "1.0"
#define AUTHOR "splot"

new gszFile[201], czas[33]

new steam_id[35], nick[32], adres[256], iLen, Text[32]

public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /czasgry", "pokaz_czas_gry")

formatex(gszFile, 200, "addons/amxmodx/configs/CzasGry/")
}

public client_putinserver(id) {
if(!is_user_steam(id)) return PLUGIN_CONTINUE

get_user_authid(id, steam_id, 34)
get_user_name(id, nick, 31)

replace_all(steam_id, 34, ":", "-")
replace_all(nick, 31, "\", "-")
replace_all(nick, 31, "/", "-")
replace_all(nick, 31, ":", "-")
replace_all(nick, 31, "*", "-")
replace_all(nick, 31, "?", "-")
replace_all(nick, 31, "^"", "-")
replace_all(nick, 31, "<", "-")
replace_all(nick, 31, ">", "-")
replace_all(nick, 31, "|", "-")

if(is_user_steam(id)) formatex(adres, 255, "%s%s.ini", gszFile, steam_id)
else formatex(adres, 255, "%s%s.ini", gszFile, nick)
if(file_exists(adres)) {
read_file(adres, 0, Text, 31, iLen)
trim(Text)
czas[id] = str_to_num(Text)
}
else czas[id] = 0

return PLUGIN_HANDLED
}

public pokaz_czas_gry(id){
if(!is_user_steam(id)) return PLUGIN_HANDLED

new iCurTime = get_user_time(id , 1)
new Time = czas[id]
if((iCurTime + Time) / 60 < 60) ColorChat(id, GREEN, "[2]^x01 Spedziles na serwerze^x03 %d^x01 min.", (iCurTime + Time) / 60)
else ColorChat(id, GREEN, "[2]^x01 Spedziles na serwerze^x03 %d^x01 h^x03 %02d^x01 min.", (iCurTime + Time) / 3600, ((iCurTime + Time) / 60) % 60)
return PLUGIN_HANDLED
}

public client_disconnect(id) {
if(!is_user_steam(id)) return PLUGIN_HANDLED

new Text[200]
get_user_authid(id, steam_id, 34)
get_user_name(id, nick, 31)

replace_all(steam_id, 34, ":", "-")
replace_all(nick, 31, "\", "-")
replace_all(nick, 31, "/", "-")
replace_all(nick, 31, ":", "-")
replace_all(nick, 31, "*", "-")
replace_all(nick, 31, "?", "-")
replace_all(nick, 31, "^"", "-")
replace_all(nick, 31, "<", "-")
replace_all(nick, 31, ">", "-")
replace_all(nick, 31, "|", "-")

if(is_user_steam(id)) formatex(adres, 255, "%s%s.ini", gszFile, steam_id)
else formatex(adres, 255, "%s%s.ini", gszFile, nick)
new szCzas = get_user_time(id , 1) + czas[id]
num_to_str(szCzas, Text, 199)
write_file(adres, Text, 0)
return PLUGIN_HANDLED
}

stock bool:is_user_steam(id) {
get_user_authid(id, steam_id, 34)
return contain(steam_id, ":") != -1 ? true : false
}

Użytkownik splot edytował ten post 01.09.2012 23:17


#2 Adminek AMXX.PL

    Admin :)

  • Bot

Reputacja: 156
Profesjonalista

  • Postów:7171
  • Lokalizacja:AMXX.PL
Offline

Napisano 02.09.2012 01:35

Wiadomość wygenerowana automatycznie

Ten temat został zamknięty przez moderatora.

Powód: Autor tematu zbanowany

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

Z pozdrowieniami,
Zespół AMXX.PL






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

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