Skocz do zawartości

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
Naprawienie

naprawa odliczania i warningi

naprawienie

  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
6 odpowiedzi w tym temacie

#1 unknowN.

    Profesjonalista

  • Użytkownik

Reputacja: 0
Nowy

  • Postów:196
  • Imię:Mateusz
  • Lokalizacja:polska
Offline

Napisano 14.10.2012 10:08

Mam taki problem że nieraz odlicza np. od 5/6sec a nie tak jak jest ustawione od 15 czy też 16. Proszę o naprawę , oraz wyswietla się 5warningów przy kompilacji może to dla tego.

Załączone pliki


  • +
  • -
  • 0

#2 Gość_21977_*

  • Gość

Reputacja: 0

Offline

Napisano 14.10.2012 14:22

Najprawdopodobniej problem leży w zmiennej iTemp.
W przypadku odgadnięcia na czas przez kogoś, nie jest ona zerowana.

Do EndQuestion oraz Oraz do cmdSay :: is_text :: equal(szText, gText[gText_id])
(czyli w momencie końca czasu oraz poprawnej odpowiedzi) polecenie:
dodaj iTemp = 0;


Przy okazji, bo aż mnie skręca od tego goto i bardzo nieoptymalnego losowania:
Fragment
		ponow:
gText_id = random_num(1, gTextNum)
if(gText_id == gText_lastid || gText_id == gText_lastid2)
goto ponow
zamień na
		gText_id = random_num(1, gTextNum-(gText_lastid>0?1:0)-(gText_lastid2>0?1:0))
if(gText_lastid && gText_id>=gText_lastid) ++gText_id
if(gText_lastid2 && gText_id>=gText_lastid2) ++gText_id


A warningi dotyczyły istnienia nieużywanego ColorChatu, usuń nieużywany
#include <ColorChat>


#3 unknowN.

    Profesjonalista

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:196
  • Imię:Mateusz
  • Lokalizacja:polska
Offline

Napisano 14.10.2012 14:42

Prosiłbym o gotowiec
  • +
  • -
  • 0

#4 Gość_21977_*

  • Gość

Reputacja: 0

Offline

Napisano 14.10.2012 15:13

Załączony plik  dyktando.sma   2,75 KB  40 Ilość pobrań
  dyktando.amxx


#5 unknowN.

    Profesjonalista

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:196
  • Imię:Mateusz
  • Lokalizacja:polska
Offline

Napisano 15.10.2012 16:29

ok ale jeszcze jedno mam pytanie bo nie wyświetla się napis: Nikt nie napisal ...
  • +
  • -
  • 0

#6 sNH.

    Czy MisieQ ukradł ciasteczko?

  • Power User

Reputacja: 299
Wszechwidzący

  • Postów:1 070
  • Steam:steam
  • Imię:Bartek
  • Lokalizacja:Ełk
Offline

Napisano 22.10.2012 21:29

Zobacz tak:


#include <amxmodx>
#include <cstrike>
#include <fun>

#define PLUGIN "Dyktando"
#define VERSION "1.0"
#define AUTHOR "tomcionek15 & grs4"

#define MAX_QUESTION 50

new gFile[] = "addons/amxmodx/configs/dyktando.txt";

new gText[MAX_QUESTION+1][128];
new gReward[MAX_QUESTION+1];

new gText_id;
new gText_lastid;
new gText_lastid2;
new gTextNum;

new g_answer_time;
new g_time;

new bool:is_text;
new iTemp;

// Wazne
// Minimum 5 slow do napisania!!!
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)

register_clcmd("say", "cmdSay")

g_answer_time = register_cvar("dyk_czas_odpowiedzi", "15"); // Ile jest czasu na napisanie
g_time = register_cvar("dyk_co_ile_pytanie", "5"); // Co ile minut ma byc pytanie

LoadFile();

set_task(float(get_pcvar_num(g_time)*60), "SetQuestion", 72826, _, _, "b")
}

public cmdSay(id)
{
new szText[128];
read_args(szText, 127)

remove_quotes(szText);

if(is_text)
{
if(equal(szText, gText[gText_id]))
{
new szNick[33];
get_user_name(id, szNick, 32)

client_print(0, print_center, "Gracz: %s pierwszy napisal ^"%s^" i otrzymuje %d fragow", szNick, gText[gText_id], gReward[gText_id])

set_user_frags(id, get_user_frags(id)+gReward[gText_id])
is_text = false;
gText_id = 0
iTemp = 0;

remove_task(2212, 0)
remove_task(5515, 0)
return PLUGIN_CONTINUE
}
else
{
client_print(0, print_center, "Nikt nie napisal ^"%s^"", gText[gText_id])
}
}

return PLUGIN_CONTINUE
}

public EndQuestion()
{
client_print(0, print_center, "Nikt nie napisal ^"%s^"", gText[gText_id])

gText_id = 0;
is_text = false;
iTemp = 0;

remove_task(2212, 0)
remove_task(5515, 0)
return PLUGIN_CONTINUE
}

public SetQuestion()
{
if(gTextNum)
{
gText_id = random_num(1, gTextNum-(gText_lastid>0?1:0)-(gText_lastid2>0?1:0))
if(gText_lastid && gText_id>=gText_lastid) ++gText_id
if(gText_lastid2 && gText_id>=gText_lastid2) ++gText_id

gText_lastid2 = gText_lastid
gText_lastid = gText_id

is_text = true;

set_task(1.0, "ShowInfo", 5515, _, _, "b")
set_task(float(get_pcvar_num(g_answer_time)), "EndQuestion", 2212);
}
}

public ShowInfo()
{
iTemp++;
if(get_pcvar_num(g_answer_time)-iTemp <= 0 || !is_text)
{
remove_task(5515, 0)
remove_task(2212, 0)
iTemp = 0;
return PLUGIN_CONTINUE
}
client_print(0, print_center, "Kto pierwszy napisze: ^"%s^" | wygra: %d fragow | %d sek", gText[gText_id], gReward[gText_id], get_pcvar_num(g_answer_time)-iTemp)
return PLUGIN_CONTINUE
}
public LoadFile()
{
new szText[256], szTemp[2][128], len;

for(new i = 1; read_file(gFile, i-1, szText, 255, len) ; i++)
{
parse(szText, szTemp[0], 127, szTemp[1], 127)

copy(gText[i], 127, szTemp[0])
gReward[i] = str_to_num(szTemp[1])

gTextNum++;
}
}


Esle na szybko na klawie ekranowej, ponieważ normalna mi nie działa xD
  • +
  • -
  • 0

#7 unknowN.

    Profesjonalista

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:196
  • Imię:Mateusz
  • Lokalizacja:polska
Offline

Napisano 23.10.2012 17:47

Niestety nie działa ;/
  • +
  • -
  • 0





Również z jednym lub większą ilością słów kluczowych: naprawienie

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

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