#include <a_samp> #define FILTERSCRIPT #include <foreach> new nivel[MAX_PLAYERS]; forward maisnivel(); public OnFilterScriptInit() { print("\n--------------------------------------"); print(" Blank Filterscript by your name here"); print("--------------------------------------\n"); SetTimer("maisnivel", 12*9100, true); return 1; } public OnFilterScriptExit() { return 1; } public OnPlayerConnect(playerid) { return 1; } public OnPlayerDisconnect(playerid, reason) { return 1; } public OnPlayerSpawn(playerid) { return 1; } public OnPlayerDeath(playerid, killerid, reason) { return 1; } public OnVehicleSpawn(vehicleid) { return 1; } public OnVehicleDeath(vehicleid, killerid) { return 1; } public OnPlayerText(playerid, text[]) { return 1; } public OnPlayerCommandText(playerid, cmdtext[]) { if(strcmp(cmdtext, "/vernivel", true) == 0) { new string[40]; format(string, 40,"[Servidor:] SEU NIVEL: %i", nivel[playerid]); SendClientMessage(playerid, 0xF60000AA, string); } return 0; } public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger) { return 1; } public OnPlayerExitVehicle(playerid, vehicleid) { return 1; } public OnPlayerStateChange(playerid, newstate, oldstate) { return 1; } public OnPlayerEnterCheckpoint(playerid) { return 1; } public OnPlayerLeaveCheckpoint(playerid) { return 1; } public OnPlayerEnterRaceCheckpoint(playerid) { return 1; } public OnPlayerLeaveRaceCheckpoint(playerid) { return 1; } public OnRconCommand(cmd[]) { return 1; } public OnPlayerRequestSpawn(playerid) { return 1; } public OnObjectMoved(objectid) { return 1; } public OnPlayerObjectMoved(playerid, objectid) { return 1; } public OnPlayerPickUpPickup(playerid, pickupid) { return 1; } public OnVehicleMod(playerid, vehicleid, componentid) { return 1; } public OnVehiclePaintjob(playerid, vehicleid, paintjobid) { return 1; } public OnVehicleRespray(playerid, vehicleid, color1, color2) { return 1; } public OnPlayerSelectedMenuRow(playerid, row) { return 1; } public OnPlayerExitedMenu(playerid) { return 1; } public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid) { return 1; } public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) { return 1; } public OnRconLoginAttempt(ip[], password[], success) { return 1; } public OnPlayerUpdate(playerid) { return 1; } public OnPlayerStreamIn(playerid, forplayerid) { return 1; } public OnPlayerStreamOut(playerid, forplayerid) { return 1; } public OnVehicleStreamIn(vehicleid, forplayerid) { return 1; } public OnVehicleStreamOut(vehicleid, forplayerid) { return 1; } public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { return 1; } public OnPlayerClickPlayer(playerid, clickedplayerid, source) { return 1; } public maisnivel() { foreach(Player, i) { nivel[i] ++; } }
Originally Posted by noobzord
faz um sistema de login \o/
|
//topo
new gPlayerLogged[MAX_PLAYERS];
forward OnPlayerLogin(playerid,password[]);
forward OnPlayerRegister(playerid, password[]);
//COMANDOS
dcmd_login(playerid, params[])
{
if(IsPlayerConnected(playerid))
{
new tmppass[64];
if(gPlayerLogged[playerid] == 1)
{
SendClientMessage(playerid, COLOR_WHITE, "Ja estas logado");
return 1;
}
if(!strlen(params)) return SendClientMessage(playerid, COLOR_WHITE, "[Uso]: /login [password]");
strmid(tmppass, params, 0, strlen(params), 255);
OnPlayerLogin(playerid,tmppass);
}
return 1;
}
dcmd_registar(playerid, params[])
{
if(IsPlayerConnected(playerid))
{
if(gPlayerLogged[playerid] == 1)
{
SendClientMessage(playerid, COLOR_WHITE, "Ja estas logado");
return 1;
}
new sendername[MAX_PLAYER_NAME];
new string[256];
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "%s.ini", sendername);
new File: hFile = fopen(string, io_read);
if (hFile)
{
SendClientMessage(playerid, COLOR_YELLOW, "Este nome ja esta em uso!");
fclose(hFile);
return 1;
}
new tmppass[64];
if(!strlen(params)) return SendClientMessage(playerid, COLOR_WHITE, "[Uso]: /registar [password]");
strmid(tmppass, params, 0, strlen(params), 255);
OnPlayerRegister(playerid,tmppass);
}
return 1;
}
public OnPlayerLogin(playerid,password[])
{
new StringC[256];
new string2[256];
new tmp2[256];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
format(st,sizeof(st),"%s.ini",name);
StringC = dini_Get((st), "Password");
if (udb_hash(password) != strval(StringC))
{
SendClientMessage(playerid, COLOR_WHITE, "SERVIDOR: Password Incorrecta.");
gPlayerLogged[playerid] = 0;
}
else
{
dini_Set((st),"Key",password);
new playername2[MAX_PLAYER_NAME];
GetPlayerName(playerid, playername2, sizeof(playername2));
format(StringC, sizeof(StringC), "%s.ini", playername2);
new File: UserFile = fopen(StringC, io_read);
if ( UserFile )
{
new PassData[256];
new keytmp[256];
fread( UserFile , PassData , sizeof( PassData ) );
keytmp = ini_GetKey( PassData );
{
new key[ 256 ] , val[ 256 ];
new Data[ 256 ];
while ( fread( UserFile , Data , sizeof( Data ) ) )
{
key = ini_GetKey( Data );
if( strcmp( key , "NIVEL" , true ) == 0 ) { val = ini_GetValue( Data ); nivel[playerid] = strval( val ); }
}
gPlayerLogged[playerid] = 1;
fclose(UserFile);
ResetPlayerMoney(playerid);
format(string2, sizeof(string2), "SERVIDOR: Bem-Vindo %s",playername2);
SendClientMessage(playerid, COLOR_WHITE,string2);
printf("%s has logged in.",playername2);
SpawnPlayer(playerid);
format(tmp2, sizeof(tmp2), "~w~Bem-Vindo ~n~~y~ %s", playername2);
GameTextForPlayer(playerid, tmp2, 5000, 1);
return 1;
}
}
else
{
SendClientMessage(playerid, COLOR_CYAN, "Tu ainda nгo tens conta usa /registar [Password]");
return 1;
}
}
return 1;
}
public OnPlayerRegister(playerid, password[])
{
if(IsPlayerConnected(playerid))
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
format(st,sizeof(st),"%s.ini",name);
dini_Create((st));
dini_IntSet((st), "Password", udb_hash(password));
dini_Set((st),"Key",password);
dini_IntSet((st), "NIVEL", 0);
SendClientMessage(playerid, COLOR_YELLOW, "Conta registada podes agora fazer login utiliza /login [password]");
}
return 1;
}
Originally Posted by DarK TeaM PT
vai em DCMD
|
Originally Posted by _COTTA_
Quote:
Nao entendi :S |
#define dcmd(%1,%2,%3) if (!strcmp((%3)[1], #%1, true, (%2)) && ((((%3)[(%2) + 1] == '\0') && (dcmd_%1(playerid, ""))) || (((%3)[(%2) + 1] == ' ') && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
dcmd(login,5,cmdtext);
dcmd(registar,8,cmdtext);
Originally Posted by DarK TeaM PT
yaya
:P e ou bem me engano ou para usares dcmd tambem precisas de um Include?? |
Originally Posted by selular
esse erro e por que nao tenho o include "foreach"?
![]() ![]() |
Originally Posted by russooooo
Tens aн alguma coisa diferente do que estб definido, acho eu.
Posta o cуdigo. |
Originally Posted by selular
Quote:
otra coisa quando eu desligo o server e ligo os leveis somi tem auguma manera de salvar os leveis? ![]() |
Usa o Dini/Dudb. |
Originally Posted by selular
Quote:
|