Jump to content
  • 0

Dialog /ticket


Jimmi

Question

Problema intalnita (descriere):Am facut /ticket pe dialog dar cand dau /ticket si selectez amenda da cu 0.stiu ca este din cauza ca nu am facut dialogul...dar habar n-am cum trebuie facut...Imi poate da cineva un exemplu?
Ero(area / rile) / warning-(ul / urile):-
Liniile de cod / sursa / script-ul(obligatoriu):

CMD:ticket(playerid, params[])
{
	new amendat, giveplayerid, string[256], sendername[MAX_PLAYER_NAME], giveplayer, moneys, result;
        if(sscanf(params, "u", amendat)) return SendClientMessage(playerid, COLOR_GRAD2, "{00FF00}Folosire:{FFFFFF} /ticket[PlayerID/PartOfName]");
	    if(IsPlayerConnected(playerid))
	    {
            	if(!IsACop(playerid))
			{
			    SendClientMessage(playerid, COLOR_GREY, "   Nu esti politist!");
			    return 1;
			}
	        if(OnDuty[playerid] != 1 && PlayerInfo[playerid][pMember] == 1)
			{
			    SendClientMessage(playerid, COLOR_GREY, "   Nu esti la datorie!");
			    return 1;
			}
		    new str[600];
				strcat(str, "Motiv\tPret\tPermis\n");
				strcat(str, "1.Folosire telefon la volan\t5.000$\tNone\n");
				strcat(str, "2.Condus fara centura\t10.000$\tNone\n");
				strcat(str, "3.Condus neregulamentar\t25.000$\tConfiscare\n");
				strcat(str, "4.Oprire|Stationare|Parcare Neregulamentara\t5.000$\tNone\n");
				strcat(str, "5.Conducerea vehiculelor cu roti sparte\t10.000$\tNone\n");
				strcat(str, "6.Folosire NOS\t10.000$\tConfiscare\n");
				strcat(str, "7.Folosire Hidraulice\t10.000$\tConfiscare\n");
				strcat(str, "8.Faruri stinse (dupa ora 21:00)\t10.000$\tNone\n");
				strcat(str, "9.Condus sub influenta alcoolului\t20.000$\tConfiscare\n");
				strcat(str, "10.Depasirea limitei de viteza cu 10-50 km/h\t10.000$\tNone\n");
				strcat(str, "11.Depasirea limitei de viteza cu 50+ km/h\t20.000$\tConfiscare");
				ShowPlayerDialog(playerid, 619, DIALOG_STYLE_TABLIST_HEADERS, "Selecteaza amenda:", str,"Select", "Cancel");

   				if(IsPlayerConnected(giveplayerid))
			{
			    if(giveplayerid != INVALID_PLAYER_ID)
			    {
						if(PlayerInfo[giveplayerid][pLevel] < 2) return SendClientMessage(playerid, COLOR_WHITE, "{0066FF}Ticket: {FFFFFF}Nu poti da amenda jucatorilor cu level 1!");
						format(string, sizeof(string), "* You gave %s a Ticket costing $%d, reason: %s", giveplayer, moneys, (result));
						SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
						format(string, sizeof(string), "* Offiterul %s ti-a dat o amenda in valoare de $%d, motiv: %s", sendername, moneys, (result));
						SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
						SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, "* Scrie /accept ticket, pentru a plati amenda.");
						TicketOffer[giveplayerid] = playerid;
						TicketMoney[giveplayerid] = moneys;
						return 1;
					}
					else
					{
						SendClientMessage(playerid, COLOR_GREY, "   Acel jucator nu este langa tine !");
						return 1;
					}
				}
			}
			else
			{
			    SendClientMessage(playerid, COLOR_GREY, "   Acel jucator este offline !");
			    return 1;
			}
		return 1;
}


Imagini / Video (optional):-
Ati incercat sa rezolvati singur?:da

Link to comment
Share on other sites

10 answers to this question

Recommended Posts

  • 0

Degeaba ai definit variabila moneys . Tu prin "TicketMoney[giveplayerid] = moneys" trebuia sa dai variabilei TicketMoney valoarea variabilei money, dar pentru ca tu la comanda nu ai setat ca atunci cand playerul scrie comanda , sa puna si o suma sau sa apara un alt dialog in care sa introduca suma ca sa poti atribui acea variabila, asa ca , in loc de moneys vei pune tu de mana suma dorita de tine, asa cum o ai in dialog , sau daca vrei ca politistul sa seteze suma, mai faci un dialog de stil input si vei atribuii variabilei moneys textul din acel input , apoi variabilei TicketMoney ii vei atribuii valoarea functiei moneys . Sper ca te-am ajutat ! Succes !

Link to comment
Share on other sites

  • 0

Nu prea ti-am inteles raspunsul dar nu ar trebui  sa fie ceva gen la dialog sa fac mai multe optiuni unde adaug

userului care primeste amenda GivePlayerMoney( playerid, -10000 ); si celui care primeste GivePlayerMoney( playerid, 10000 );

?Amenzile sunt facute in dialog.el doar da click pe ea si userul primeste direct amenda

Link to comment
Share on other sites

  • 0

Trebuie sa schimbi si suma de la TicketMoney , pentru ca atunci cand player-ul scrie /accept ticket va primii suma de bani stocata in variabila moneys, care efectiv e 0 , pentru ca nu are nici o valoare . Pune in loc de moneys , suma de bani pe care o vrei sa fie luata pentru acea amenda .

Link to comment
Share on other sites

  • 0

pai sunt 11 amenzi fiecare cu alt pret:

strcat(str, "Motiv\tPret\tPermis\n");
				strcat(str, "1.Folosire telefon la volan\t5.000$\tNone\n");
				strcat(str, "2.Condus fara centura\t10.000$\tNone\n");
				strcat(str, "3.Condus neregulamentar\t25.000$\tConfiscare\n");
				strcat(str, "4.Oprire|Stationare|Parcare Neregulamentara\t5.000$\tNone\n");
				strcat(str, "5.Conducerea vehiculelor cu roti sparte\t10.000$\tNone\n");
				strcat(str, "6.Folosire NOS\t10.000$\tConfiscare\n");
				strcat(str, "7.Folosire Hidraulice\t10.000$\tConfiscare\n");
				strcat(str, "8.Faruri stinse (dupa ora 21:00)\t10.000$\tNone\n");
				strcat(str, "9.Condus sub influenta alcoolului\t20.000$\tConfiscare\n");
				strcat(str, "10.Depasirea limitei de viteza cu 10-50 km/h\t10.000$\tNone\n");
				strcat(str, "11.Depasirea limitei de viteza cu 50+ km/h\t20.000$\tConfiscare");

 

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.