Jump to content
  • 0

Question

Posted

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

10 answers to this question

Recommended Posts

  • 0
Posted

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 !

  • 0
Posted

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

  • 0
Posted

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 .

  • 0
Posted

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");

 

  • 0
Posted

Exact, la OnDialogResponse faci cate un raspuns pentru fiecare caz . Si la fiecare caz atribui suma pe care o vrei tu pentru amenda .

  • 0
Posted

On

OnDialogResponse :

if(dialogid == id dialog)
{
	if(listitem == 0)
	{
		TicketOffer[amendat] = playerid;
		TicketMoney[amendat] = suma;
	}
}

Ceva de genul .

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.