Jump to content
  • 0

Problema timp /report


marius11

Question

Problema intalnita (descriere):vreau sa adaug la comanda /report un timp in care sa poata da /report si nu mere
Ero(area / rile) / warning-(ul / urile):
Liniile de cod / sursa / script-ul(obligatoriu): 

else if(listitem == 4)
                {
                    if(reportsend[playerid] == 1) return SCM(playerid,COLOR_GREEN,"}Ai timis deja un report va rugam sa asteptati 3 minute");
                    if(reportaccepted[playerid] == 1) return SCM(playerid,COLOR_GREEN,"}Ai timis deja un report va rugam sa asteptati 3 minute");
                    ShowPlayerDialog(playerid, DIALOG_REPORT_ALTAPROBLEMA, DIALOG_STYLE_INPUT, "Alta problema", "Scrie problema mai jos \n Poti trimite o problema la 120 secunde", "Ok","Cancel");
                    reportsend[playerid] = 1;
                    
                }
            }

Imagini / Video (optional):
Ati incercat sa rezolvati singur?: Am incercat sa adaug ReportTime[playerid] = 3; si nu face nimic iar daca sterg reportsend[playerid] = 1; merge sa dea report 1 dupa altu

PS in prezent comanda este facut cand un player da report nu mai poate da 1 nou pana cand un admin accepta report-ul

script intreg aici http://pastebin.com/VMwuDsh1     

Link to comment
Share on other sites

8 answers to this question

Recommended Posts

  • 0

Prima data , definesti o variabila , de genul new ReportTime[MAX_PLAYERS]; si forward TimeReport(); apoi mergi undeva (de obicei la sfarsitul gamemodelui) si adaugi linia :

public TimeReport()
{
	ReportTime[playerid] = 0;
}

Apoi , la comanda /report, dupa mesajul cu "ai trimis un report .." , sub sendclientmessage adaugi : 

ReportTime[playerid] = 1;
SetTimer("numele public-ului", 60000, 0);

Iar undeva la inceputul comenzii , adaugi asta :

if(ReportTime[playerid] == 1) return SendClientMessage(playerid, -1, "Trebuie sa astepti 1 minut ca sa poti trimite alt /report.");

La SetTimer , in loc de "numele public-ului" pui ce nume ai dat tu publicului , de exemplu TimeReport . 

60000 - inseamna 1 minut , in milisecunde .

0 - inseamna ca timer-ul nu se repeta .

 

Succes !

Link to comment
Share on other sites

  • 0
Acum 2 ore, marius11 a spus:

Problema intalnita (descriere):vreau sa adaug la comanda /report un timp in care sa poata da /report si nu mere
Ero(area / rile) / warning-(ul / urile):
Liniile de cod / sursa / script-ul(obligatoriu): 

else if(listitem == 4)
                {
                    if(reportsend[playerid] == 1) return SCM(playerid,COLOR_GREEN,"}Ai timis deja un report va rugam sa asteptati 3 minute");
                    if(reportaccepted[playerid] == 1) return SCM(playerid,COLOR_GREEN,"}Ai timis deja un report va rugam sa asteptati 3 minute");
                    ShowPlayerDialog(playerid, DIALOG_REPORT_ALTAPROBLEMA, DIALOG_STYLE_INPUT, "Alta problema", "Scrie problema mai jos \n Poti trimite o problema la 120 secunde", "Ok","Cancel");
                    reportsend[playerid] = 1;
                    
                }
            }

Imagini / Video (optional):
Ati incercat sa rezolvati singur?: Am incercat sa adaug ReportTime[playerid] = 3; si nu face nimic iar daca sterg reportsend[playerid] = 1; merge sa dea report 1 dupa altu

PS in prezent comanda este facut cand un player da report nu mai poate da 1 nou pana cand un admin accepta report-ul

script intreg aici http://pastebin.com/VMwuDsh1     

Nu , nu stiu cum si unde sa il pun

Link to comment
Share on other sites

  • 0
Acum 33 minute, NoNamed a spus:

Prima data , definesti o variabila , de genul new ReportTime[MAX_PLAYERS]; si forward TimeReport(); apoi mergi undeva (de obicei la sfarsitul gamemodelui) si adaugi linia :

public TimeReport()
{
	ReportTime[playerid] = 0;
}

Apoi , la comanda /report, dupa mesajul cu "ai trimis un report .." , sub sendclientmessage adaugi : 

ReportTime[playerid] = 1;
SetTimer("numele public-ului", 60000, 0);

Iar undeva la inceputul comenzii , adaugi asta :

if(ReportTime[playerid] == 1) return SendClientMessage(playerid, -1, "Trebuie sa astepti 1 minut ca sa poti trimite alt /report.");

La SetTimer , in loc de "numele public-ului" pui ce nume ai dat tu publicului , de exemplu TimeReport . 

60000 - inseamna 1 minut , in milisecunde .

0 - inseamna ca timer-ul nu se repeta .

 

Succes !

Am sa incerc revin cu un raspuns

Link to comment
Share on other sites

  • 0
Acum 3 ore, NoNamed a spus:

Prima data , definesti o variabila , de genul new ReportTime[MAX_PLAYERS]; si forward TimeReport(); apoi mergi undeva (de obicei la sfarsitul gamemodelui) si adaugi linia :

public TimeReport()
{
	ReportTime[playerid] = 0;
}

Apoi , la comanda /report, dupa mesajul cu "ai trimis un report .." , sub sendclientmessage adaugi : 

ReportTime[playerid] = 1;
SetTimer("numele public-ului", 60000, 0);

Iar undeva la inceputul comenzii , adaugi asta :

if(ReportTime[playerid] == 1) return SendClientMessage(playerid, -1, "Trebuie sa astepti 1 minut ca sa poti trimite alt /report.");

La SetTimer , in loc de "numele public-ului" pui ce nume ai dat tu publicului , de exemplu TimeReport . 

60000 - inseamna 1 minut , in milisecunde .

0 - inseamna ca timer-ul nu se repeta .

 

Succes !

La public imi da eroarea asta si nu stiu de ce (4371) : error 017: undefined symbol "playerid"(4371) : error 017: undefined symbol "playerid"

(4369) : warning 235: public function lacks forward declaration (symbol "TimeReport")

 

public-ul asta public TimeReport()
{
    ReportTime[playerid] = 0;
}

 

in rest totul a mers bine

Edited by marius11
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more details you can also review our Terms of Use and Privacy Policy.