[Pomoc] oko komande pitaj


Započeo CoNe98, Novembar 12, 2014, 00:12:41 PRE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

Skripta koju koristim: LSRP
Detaljan opis problema:  Pozdrav hteo sam da vas pitam da li zna neko kako bih mogao da unapredim komandu /pitaj (da umesto odma neko kuca sta mu treba npr /pita[text]) otvori mu dialog i tu u dialogu lepo ispise sta mu treba

A drugo kako da napravim da to pitanje ili prijava kada se postavi ode na neku recimo asklistu i da taj igrac moze da izajde sa servera ali kada se vrati da moze da pogleda odgovor koju mu je poslao neki admin/helper.
Hvala unapred.
Dio skripte: recite koji treba
Neke slike/video za lakse dobivanje pomoci(neobavezno): http://www.dodaj.rs/f/2f/Lx/2vHnsNv1/sa-mp-416.png
Za drugo pitanje nemam sliku

Jednostavno kreiraj dialog u toj komandi i kada mu se pojavi dialog onda upise sta zeli i lupi enter i administracija dobije poruku sta je igrac napisao
http://wiki.sa-mp.com/wiki/ShowPlayerDialog

Posalji /pitaj ako vec imas i kako mislis  asklistu?
Poslednja Izmena: Novembar 12, 2014, 19:22:47 POSLE PODNE od Elm0P2
No

Mislim kao da neki igrac posalje svoje pitanje a/s da to pitanje ode na neku listu pitanja (da to bude neka komanda npr /viewlistofque za a/s) i da taj igrac moze da pogleda odgovor (ako izadje sa servera ) odnosno da pogleda odgovor kada se vrati na server uz pomoc komande recimo /viewanswer.

A za prvo pitanje, gde ja treba da ubacim taj dijalog tacno jer kada ga samo ubacim u komandu i definisem izbaci eror da nema efekta ( predpostavljam da treba da se uradi on ondialogresponse)

PASTEBIN: http://pastebin.com/T6Dc6eZ9

Ako moze recite mi gde da ubacim taj dialog i kako da ga povezem da radi :)

To je tesko ocigledno koliko vidim ne razumes se toliko da bih to sredio,zasto ti to uopste treba ?

i am king!

Evo probaj ovako:
Na pocetku skripte stavi
#define DIALOG_PITAJ 421
CMD:pitaj(playerid, params[])
	{
	    if(UlogovanProvera[playerid] == 0) return SCM(playerid,-1,"{F81414}GL:RP | "BELA"Moras se ulogovati da bi koristio ovu komandu!");
        if(ServerInfo[isPitanja] == 1) return SCM(playerid,-1,"[GL:RP] "CRVENA"Pitanja su trenutno iskljucena, pokusajte kasnije!");
    	if(PlayerInfo[playerid][pMutiran] != 0) return SCM(playerid,-1, "[GL:RP] {FFFFFF}Mutirani ste ne mozete koristiti chat!");
        if(gettime() < hPomoc[playerid]) return SCM(playerid, -1, ""SIVA"Ovu komandu mozete koristiti svakih 60 sekundi!");
    	if(PlayerInfo[playerid][pZatvor] != 0) return SCM(playerid,-1,"GL:RP | "CRVENA"Ne mozete koristiti ovu komandu jer ste zatvoreni!");
        new adm = 0;
        foreach(Player, i) { if(PlayerInfo[i][pGM] > 0 || PlayerInfo[i][pAdmin] > 0 || PlayerInfo[i][pSekretarica] > 0) adm++; }
        if(adm == 0) return SCM(playerid, -1, "{F81414}[GL:RP] {FFFFFF}Nema Admina & Helpera Online pa nemozete slati pitanje!");
		ShowPlayerDialog(playerid, DIALOG_PITAJ, DIALOG_STYLE_INPUT, "OVDE NAPISI STA ZELIS", "U prazno polje upisite vase pitanje za admine","Posalji","Zatvori");
		return 1;
	}


Onda pod OnDialogResponse
if(dialogid == DIALOG_REPORT)
	{
	    if(response)
		{
			new string[128],stringlog[256], sadrzaj[128];
		    SCM(playerid, SERVER_PLAVA, "[INFO] {FFFFFF}Poslali ste poruku online adminima i helperima!");
			format(string, sizeof(string), ""PLAVA"[Pitanje] Igrac od %s-a [ID:%d]: %s", GetName(playerid),playerid,sadrzaj);
			AdminGameMaster(CRVENA, string);
		    format(stringlog,sizeof(stringlog), "[POMOC] %s (%d): %s",GetName(playerid), playerid, sadrzaj);
			Asklista(stringlog);hPomoc[playerid] = gettime() + 60;
	  	}
	}


I na kraju skripte ubaci
forward Asklista(string[]);
	public Asklista(string[])
	{
		new sadrzaj[256],File:hFile;
		format(sadrzaj, sizeof(sadrzaj), "%s\r\n",string);hFile = fopen("Asklista.log", io_append);fwrite(hFile, sadrzaj);fclose(hFile);
	}
I trebalo bi da radi onako kako je zamisljeno... :D
Poslednja Izmena: Novembar 18, 2014, 16:27:49 POSLE PODNE od [BS]SimkE

@[BS]SimkE: definisao si DIALOG_PITAJ , a stavio si if(dialogid == DIALOG_REPORT) .. Eto te male zamjerke i jos jedna je sto mu u cmd stavljas ove
CMD:pitaj(playerid, params[])
	{
	    if(UlogovanProvera[playerid] == 0) return SCM(playerid,-1,"{F81414}GL:RP | "BELA"Moras se ulogovati da bi koristio ovu komandu!");//ovo mozda nema definisano
        if(ServerInfo[isPitanja] == 1) return SCM(playerid,-1,"[GL:RP] "CRVENA"Pitanja su trenutno iskljucena, pokusajte kasnije!");//ovo mozda nema definisano
    	if(PlayerInfo[playerid][pMutiran] != 0) return SCM(playerid,-1, "[GL:RP] {FFFFFF}Mutirani ste ne mozete koristiti chat!");//ovo mozda nema definisano
        if(gettime() < hPomoc[playerid]) return SCM(playerid, -1, ""SIVA"Ovu komandu mozete koristiti svakih 60 sekundi!");//ovo mozda nema definisano
    	if(PlayerInfo[playerid][pZatvor] != 0) return SCM(playerid,-1,"GL:RP | "CRVENA"Ne mozete koristiti ovu komandu jer ste zatvoreni!");//ovo mozda nema definisano
        new adm = 0;
        foreach(Player, i) { if(PlayerInfo[i][pGM] > 0 || PlayerInfo[i][pAdmin] > 0 || PlayerInfo[i][pSekretarica] > 0) adm++; }
        if(adm == 0) return SCM(playerid, -1, "{F81414}[GL:RP] {FFFFFF}Nema Admina & Helpera Online pa nemozete slati pitanje!");
		ShowPlayerDialog(playerid, DIALOG_PITAJ, DIALOG_STYLE_INPUT, "OVDE NAPISI STA ZELIS", "U prazno polje upisite vase pitanje za admine","Posalji","Zatvori");
		return 1;
	}
Eto to je to sto sam ja zamjerio ali uglavnom [BS]SmikE ti je dobro rekao :)


evo ovako prvo ides dialog definirati
#define DIALOG_PITANJE 1000
onda ide komanda
YCMD:report(playerid, params[], help)
{
    #pragma unused help
    if(UlogovanProvera[playerid] == 0) return SCM(playerid,-1,"Moras se ulogovati da bi koristio ovu komandu!");
	if(ServerInfo[isReport] == 1) return SCM(playerid,-1,"Report je trenutno iskljucen pokusajte kasnije!");
	if(PlayerInfo[playerid][pMutiran] != 0) return SCM(playerid,-1, "Mutirani ste ne mozete koristiti chat!");
	if(gettime() < hReport[playerid]) return SCM(playerid,-1, ""Ovu komandu mozete koristiti svakih 60 sekundi!");
    if(PlayerInfo[playerid][pZatvor] != 0) return SCM(playerid,-1,"Ne mozete koristiti ovu komandu jer ste zatvoreni!");
	new adm = 0;
	foreach(Player, i) { if(PlayerInfo[i][pGM] > 0 || PlayerInfo[i][pAdmin] > 0) adm++; }
	if(adm == 0) return SCM(playerid, -1, ""ORANGE"(US:RPG) "SIVA"Nema Admina & GameMastera Online pa nemozete slati report!");
	SPD(playerid, DIALOG_REPORT, DSI, "Pitaj", ""BELA"Upisi pitanje koje zelis:", "Pitaj", "Odustani");
	return 1;
}

i onplayersialogres.
if(dialogid == DIALOG_PITANJE)
	{
		if(response)
		{
			new text[80];
	        if(sscanf(inputtext,"s[80]", text)) return SPD(playerid, DIALOG_REPORT, DSI, ""ORANGE"Pitanje", ""BELA"Upisi pitanje koje zelis:", "Pitaj", "Odustani");
			for(new i; i < strlen(text); i++) { if(!strcmp(text[i], "{")) text[i] = '['; if(!strcmp(text[i], "}")) text[i] = ']'; }
			new string[128];
			format(string, sizeof(string), "[PITANJCE] "BELA"Igrac %s [ID:%d]: %s", GetName(playerid),playerid,text);
			AdminGameMaster(-1,string);
		    format(string, sizeof(string), "Vas report glasi: "BELA"%s",text);
			SCM(playerid,-1,string);
			hReport[playerid] = gettime() + 30;
			return 1;
		}
	}