Bueno este es un sistema de robo al banco simple que se puede utilizar cada payday 1 vez, se que ya hay uno pero algunos decían que estaba complicado para noob, tratare de que sea sencillo y bien explicado
Bien primero definiremos pRobank, esto lo pueden cambiar a su gusto pero recuerden cambiarlo en todo lado que este :P
Bien presionamos ctrl+f y ponemos pWalkie, por ejemplo y les aparecerá algo así...
- Código:
pPasaporte,
pSeguro,
pWalkie,
pHizo,
pHead
Bien hay busquen un lugar y lo ponen, ejemplo.
- Código:
pPasaporte,
pSeguro,
pWalkie,
pRobank, //así quedara
pHizo,
pHead
Ahora presionan ctrl+f y escriben PlayerInfo[playerid][pWalkie] = 0; por ejemplo y les tendrá que parecer algo así.
- Código:
PlayerInfo[playerid][pPasaporte] = 0;
PlayerInfo[playerid][pSeguro] = 0;
PlayerInfo[playerid][pWalkie] = 0;
PlayerInfo[playerid][pHizo] = 0;
PlayerInfo[playerid][pHead] = 0;
Bien hay busquen un lugar y lo ponen, ejemplo.
- Código:
PlayerInfo[playerid][pPasaporte] = 0;
PlayerInfo[playerid][pSeguro] = 0;
PlayerInfo[playerid][pWalkie] = 0;
PlayerInfo[playerid][pRobank] = 0; //así quedara
PlayerInfo[playerid][pHizo] = 0;
PlayerInfo[playerid][pHead] = 0;
Ahora presionan ctrl+f y ponen esto format(var, 32, "Walkie=%d\n",PlayerInfo[playerid][pWalkie]);fwrite(hFile, var); , ejemplo y les aparecerá algo así.
- Código:
format(var, 32, "Pasaporte=%d\n",PlayerInfo[playerid][pPasaporte]);fwrite(hFile, var);
format(var, 32, "Seguro=%d\n",PlayerInfo[playerid][pSeguro]);fwrite(hFile, var);
format(var, 32, "Walkie=%d\n",PlayerInfo[playerid][pWalkie]);fwrite(hFile, var);
format(var, 32, "Hizo=%d\n",PlayerInfo[playerid][pHizo]);fwrite(hFile, var);
format(var, 32, "Head=%d\n",PlayerInfo[playerid][pHead]);fwrite(hFile, var);
Bien hay buscan un lugar y lo ponen, ejemplo
- Código:
format(var, 32, "Pasaporte=%d\n",PlayerInfo[playerid][pPasaporte]);fwrite(hFile, var);
format(var, 32, "Seguro=%d\n",PlayerInfo[playerid][pSeguro]);fwrite(hFile, var);
format(var, 32, "Walkie=%d\n",PlayerInfo[playerid][pWalkie]);fwrite(hFile, var);
format(var, 32, "YaAsalto=%d\n",PlayerInfo[playerid][pRoboYa]);fwrite(hFile, var); //así quedara
format(var, 32, "Hizo=%d\n",PlayerInfo[playerid][pHizo]);fwrite(hFile, var);
format(var, 32, "Head=%d\n",PlayerInfo[playerid][pHead]);fwrite(hFile, var);
Bien, en su gm tal vez es diferente pero los PlayerInfo siempre estarán, para ir definiendo solo ponen pWalkie o pMask o pMember y le van dando "find next" para irlo definiendo solo busquen un espacio copian lo de pWalkie o lo que eligieron le quitan pWalkie y le ponen pRobak, "find next" es el boton con binoculares y una flecha azul curvada asía la derecha.
Bien ya que tengan definido todo vamos por el comando, buscan un lugar en OnPlayerCommandText y loo ponen.
- Código:
zcmd(robarbanco,playerid, params[])
{
if(PlayerToPoint(5.0,playerid,364.07, -1621.53, 39.23)) //cordenadas para ejecutar el cmd
{
if(PlayerInfo[playerid][pRobank] == 0) // pone en 0 la funcion cada payday que lo veremos ahorita
{
if(GetPlayerWeapon(playerid) > 0)
{
new string[64];
PlayerInfo[playerid][pRobank] = 1;
GivePlayerMoney(playerid, 10000); // da $10, 000 al user que robo el banco
SendClientMessage(playerid, COLOR_RED, "¡Has robado 10.000$ Del Banco! ¡La policia se ha alertado! ¡Corre!");
format(string, sizeof(string), "* %s Saca su %s y apunta al banquero", PlayerName(playerid), GetPlayerWeapon(playerid)); //toma el nombre del jugador y la arma que porta y envia el mensaje alrrededor
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
return 1;
} else SendClientMessage(playerid, COLOR_WHITE, "¡No puedes robar sin un arma!"); //si el jugador no tiene arma no podra robar el banco
} else SendClientMessage(playerid, COLOR_WHITE, "¡Ya has robado el banco! ¡únicamente cada payday!"); //si el jugador ya robo el banco no podra utilizarlo hasta el proximo payday
} else SendClientMessage(playerid, COLOR_WHITE, "¡No estás en el lugar adecuado para hacerlo!"); // si el jugador no esta en las cordenadas establecidas no podrá ejecutar el cmd
for(new idply; idply < MAX_PLAYERS; idply++)
{
if(PlayerInfo[idply][pMember] == 1 || PlayerInfo[idply][pLeader] == 1 || PlayerInfo[idply][pMember] == 2 || PlayerInfo[idply][pLeader] == 2) //Numero 1 = LSPD Numero 2 = FBI, recuerda cambiar las id por tus facciones.
{
SendClientMessage(idply, -1, "Las camaras han captado un tipo sospechoso con arma en el banco, acude hay rapido!"); //mensaje que se enviara a las facciones
SetPlayerCheckpoint(idply, 300.4208, -1611.6572, 33.1266, 5.0); //Aqui un checkpoint que se le marcara a lspd y fbi en el banco, recuerda cambiar las cordenadas.
}
}
return 1;
}
Recuerden cambiar las funciones por las que estan definidas en su gm, Ejemplo: PlayerInfo podria ser UserInfo o simplemente Info, GivePlayerMoney podria ser GivePlayerCash.
Este comando es para zcmd que include params ustedes puede ser strcmp y el include var por params
Ahora presionamos ctrl+f y ponemos payday o día de paga y les aparecerá algo como esto.
- Código:
format(string, sizeof(string), " Interés $%d", interest);
SendClientMessage(i, COLOR_GRAD2, string);
format(string, sizeof(string), " Gastos totales: $%d", TaxValue + ebill);
SendClientMessage(i, COLOR_GRAD3, string);
format(string, sizeof(string), " Beneficios totales: $%d", checks-ebill-TaxValue);
SendClientMessage(i, COLOR_GRAD3, string);
SendClientMessage(i, 0xB6B6B6FF, "|--------------------------------------|");
SendClientMessage(i, 0x00711DFF, string);
format(string, sizeof(string), " Nuevo Balance: %d$", PlayerInfo[i][pAccount]);
SendClientMessage(i, 0x00CC00FF, string);
format(string, sizeof(string), "~h~~g~dia de paga");
GameTextForPlayer(i, string, 5000, 1);
cNicotina[i] = 0; cEnergysil[i] = 0; cSIDA[i] = 0; cCancer[i] = 0;
PlayerInfo[i][pRob] = 0;
PlayerInfo[i][pConnectTime] += 1;
PlayerInfo[i][pExp]++;
Ahora buscan un lugar y ponen lo siguiente PlayerInfo[i][pRobank] = 0; , esto pondra la funcion en 0 cada payday para que el comando se pueda volver a ejecutar quedara asi.
- Código:
format(string, sizeof(string), " Interés $%d", interest);
SendClientMessage(i, COLOR_GRAD2, string);
format(string, sizeof(string), " Gastos totales: $%d", TaxValue + ebill);
SendClientMessage(i, COLOR_GRAD3, string);
format(string, sizeof(string), " Beneficios totales: $%d", checks-ebill-TaxValue);
SendClientMessage(i, COLOR_GRAD3, string);
SendClientMessage(i, 0xB6B6B6FF, "|--------------------------------------|");
SendClientMessage(i, 0x00711DFF, string);
format(string, sizeof(string), " Nuevo Balance: %d$", PlayerInfo[i][pAccount]);
SendClientMessage(i, 0x00CC00FF, string);
format(string, sizeof(string), "~h~~g~dia de paga");
GameTextForPlayer(i, string, 5000, 1);
cNicotina[i] = 0; cEnergysil[i] = 0; cSIDA[i] = 0; cCancer[i] = 0;
PlayerInfo[i][pRob] = 0;
PlayerInfo[i][pRobank] = 0; //recomiendo ponerlo en el mismo lugar para que no de errores
PlayerInfo[i][pConnectTime] += 1;
PlayerInfo[i][pExp]++;
Bien eso es todo, espero que les sirva y si tube un error aganmelo saber gracias :P y pidan sus tutos