20.07.2012, 21:43
Quote:
pawn Код:
|
Es imposible hacer eso, ya te entendн a que queres llegar pero pensa esto.
Pones un comando, te da una variable (en 1) y EN ONPLAYERTEXT CHEQUEAS SI ESA VARIABLE ESTБ EN 1.
Es decir, el jugador no va a poner /apostar 580 y le va a dar bien, al contrario, le va a retornar en SERVER: Unknown command. їPor quй? Por el simple hecho de que el comando no estб compuesto por nada.
No confundas OnPlayerText con OnPlayerCommandText. Distinto serнa si vos pones /apostar y luego en el texto pones 580. Entonces ahн si, pero se bugearнa xD
Deberнas volver a retornar la variable de "Apostando" en 0 en OnPlayerText para evitar futuros bugs.
Apostando[playerid] = 0;
EDIT: Mirб, probб asн:
pawn Код:
new Apostando[MAX_PLAYERS];
//OnPlayerCommandText
if(!strcmp(cmdtext, "/apostar", true))
{
SendClientMessage(playerid, 0xffffffff, "Escribe La Cantidad Que Deceas Apostar");
Apostando[playerid] = 1;
return 1;
}
//OnPlayerText
if(Apostando[playerid] == 1)
{
if(!IsNumeric(text))
{
SendClientMessage(playerid, 0xff0000ff, "Debes poner Numeros!");
return 0;
}
new dinero = strval(text);
if(GetPlayerMoney(playerid) < dinero)
{
SendClientMessage(playerid, 0xff0000ff, "Tu no tienes este dinero!");
return 0;
}
Apostando[playerid] = 0; // EVITAMOS FUTUROS BUGS.
GivePlayerMoney(playerid, -dinero);
new strdinero [128];
format(strdinero, sizeof(strdinero), "Estas apostando la cantidad de $%d.", dinero);
SendClientMessage(playerid, 0x00ff00ff, strdinero);
return 0;
}