Skripta koju koristim: UP
Detaljan opis problema: Hoću da napravim kao neki kviz na serveru i da napravim nekoliko pitanja iz raznih oblasti i da random vreme izbaci to pitanje i kada ja ukucam npr /odgovor da mi izbaci dialog sa ponudjenim odgovorima i ako odgovori tacno dobije odredjenu sumu novca, al' nikako nmg da skontam kako to da napravim, ako bi mogao neko da mi objasni il ako ima u nekom modu nesto slicno tome pa da vidim, bio bih zahvalan samo da mi neko objasni odprilike kako to da uradim
Dio skripte: /
Neke slike/video za lakse dobivanje pomoci(neobavezno): /
Oko kviza
479
pregleda
8
postova
22. Jun 2017.
Najbolje i najjednostavnije ti je da na jednu global promenljivu stavljas pitanje a na drugu odgovor. Npr imas komandu /napravipitanje pitanje odgovor. Igrac kuca odgovor sa /odgovor i onda proveravas da li se uneto poklapa sa sadrzajem promenljive. Ako se poklapa dobije pare a promenljiva za kviz na nulu ili ako ke bolean onda false i sa tim ugasis kviz. Lako je ali tu imas veliki problem sa razmacima
22. Jun 2017.
#DEFINE BROJPITANJA 2 //Broj tvojih pitanja (koliko ih ima)
new bool:aktivnopitanje; // Ako je true, znaÄi da je već postavljeno pitanje i timer ga nece dati, ako je false, timer postavlja pitanje
enum questions
{
Pitanje,
Odgovor,
Aktivno //Ovo ti sluzi za provjeru da li je to pitanje aktivno (taj broj pitanja), ako jeste provjerava odgovor istog
}
new
Pitanje = {
// pitanje, odgovor
{"Koja zivotinja jede mrkvu?", "Zec"},
{"Ko je kralj zivotinja?", "Lav"}
};Eto ti primjer kako ćeš definisat pitanja, još trebaš napravit random pitanje.
22. Jun 2017.
Edit: Obrisite gornji post
Evo ti kod provjeri dal radi:
Evo ti kod provjeri dal radi:
#DEFINE BROJPITANJA 2 //Broj tvojih pitanja (koliko ih ima)
new bool:aktivnopitanje; // Ako je true, znaÄi da je već postavljeno pitanje i timer ga nece dati, ako je false, timer postavlja pitanje
new QuestionAnswer = "";
new globalstring;
enum questions
{
Ask,
Odgovor
}
new
Pitanje = {
// pitanje, odgovor
{"Koja zivotinja jede mrkvu?", "Zec"},
{"Ko je kralj zivotinja?", "Lav"}
};
public OnGameModeInit()
{
aktivnopitanje = false;
SetTimer("AskingTimer", 60000, 1);
}
forward AskingTimer();
public AskingTimer()
{
if(!aktivnopitanje)
{
new questionnum = random(BROJPITANJA);
format(QuestionAnswer, sizeof(QuestionAnswer), "%s", Pitanje);
format(globalstring, sizeof(globalstring), "Pitanje: %s (/odgovor)", Pitanje);
SendClientMessageToAll(-1, globalstring);
aktivnopitanje = true;
}
}
YCMD:odgovor(playerid, params[], help)
{
if(!aktivnopitanje) return SendClientMessage( playerid, -1, "Nema postavljenih pitanja.");
if(!strcmp(QuestionAnswer, params, false))
{
aktivnopitanje = false;
SendClientMessage( playerid, -1, "Cestitamo, dobio si 300$ zbog tacnog odgovora. (%s)", QuestionAnswer);
GivePlayerMoney( playerid , 300 );
}
return 1;
}
Morate biti prijavljeni da biste odgovorili na ovu temu.
Prijava