[Ayuda] Como Hacer esto....
#1

Buenas a todos. Necesito ,si me pueden dar algunas ideitas como crear la funcion para una calculadora en textdraw con la funcion de kikeable, no se me ocurre como puedo hacer para ke vaya sumando los numeros y despues te lede el resultado :S.

Desde ya muchas gracias.
Reply
#2

Crea 3 variables. Si la variable que guarda el signo es = 0, guarda los nъmeros en una variable, cuando aprieten un signo ( / + - * ) hace que dependiendo el signo se guarde un numero ( del 1 al 4, cada uno correspondiente a cada signo ) y si la variable de signo es != 0 hace que se guarden en otra variable. Las 2 variables de nъmeros tienen que ser string, asн usas format o strmid para guardar la totalidad de nъmeros presionados. Luego convertнs ambas variables con strval a enteros y aplicas la ecuaciуn.

Complicado no es, te dejo un ejemplo en vнdeo de como queda si lo haces como te expliquй: [ame]http://www.youtube.com/watch?v=c9APYcVmvj4[/ame].
Reply
#3

tengo una pero no es en textdraw mira aca esta...

Код:
CMD:calcular(playerid, params[])
{
	new string[128], method[20], value1, value2;
	if(sscanf(params, "ds[20]d", value1, method, value2))
	{
		SendClientMessageEx(playerid, COLOR_WHITE, "COMANDO: /calcular [valor] [operacion] [valor].");
		SendClientMessageEx(playerid, COLOR_GRAD2, "Operaciones: sumar, restart, multiplicar, Dividir.");
		return 1;
	}

	if(strcmp(method,"multiplicar",true) == 0 || strcmp(method,"*",true) == 0)
	{
		new sum = value1*value2;
		format(string,sizeof(string),"%d multiplicado por %d es igual a %d.",value1,value2,sum);
		SendClientMessageEx(playerid,COLOR_WHITE,string);
	}
	if(strcmp(method,"dividir",true) == 0 || strcmp(method,"/",true) == 0)
	{
		if(value2 == 0)
		{
			SendClientMessageEx(playerid,COLOR_WHITE,"El mundo se derrumbarб en 10 segundos - si se divide por cero, idiota!");
			return 1;
		}
		new sum = value1/value2;
		format(string,sizeof(string),"%d divided by %d equals %d.",value1,value2,sum);
		SendClientMessageEx(playerid,COLOR_WHITE,string);
	}
	if(strcmp(method,"sumar",true) == 0 || strcmp(method,"+",true) == 0)
	{
		new sum = value1+value2;
		format(string,sizeof(string),"%d sumando %d es igual a %d.",value1,value2,sum);
		SendClientMessageEx(playerid,COLOR_WHITE,string);
	}
	if(strcmp(method,"restar",true) == 0 || strcmp(method,"-",true) == 0)
	{
		new sum = value1-value2;
		format(string,sizeof(string),"%d restado por %d es igual a %d.",value1,value2,sum);
		SendClientMessageEx(playerid,COLOR_WHITE,string);
	}
	return 1;
}
Reply
#4

pero yo tengo asi cuando kikean los textdraw

pawn Код:
new Num[MAX_PLAYERS][15];
format(Num[playerid],15,"%s2", Num[playerid]); TextDrawSetString(panel[playerid][1], Num[playerid]);
%s = es el numero ke hallas precionado antes y lo cargada Num.
2 = es el numero ke apareceda despues ke cargue el Num y es el numero ke corresponde textdraw ke precione cada textdraw tiene su numero correspondiente igual ke el format.
15 = Es La Cantidad de numeros se se colocaran
yo acabo hacer esto:

pawn Код:
new numeros;
    if(GetPVarInt(playerid,"Calcular") != 1) SetPVarInt(playerid,"Calcular",0); numeros = strval(Num[playerid]); format(str,sizeof(str),"~w~%d", numeros); TextDrawSetString(Panel[playerid][1], str);  //Igual
    if(GetPVarInt(playerid,"Calcular") != 0) SetPVarInt(playerid,"Calcular",1);   //Multiplicar
    if(GetPVarInt(playerid,"Calcular") != 0) SetPVarInt(playerid,"Calcular",1);  //Sumar
    if(GetPVarInt(playerid,"Calcular") != 0) SetPVarInt(playerid,"Calcular",1);  //Restar
Asi ? o no entendi nada :S

EDIT: intentare lo de andySix .
Reply
#5

Ahy un fs de calculadora 0.3e yo de ti me Lo Bajo y me Guio
Reply
#6

Quote:
Originally Posted by Daniel_Ruiz
Посмотреть сообщение
Ahy un fs de calculadora 0.3e yo de ti me Lo Bajo y me Guio
cual?, podrias pasar el link ?
Reply
#7

No creo que haya en 0.3e, yo hice una en dialog inteligente pero con 0.3d, probala y te guias de ahн.
https://sampforum.blast.hk/showthread.php?tid=299946
Reply
#8

Quote:
Originally Posted by TiNcH010
Посмотреть сообщение
No creo que haya en 0.3e, yo hice una en dialog inteligente pero con 0.3d, probala y te guias de ahн.
https://sampforum.blast.hk/showthread.php?tid=299946
si, daniel me parece ke se confundio con el de adri1, pero es un movil :P xD
Reply
#9

aha xD Perdona pero igual creo que se soluciono tu duda

Pd:Acaso un celular no tiene calculadora? xD
Reply
#10

Ya Me funciono, Leyendo y leyendo, lo ke me dijo julian lo comprendi :P xD.

ya lo hice Gracias a Todos .
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)