Jump to content
  • 0

Problema Dini.....


[RSD]TheBoss

Question

Nu Inteleg de ce am facut totu bine.....

Am facut si eu ceva cu DIni sa stockeaza niste chesti

am facut LevelSyst....

si nu se stockeaza datele nu inteleg de e:|

uitati scriptu:

#include <a_samp>
#include <Colors>
#include <sscanf2>
#include <YSI/Y_INI>
#include <zcmd>
#include <Dini>



enum LevelAcc
{
Level,
Experience
};
new LevelPlayer[MAX_PLAYERS][LevelAcc];

#define PlayerFile "/AccountFile/%s.ini"

#pragma tabsize 0

public OnPlayerConnect(playerid)
{
new Acc[256];
new name[MAX_PLAYER_NAME];
new ip[256];
GetPlayerName(playerid,name,sizeof(name));
GetPlayerIp(playerid,ip,sizeof(ip));
format(Acc,sizeof(Acc),PlayerFile,name);
if(dini_Exists("Acc"))
{
dini_Create(Acc);
dini_IntSet(Acc,"Level:",LevelPlayer[playerid][Level]);
dini_IntSet(Acc,"Experience:",LevelPlayer[playerid][Experience]);
}
LevelPlayer[playerid][Level] = dini_Int(Acc,"Level:");
LevelPlayer[playerid][Experience] = dini_Int(Acc,"Experience");
LevelPlayer[playerid][Level]=1;
LevelPlayer[playerid][Level]=0;

return 1;
}
public OnPlayerDisconnect(playerid,reason)
{
new Acc[256];
new name[MAX_PLAYER_NAME];
new ip[256];
GetPlayerIp(playerid,ip,sizeof(ip));
GetPlayerName(playerid,name,sizeof(name));
format(Acc,sizeof(Acc),PlayerFile,name);
dini_IntSet(Acc,"Level:",LevelPlayer[playerid][Level]);
dini_IntSet(Acc,"Experience",LevelPlayer[playerid][Experience]);
}
public OnPlayerDeath(playerid,killerid,reason)
{
LevelPlayer[playerid][Experience] -=1;
LevelPlayer[killerid][Experience] +=1;
}
public OnPlayerCommandText(playerid,cmdtext[])
{
}
CMD:mylevel(playerid,params[])
{
new string[256];
format(string,sizeof(string),"Your Level %d.",LevelPlayer[playerid][Level]);
SendClientMessage(playerid,COLOR_GREEN,string);
return 1;
}
CMD:myexp(playerid,params[])
{
new string[256];
format(string,sizeof(string),"Your Exp:%d.",LevelPlayer[playerid][Experience]);
SendClientMessage(playerid,COLOR_GREEN,string);
return 1;
}
CMD:levelup(playerid,params[])
{
if(LevelPlayer[playerid][Experience] >=500)
{
LevelPlayer[playerid][Level] +=1;
new string[256];
format(string,sizeof(string),"You have advanced to %d level",LevelPlayer[playerid][Experience]);
SendClientMessage(playerid,COLOR_RED,string);
}
else SendClientMessage(playerid,-1,"You don't have exp to advance to next level!");
return 1;
}
CMD:startlevel(playerid,params[])
{
LevelPlayer[playerid][Level] =1;
SendClientMessage(playerid,COLOR_RED,"You seted your level start to 1!");
}

EU cred ca-i bun....

bun acum am facut in scriptfile

un folder numit AccountFile

dar cand ma conectez...pe server nu se intampla abosulut nimica :( ce sa fac?....

New GameMode In Development!-Romania Team Gang War-100%!...Datimi doua Motive afrimative de ce sa-l postez si-l postez...

Link to comment
Share on other sites

10 answers to this question

Recommended Posts

uite incearca asa:

#include <	a_samp	>
#include <	zcmd	>
#include <	Dini	>

#define COLOR_RED   0xE60000FF
#define COLOR_GREEN 0x00FF00FF

#pragma tabsize 0
#define PlayerFile "/AccountFile/%s.ini"

enum LevelAcc
{
	Level,
	Experience,
};
new LevelPlayer[ MAX_PLAYERS ][ LevelAcc ];

public OnPlayerConnect( playerid )
{
	new Acc[256];
	new name[MAX_PLAYER_NAME];
	new ip[256];
		GetPlayerName(playerid,name,sizeof(name));
		GetPlayerIp(playerid,ip,sizeof(ip));
		format( Acc,sizeof( Acc ), PlayerFile, name );
	if(dini_Exists("Acc"))
	{
		dini_Create(Acc);
		dini_IntSet( Acc, "Experiece:", 0 );
		dini_IntSet( Acc, "Level:", 0 );
		LevelPlayer[ playerid ][ Experience ] = dini_Int( Acc, "Experience:" );
		LevelPlayer[ playerid ][ Level ] = dini_Int( Acc, "Level:" );
	}
	else
	{
		LevelPlayer[ playerid ][ Level ] = dini_Int( Acc,"Level:" );
		LevelPlayer[ playerid ][ Experience ] = dini_Int( Acc,"Experience:" );
	}
	return 1;
}

public OnPlayerDisconnect(playerid,reason)
{
	new Acc[256];
	new name[MAX_PLAYER_NAME];
	new ip[256];
	GetPlayerIp(playerid,ip,sizeof(ip));
	GetPlayerName(playerid,name,sizeof(name));
	format(Acc,sizeof(Acc),PlayerFile,name);
	if(!dini_Exists(Acc))
    {
    }
    else
    {
	dini_IntSet( Acc,"Level:", LevelPlayer[playerid][Level] );
	dini_IntSet( Acc,"Experience:", LevelPlayer[playerid][Experience] );
	}
}

public OnPlayerDeath(playerid,killerid,reason)
{
LevelPlayer[playerid][Experience] -=1;
LevelPlayer[killerid][Experience] +=1;
}

CMD:mylevel(playerid,params[])
{
new string[256];
format(string,sizeof(string),"Your Level %d.",LevelPlayer[playerid][Level]);
SendClientMessage(playerid,COLOR_GREEN,string);
return 1;
}
CMD:myexp(playerid,params[])
{
new string[256];
format(string,sizeof(string),"Your Exp:%d.",LevelPlayer[playerid][Experience]);
SendClientMessage(playerid,COLOR_GREEN,string);
return 1;
}
CMD:levelup(playerid,params[])
{
if(LevelPlayer[playerid][Experience] >=500)
{
LevelPlayer[playerid][Level] +=1;
new string[256];
format(string,sizeof(string),"You have advanced to %d level",LevelPlayer[playerid][Experience]);
SendClientMessage(playerid,COLOR_RED,string);
}
else SendClientMessage(playerid,-1,"You don't have exp to advance to next level!");
return 1;
}
CMD:startlevel(playerid,params[])
{
LevelPlayer[playerid][Level] =1;
SendClientMessage(playerid,COLOR_RED,"You seted your level start to 1!");
}

PS. - ti lam indentitat un pic pe unde am umblat :P

Fara reclama in semnatura!

Link to comment
Share on other sites

am facut faza cu SQL dar....nu stiu cum sa fac sa verifice de acolo:Ex

sa verifice daca are "Level"....in fine mai usor mi se pare cu dini decat cu "SQL"

ma poata ajuta cineva?

New GameMode In Development!-Romania Team Gang War-100%!...Datimi doua Motive afrimative de ce sa-l postez si-l postez...

Link to comment
Share on other sites

-MoArTeA-" post="84674" timestamp="1310548771"]

am facut faza cu SQL dar....nu stiu cum sa fac sa verifice de acolo:Ex

sa verifice daca are "Level"....in fine mai usor mi se pare cu dini decat cu "SQL"

ma poata ajuta cineva?

verifici exact ca si cu dini...

faci doar

if ( LevelPlayer[ playerid ][ Level ] >= 1 ) //sau ce vrei tu in afara de 1...

{

Fara reclama in semnatura!

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more details you can also review our Terms of Use and Privacy Policy.