[AJUDA] Onde ta o erro nesse sistema -
Chefe - 16.01.2012
Atй o level 1 ele conta os 4 experiencia passa pro dois ele conta infinito, ou seja, nгo passa pro level 3
pawn Code:
#include <a_samp>
#include <dini>
#define COR_AQUI 0xFFFFFFAA
new Level[MAX_PLAYERS];
new Respeito[MAX_PLAYERS];
forward OnPlayerUpdate(playerid);
public OnPlayerConnect(playerid)
{
if(dini_Isset("levels.dkn",PlayerName(playerid))) Level[playerid] = (playerid,dini_Int("levels.dkn",PlayerName(playerid)));
if(dini_Isset("respeito.dkn",PlayerName(playerid))) Respeito[playerid] = (playerid,dini_Int("respeito.dkn",PlayerName(playerid)));
SetTimerEx("Timer",60000,true,"i",playerid);
return 1;
}
forward Timer(playerid);
public Timer(playerid)
{
Respeito[playerid]++;
SendClientMessage(playerid,COR_AQUI,"~~~~~~~~~~~~UP~~~~~~~~~~~~");
SendClientMessage(playerid,COR_AQUI,"Parabens Aumentou Sua EXP");
SendClientMessage(playerid,COR_AQUI,"~~~~~~~~~~~~UP~~~~~~~~~~~~");
if(Respeito[playerid] == 4)
{
Level[playerid]++;
SendClientMessage(playerid,COR_AQUI,"~~~~~~~~~~~UP~~~~~~~~~~~");
SendClientMessage(playerid,COR_AQUI,"Parabens Upou Seu Level");
SendClientMessage(playerid,COR_AQUI,"~~~~~~~~~~~UP~~~~~~~~~~~");
}
return 1;
}
public OnGameModeInit()
{
if(!fexist("levels.dkn")) dini_Create("levels.dkn");
if(!fexist("respeito.dkn")) dini_Create("respeito.dkn");
return 1;
}
public OnPlayerUpdate(playerid)
{
dini_IntSet("Levels.dkn",PlayerName(playerid),Level[playerid]);
if(dini_Isset("Levels.dkn",PlayerName(playerid))) SetPlayerScore(playerid,dini_Int("Levels.dkn",PlayerName(playerid)));
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
dini_IntSet("levels.dkn",PlayerName(playerid),Level[playerid]);
dini_IntSet("respeito.dkn",PlayerName(playerid),Respeito[playerid]);
return 1;
}
stock PlayerName(playerid)
{
new PlayerNameLevel[MAX_PLAYERS];
GetPlayerName(playerid, PlayerNameLevel, MAX_PLAYERS);
return PlayerNameLevel;
}
Respuesta: [AJUDA] Onde ta o erro nesse sistema -
BlackCoder - 16.01.2012
o problema estб aki, vou lhe explicar.
pawn Code:
forward Timer(playerid);
public Timer(playerid)
{
Respeito[playerid]++;//irб dar + respeito ok
SendClientMessage(playerid,COR_AQUI,"~~~~~~~~~~~~UP~~~~~~~~~~~~");
SendClientMessage(playerid,COR_AQUI,"Parabens Aumentou Sua EXP");
SendClientMessage(playerid,COR_AQUI,"~~~~~~~~~~~~UP~~~~~~~~~~~~");
if(Respeito[playerid] == 4)//aki ele irб checar se o jogador tem 4 de experiencia
{
Level[playerid]++;
SendClientMessage(playerid,COR_AQUI,"~~~~~~~~~~~UP~~~~~~~~~~~");
SendClientMessage(playerid,COR_AQUI,"Parabens Upou Seu Level");
SendClientMessage(playerid,COR_AQUI,"~~~~~~~~~~~UP~~~~~~~~~~~");
}
//aki deveria ter outra comparaзao para ver se o jogador tem + experiencia
//exemplo
if(Respeito[playerid] == 8)//agora sim ele irб checar se o jogador tem 8 de experiencia e vai passar de nivel
{
Level[playerid]++;
SendClientMessage(playerid,COR_AQUI,"~~~~~~~~~~~UP~~~~~~~~~~~");
SendClientMessage(playerid,COR_AQUI,"Parabens Upou Seu Level");
SendClientMessage(playerid,COR_AQUI,"~~~~~~~~~~~UP~~~~~~~~~~~");
}
//continue com + comparacoes,todas crescentes pois senгo o jogador sу vai atй o level 3
return 1;
}
-
Chefe - 16.01.2012
Atah, 1 problema resolvido vlw

Agora o problema й outro, me ajuda nessa hora
pawn Code:
SetTimerEx("Timer",30000,true,"i",playerid);
Eu queria saber se tem como dar esse respeito sу as xx:00 horas? Se nгo tiver como isola e sу arruma para dar o respeito em 1 a 1 hora.
Do jeito que estб ai no SetTimerEx da esse tempo de respeito, tudo desrregulado o tempo
LEVEL 0
18:37:01
18.37:49
18:37:50
18:39:11
LEVEL 1
18:39:11
18:39:43
18:40:05
18:40:48
LEVEL 2
18:41:28
18:41:56
18:42:37
18:43:20
LEVEL 3
18:43:29
18:44:04
18:45:23
18:45:23
LEVEL 4
18:45:58
18:46:48
18:46:59
18:47:31
PS: Esse й o novo cуdigo ja editado:
pawn Code:
#include <a_samp>
#include <dini>
#define COR_AQUI 0xFFFFFFAA
#define COLOR_ADMIN 0xF800DFAA
new Level[MAX_PLAYERS];
new Respeito[MAX_PLAYERS];
forward OnPlayerUpdate(playerid);
public OnPlayerConnect(playerid)
{
if(dini_Isset("levels.dkn",PlayerName(playerid))) Level[playerid] = (playerid,dini_Int("levels.dkn",PlayerName(playerid)));
if(dini_Isset("respeito.dkn",PlayerName(playerid))) Respeito[playerid] = (playerid,dini_Int("respeito.dkn",PlayerName(playerid)));
SetTimerEx("Timer",30000,true,"i",playerid);
return 1;
}
forward Timer(playerid);
public Timer(playerid)
{
Respeito[playerid]++;//irб dar + respeito ok
SendClientMessage(playerid,COR_AQUI,"Parabens Aumentou Sua EXP");
if(Respeito[playerid] == 4)//aki ele irб checar se o jogador tem 4 de experiencia
{
Level[playerid]++;
SendClientMessage(playerid,COLOR_ADMIN ,"Parabens Upou Seu Level");
}
//aki deveria ter outra comparaзao para ver se o jogador tem + experiencia
//exemplo
if(Respeito[playerid] == 8)//agora sim ele irб checar se o jogador tem 8 de experiencia e vai passar de nivel
{
Level[playerid]++;
SendClientMessage(playerid,COLOR_ADMIN ,"Parabens Upou Seu Level");
}
if(Respeito[playerid] == 12)//agora sim ele irб checar se o jogador tem 8 de experiencia e vai passar de nivel
{
Level[playerid]++;
SendClientMessage(playerid,COLOR_ADMIN ,"Parabens Upou Seu Level");
}
if(Respeito[playerid] == 16)//agora sim ele irб checar se o jogador tem 8 de experiencia e vai passar de nivel
{
Level[playerid]++;
SendClientMessage(playerid,COLOR_ADMIN ,"Parabens Upou Seu Level");
}
return 1;
}
public OnGameModeInit()
{
if(!fexist("levels.dkn")) dini_Create("levels.dkn");
if(!fexist("respeito.dkn")) dini_Create("respeito.dkn");
return 1;
}
public OnPlayerUpdate(playerid)
{
dini_IntSet("Levels.dkn",PlayerName(playerid),Level[playerid]);
if(dini_Isset("Levels.dkn",PlayerName(playerid))) SetPlayerScore(playerid,dini_Int("Levels.dkn",PlayerName(playerid)));
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
dini_IntSet("levels.dkn",PlayerName(playerid),Level[playerid]);
dini_IntSet("respeito.dkn",PlayerName(playerid),Respeito[playerid]);
return 1;
}
stock PlayerName(playerid)
{
new PlayerNameLevel[MAX_PLAYERS];
GetPlayerName(playerid, PlayerNameLevel, MAX_PLAYERS);
return PlayerNameLevel;
}
Respuesta: [AJUDA] Onde ta o erro nesse sistema -
Chefe - 16.01.2012
Se esse SeTimerEx for Milissegundo eu coloco 30000 para ir em 1 a 1 minuto, sу que fica tudo bugado, ta tudo ao mesmo tempo ou 2 EX ao mesmo tempo, tudo bugado, sabem desbugar isso ai?
-
Chefe - 17.01.2012
zzzz
-
Chefe - 17.01.2012
ninguem?
Re: [AJUDA] Onde ta o erro nesse sistema -
[FFC]Twister - 17.01.2012
voce quer aumenta o tempo do settimer e isso ?
Re: [AJUDA] Onde ta o erro nesse sistema -
[FFC]Twister - 17.01.2012
pawn Code:
#include <a_samp>
#include <dini>
#define COR_AQUI 0xFFFFFFAA
#define COLOR_ADMIN 0xF800DFAA
new Level[MAX_PLAYERS];
new Respeito[MAX_PLAYERS];
forward OnPlayerUpdate(playerid);
public OnPlayerConnect(playerid)
{
if(dini_Isset("levels.dkn",PlayerName(playerid))) Level[playerid] = (playerid,dini_Int("levels.dkn",PlayerName(playerid)));
if(dini_Isset("respeito.dkn",PlayerName(playerid))) Respeito[playerid] = (playerid,dini_Int("respeito.dkn",PlayerName(playerid)));
SetTimerEx("Timer",3600000,true,"i",playerid);//de 1 em 1 hr
return 1;
}
forward Timer(playerid);
public Timer(playerid)
{
Respeito[playerid]++;//irб dar + respeito ok
SendClientMessage(playerid,COR_AQUI,"Parabens Aumentou Sua EXP");
if(Respeito[playerid] == 4)//aki ele irб checar se o jogador tem 4 de experiencia
{
Level[playerid]++;
SendClientMessage(playerid,COLOR_ADMIN ,"Parabens Upou Seu Level");
}
//aki deveria ter outra comparaзao para ver se o jogador tem + experiencia
//exemplo
if(Respeito[playerid] == 8)//agora sim ele irб checar se o jogador tem 8 de experiencia e vai passar de nivel
{
Level[playerid]++;
SendClientMessage(playerid,COLOR_ADMIN ,"Parabens Upou Seu Level");
}
if(Respeito[playerid] == 12)//agora sim ele irб checar se o jogador tem 8 de experiencia e vai passar de nivel
{
Level[playerid]++;
SendClientMessage(playerid,COLOR_ADMIN ,"Parabens Upou Seu Level");
}
if(Respeito[playerid] == 16)//agora sim ele irб checar se o jogador tem 8 de experiencia e vai passar de nivel
{
Level[playerid]++;
SendClientMessage(playerid,COLOR_ADMIN ,"Parabens Upou Seu Level");
}
return 1;
}
public OnGameModeInit()
{
if(!fexist("levels.dkn")) dini_Create("levels.dkn");
if(!fexist("respeito.dkn")) dini_Create("respeito.dkn");
return 1;
}
public OnPlayerUpdate(playerid)
{
dini_IntSet("Levels.dkn",PlayerName(playerid),Level[playerid]);
if(dini_Isset("Levels.dkn",PlayerName(playerid))) SetPlayerScore(playerid,dini_Int("Levels.dkn",PlayerName(playerid)));
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
dini_IntSet("levels.dkn",PlayerName(playerid),Level[playerid]);
dini_IntSet("respeito.dkn",PlayerName(playerid),Respeito[playerid]);
return 1;
}
stock PlayerName(playerid)
{
new PlayerNameLevel[MAX_PLAYERS];
GetPlayerName(playerid, PlayerNameLevel, MAX_PLAYERS);
return PlayerNameLevel;
}
ai eu fis o comando de 1 em 1 hr que nem voce pediu
Respuesta: [AJUDA] Onde ta o erro nesse sistema -
Chefe - 17.01.2012
Mais tem como determinar a hora para dar o respeito? tipo, queria que sу dasse o respeito as xx:00