


#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:
|