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): /
Bilo bi lakse da igrac upise /odgovor [text] bez dialoga (bar po meni lakse :D)
pa dobro moze i to svejedno
Pa napravis pitanja i odgovore, i provjeris dal se odgovor na pitanje koji je igrac dao poklapa sa tacnim odgovorom, nije to tesko napisati
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
[pawn]#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[128],
Odgovor[32],
Aktivno //Ovo ti sluzi za provjeru da li je to pitanje aktivno (taj broj pitanja), ako jeste provjerava odgovor istog
}
new
Pitanje[BROJPITANJA][questions] = {
// pitanje, odgovor
{"Koja zivotinja jede mrkvu?", "Zec"},
{"Ko je kralj zivotinja?", "Lav"}
};[/pawn]
Eto ti primjer kako ćeš definisat pitanja, još trebaš napravit random pitanje.
Edit: Obrisite gornji post
Evo ti kod provjeri dal radi:
[pawn]#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[32] = "";
new globalstring[256];
enum questions
{
Ask[128],
Odgovor[32]
}
new
Pitanje[BROJPITANJA][questions] = {
// 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[questionnum][Odgovor]);
format(globalstring, sizeof(globalstring), "Pitanje: %s (/odgovor)", Pitanje[questionnum][Ask]);
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;
}
[/pawn]
Hvala ti mnogo, radi, može LOCK