17.02.2011, 02:33
(
Последний раз редактировалось leaNN!; 17.02.2011 в 03:06.
)
Hola!
Bueno, como veran estoy liberando algunos scripts que fui hciendo y nunca publiquй.
Les dejo este sistema de niveles con premios (estilo FenixZone pero InGame)
NOTA IMPORTANTE: Deben crear una carpeta llamada Stats dentro de scriptfiles, si no, no se guardarб nada
Bueno, eso es todo para este sistema.
Ahora liberare otros mas!
Bueno, como veran estoy liberando algunos scripts que fui hciendo y nunca publiquй.
Les dejo este sistema de niveles con premios (estilo FenixZone pero InGame)
pawn Код:
/*
Hola! El siguiente script fue scripteado para mi GM, sin intenciуn alguna de lanzarlo al publico.
Pero como no usare el GM, liberarй todos los codigos que me parezcan mas o menos aceptables.
Espero que no borren los creditos! Gracias.
Creador: rooT.
Testers: MrJacK, Flea.
*/
#define FILTERSCRIPT
#include <a_samp>
#include <dini>
#include <zcmd>
new archivo[256];
enum pInfo
{
Nivel,
Premio1,
Premio2,
Premio3,
Premio4,
Premio5
};
new PlayerInfo[MAX_PLAYERS][pInfo];
forward PlayerLevel(playerid);
public OnFilterScriptInit()
{
printf("--------------------------------------");
printf("----------Sistema de Niveles----------");
printf("-----------Creado por rooT.-----------");
printf("-------------------------------------");
return 1;
}
public OnPlayerConnect(playerid)
{
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, sizeof(pname));
format(archivo, sizeof(archivo), "Levels/%s.txt", pname);
if(dini_Exists(archivo))
{
PlayerInfo[playerid][Nivel] = dini_Int(archivo, "Nivel");
PlayerInfo[playerid][Premio1] = dini_Int(archivo, "Premio1");
PlayerInfo[playerid][Premio2] = dini_Int(archivo, "Premio2");
PlayerInfo[playerid][Premio3] = dini_Int(archivo, "Premio3");
PlayerInfo[playerid][Premio4] = dini_Int(archivo, "Premio4");
PlayerInfo[playerid][Premio5] = dini_Int(archivo, "Premio5");
}
else if(!dini_Exists(archivo))
{
dini_Create(archivo);
dini_IntSet(archivo, "Nivel", 0);
dini_IntSet(archivo, "Premio1", 0);
dini_IntSet(archivo, "Premio2", 0);
dini_IntSet(archivo, "Premio3", 0);
dini_IntSet(archivo, "Premio4", 0);
dini_IntSet(archivo, "Premio5", 0);
}
SetTimerEx("PlayerLevel", 600000, true, "i", playerid);
return 1;
}
public PlayerLevel(playerid)
{
dini_IntSet(archivo, "Nivel", dini_Int(archivo, "Nivel") +1);
PlayerInfo[playerid][Nivel] = dini_Int(archivo, "Nivel");
GameTextForPlayer(playerid, "Subiste de ~g~nivel!", 5000, 4);
if(PlayerInfo[playerid][Nivel] == 10)
{
SendClientMessage(playerid, COLOR_YELLOW, "Utiliza /premios para retirar tu premio nivel 10!");
}
if(PlayerInfo[playerid][Nivel] == 50)
{
SendClientMessage(playerid, COLOR_YELLOW, "Utiliza /premios para retirar tu premio nivel 50!");
}
if(PlayerInfo[playerid][Nivel] == 100)
{
SendClientMessage(playerid, COLOR_YELLOW, "Utiliza /premios para retirar tu premio nivel 100!");
}
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, sizeof(pname));
format(archivo, sizeof(archivo), "Stats/%s.txt", pname);
if(dini_Exists(archivo))
{
dini_IntSet(archivo, "Nivel", PlayerInfo[playerid][Nivel]);
dini_IntSet(archivo, "Premio1", PlayerInfo[playerid][Premio1]);
dini_IntSet(archivo, "Premio2", PlayerInfo[playerid][Premio2]);
dini_IntSet(archivo, "Premio3", PlayerInfo[playerid][Premio3]);
dini_IntSet(archivo, "Premio4", PlayerInfo[playerid][Premio4]);
dini_IntSet(archivo, "Premio5", PlayerInfo[playerid][Premio5]);
}
else if(!dini_Exists(archivo))
{
dini_Create(archivo);
dini_IntSet(archivo, "Nivel", PlayerInfo[playerid][Nivel]);
dini_IntSet(archivo, "Premio1", PlayerInfo[playerid][Premio1]);
dini_IntSet(archivo, "Premio2", PlayerInfo[playerid][Premio2]);
dini_IntSet(archivo, "Premio3", PlayerInfo[playerid][Premio3]);
dini_IntSet(archivo, "Premio4", PlayerInfo[playerid][Premio4]);
dini_IntSet(archivo, "Premio5", PlayerInfo[playerid][Premio5]);
}
PlayerInfo[playerid][Nivel] = 0;
return 1;
}
public OnPlayerSpawn(playerid)
{
//==================================================================Premios!
//Premio1
if(dini_Int(archivo, "Premio1") == 1) return GivePlayerWeapon(playerid, 8, 1);
if(dini_Int(archivo, "Premio1") == 2) return GivePlayerWeapon(playerid, 41, 500);
if(dini_Int(archivo, "Premio1") == 3) return GivePlayerWeapon(playerid, 4, 1);
//Premio2
if(dini_Int(archivo, "Premio2") == 1) return GivePlayerWeapon(playerid, 22, 300);
if(dini_Int(archivo, "Premio2") == 2) return GivePlayerWeapon(playerid, 23, 350);
if(dini_Int(archivo, "Premio2") == 3) return GivePlayerWeapon(playerid, 24, 150);
//Premio3
if(dini_Int(archivo, "Premio3") == 1) return GivePlayerWeapon(playerid, 32, 700);
if(dini_Int(archivo, "Premio3") == 2) return GivePlayerWeapon(playerid, 28, 700);
if(dini_Int(archivo, "Premio3") == 3) return GivePlayerWeapon(playerid, 29, 1000);
//Premio4
if(dini_Int(archivo, "Premio4") == 1) return GivePlayerWeapon(playerid, 30, 500);
if(dini_Int(archivo, "Premio4") == 2) return GivePlayerWeapon(playerid, 31, 500);
if(dini_Int(archivo, "Premio4") == 3) return GivePlayerWeapon(playerid, 34, 150);
//Premio5
if(dini_Int(archivo, "Premio5") == 1) return GivePlayerWeapon(playerid, 25, 2000);
if(dini_Int(archivo, "Premio5") == 2) return GivePlayerWeapon(playerid, 27, 2000);
if(dini_Int(archivo, "Premio5") == 3) return GivePlayerWeapon(playerid, 26, 2000);
//==============================================================Fin Premios!
return 1;
}
CMD:premios(playerid, params[])
{
ShowPlayerDialog(playerid, 10, DIALOG_STYLE_LIST, "Premios por Niveles", "Premios Nivel 10\nPremios Nivel 50\nPremios Nivel 100\nPremios Nivel 150\nPremios Nivel 300", "Aceptar", "Cancelar");
return 1;
}
CMD:nivel(playerid, params[])
{
new pname[MAX_PLAYER_NAME], string[128 + MAX_PLAYER_NAME], string1[128 + MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, sizeof(pname));
format(string, sizeof(string), "%s", pname);
format(string1, sizeof(string1), "Tu nivel actual es %d", PlayerInfo[playerid][Nivel]);
ShowPlayerDialog(playerid, 44, DIALOG_STYLE_MSGBOX, string, string1, "Aceptar", "");
return 1;
}
//======================================================================PREMIOS!
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == 1)
{
if(response)
{
if(listitem == 0)
{
if(PlayerInfo[playerid][Nivel] < 10) return SendClientMessage(playerid, COLOR_GREEN, "No eres nivel 10!");
ShowPlayerDialog(playerid, 2, DIALOG_STYLE_LIST, "NIVEL 10", "Katana\nAerosol\nCuchillo\nAtras", "Aceptar", "Cancelar");
}
if(listitem == 1)
{
if(PlayerInfo[playerid][Nivel] < 50) return SendClientMessage(playerid, COLOR_GREEN, "No eres nivel 50!");
ShowPlayerDialog(playerid, 3, DIALOG_STYLE_LIST, "NIVEL 50", "Colts 45\n9mm Silenciada\nDesert Deagle\nAtras", "Aceptar", "Cancelar");
}
if(listitem == 2)
{
if(PlayerInfo[playerid][Nivel] < 100) return SendClientMessage(playerid, COLOR_GREEN, "No eres nivel 100!");
ShowPlayerDialog(playerid, 4, DIALOG_STYLE_LIST, "NIVEL 100", "Tec9\nMicro UZI\nSubfisil MP5\nAtras", "Aceptar", "Cancelar");
}
if(listitem == 3)
{
if(PlayerInfo[playerid][Nivel] < 150) return SendClientMessage(playerid, COLOR_GREEN, "No eres nivel 150!");
ShowPlayerDialog(playerid, 5, DIALOG_STYLE_LIST, "NIVEL 150", "AK-47\nM4\nSniper\nAtras", "Aceptar", "Cancelar");
}
if(listitem == 4)
{
if(PlayerInfo[playerid][Nivel] < 300) return SendClientMessage(playerid, COLOR_GREEN, "No eres nivel 300!");
ShowPlayerDialog(playerid, 6, DIALOG_STYLE_LIST, "NIVEL 300", "Escopeta Cromada\nEscopeta de Combate\nEscopetas Recortadas\nAtras", "Aceptar", "Cancelar");
}
}
}
////////////////////////////////////////////////////////////////////////LEVEL 10
if(dialogid == 2)
{
if(response)
{
if(listitem == 0) //
{
GivePlayerWeapon(playerid, 8, 1);
dini_IntSet(archivo, "Premio1", 1);
PlayerInfo[playerid][Premio1] = dini_Int(archivo, "Premio1");
}
if(listitem == 1) //
{
GivePlayerWeapon(playerid, 41, 500);
dini_IntSet(archivo, "Premio1", 2);
PlayerInfo[playerid][Premio1] = dini_Int(archivo, "Premio1");
}
if(listitem == 2) //
{
GivePlayerWeapon(playerid, 4, 1);
dini_IntSet(archivo, "Premio1", 3);
PlayerInfo[playerid][Premio1] = dini_Int(archivo, "Premio1");
}
}
return 1;
}
////////////////////////////////////////////////////////////////////////LEVEL 50
if(dialogid == 3)
{
if(response)
{
if(listitem == 0) //
{
GivePlayerWeapon(playerid, 22, 300);
dini_IntSet(archivo, "Premio2", 1);
PlayerInfo[playerid][Premio2] = dini_Int(archivo, "Premio2");
}
if(listitem == 1) //
{
GivePlayerWeapon(playerid, 23, 350);
dini_IntSet(archivo, "Premio2", 2);
PlayerInfo[playerid][Premio2] = dini_Int(archivo, "Premio2");
}
if(listitem == 2) //
{
GivePlayerWeapon(playerid, 24, 150);
dini_IntSet(archivo, "Premio2", 3);
PlayerInfo[playerid][Premio2] = dini_Int(archivo, "Premio2");
}
}
return 1;
}
///////////////////////////////////////////////////////////////////////LEVEL 100
if(dialogid == 4)
{
if(response)
{
if(listitem == 0) //
{
GivePlayerWeapon(playerid, 32, 700);
dini_IntSet(archivo, "Premio3", 1);
PlayerInfo[playerid][Premio3] = dini_Int(archivo, "Premio3");
}
if(listitem == 1) //
{
GivePlayerWeapon(playerid, 28, 700);
dini_IntSet(archivo, "Premio3", 2);
PlayerInfo[playerid][Premio3] = dini_Int(archivo, "Premio3");
}
if(listitem == 2) //
{
GivePlayerWeapon(playerid, 29, 1000);
dini_IntSet(archivo, "Premio3", 3);
PlayerInfo[playerid][Premio3] = dini_Int(archivo, "Premio3");
}
}
return 1;
}
///////////////////////////////////////////////////////////////////////LEVEL 150
if(dialogid == 5)
{
if(response)
{
if(listitem == 0) //
{
GivePlayerWeapon(playerid, 30, 500);
dini_IntSet(archivo, "Premio4", 1);
PlayerInfo[playerid][Premio4] = dini_Int(archivo, "Premio4");
}
if(listitem == 1) //
{
GivePlayerWeapon(playerid, 31, 500);
dini_IntSet(archivo, "Premio4", 2);
PlayerInfo[playerid][Premio4] = dini_Int(archivo, "Premio4");
}
if(listitem == 2) //
{
GivePlayerWeapon(playerid, 34, 150);
dini_IntSet(archivo, "Premio4", 3);
PlayerInfo[playerid][Premio4] = dini_Int(archivo, "Premio4");
}
}
return 1;
}
///////////////////////////////////////////////////////////////////////LEVEL 300
if(dialogid == 6)
{
if(response)
{
if(listitem == 0) //
{
GivePlayerWeapon(playerid, 25, 2000);
dini_IntSet(archivo, "Premio5", 1);
PlayerInfo[playerid][Premio5] = dini_Int(archivo, "Premio5");
}
if(listitem == 1) //
{
GivePlayerWeapon(playerid, 27, 2000);
dini_IntSet(archivo, "Premio5", 2);
PlayerInfo[playerid][Premio5] = dini_Int(archivo, "Premio5");
}
if(listitem == 2) //
{
GivePlayerWeapon(playerid, 26, 2000);
dini_IntSet(archivo, "Premio5", 3);
PlayerInfo[playerid][Premio5] = dini_Int(archivo, "Premio5");
}
}
return 1;
}
return 1;
}
//==================================================================FIN PREMIOS!
Bueno, eso es todo para este sistema.
Ahora liberare otros mas!