[Ajuda] Nгo ta ganhando level + Relogio up pronto
#1

Boa noite tudo bom? Poise eh e aqui estou eu novamente, tava trabalhando em cima de um relogio UP, pela primeira vez, n fui eu q fiz esse sistema, peguei em outro tуpico de ajuda, e consegui arrumar umas coisinhas, o sistema funciona assim, quando o player junta 5 EXP ele ganha 1 level, bem basico, porem quando ele junta 5 EXP diz que ele ganhou 1 level, porem o level nгo й setado.

e se eu usar o SetPlayerScore ira sempre setar para o valor 1, ai tentei de varias formas mas deu em nada ...

aqui estб a parte que preciso de ajuda ...

PHP Code:
if(DOF2_GetInt(ContaPlayer(playerid), "EXP") >=5)
                    {
                        
DOF2_SetInt(ContaPlayer(playerid), "Level"DOF2_GetInt(ContaPlayer(playerid), "Level")+1);
                        
PlayerInfo[playerid][Level] ++;
                        
format(stringsizeof(string), "(INFO) Vocк juntou 5 de respeito, e ganhou +1 level. (%d) ",DOF2_GetInt(ContaPlayer(playerid), "Level"));
                        
SendClientMessage(playerid0x75EA00AAstring);
                        
PlayerPlaySound(playerid1057000);
                        
DOF2_SetInt(ContaPlayer(playerid), "EXP",0); 
E aqui esta o sistema completo caso alguem futuramente precise

PHP Code:
#include <YSI\y_hooks>
#include <a_samp>
new file1[128];
new 
AFK[MAX_PLAYERS];
new 
Text:UPRelogio[MAX_PLAYERS];//draw do relogio
hook OnPlayerConnect(playerid)
{
PlayerInfo[playerid][minUP] = 1;
PlayerInfo[playerid][segUP] = 5;
return 
1;
}
hook OnGameModeInit()
{
for(new 
0MAX_PLAYERSi++)
    {
        
SetTimerEx("RelogioUP"1000true"i"i);
        
UPRelogio[i] = TextDrawCreate(509.000000222.000000" ");
        
TextDrawBackgroundColor(UPRelogio[i], 255);
        
TextDrawFont(UPRelogio[i], 3);
        
TextDrawLetterSize(UPRelogio[i], 0.4699981.500000);
        
TextDrawColor(UPRelogio[i], -1);
        
TextDrawSetOutline(UPRelogio[i], 1);
        
TextDrawSetProportional(UPRelogio[i], 1);
    }
}
hook OnPlayerSpawn(playerid)
{
TextDrawShowForPlayer(playeridUPRelogio[playerid]);
}
forward RelogioUP(playerid);
public 
RelogioUP(playerid)
{
    new 
string[256];
       if(
PlayerInfo[playerid][segUP] == && PlayerInfo[playerid][minUP] == 0)
        {
            new 
aname[MAX_PLAYER_NAME];
            
GetPlayerName(playeridanameMAX_PLAYER_NAME);
            
format(file1sizeof(file1),ArquivoUsuariosNomePlayer(playerid));
            if(
PlayerInfo[playerid][Logged] == 1)
            {
                if(
AFK[playerid] == 0)
                {
                    
DOF2_SetInt(ContaPlayer(playerid),"Tempo",DOF2_GetInt(ContaPlayer(playerid),"Tempo")+1);
                    
//====== [EXP] ======
                    
if(DOF2_GetInt(ContaPlayer(playerid),"Tempo") >=1)
                    {
                        
DOF2_SetInt(ContaPlayer(playerid),"EXP"DOF2_GetInt(ContaPlayer(playerid), "EXP")+1);
                        
format(stringsizeof(string), "| UP | Vocк ganhou +1 de experiкncia! [ %d / 5 ]",DOF2_GetInt(ContaPlayer(playerid), "EXP"));
                        
PlayerPlaySound(playerid1133000);
                        
SendClientMessage(playerid0x33AAFFFFstring);
                        
DOF2_SetInt(ContaPlayer(playerid), "Tempo",0);
                    }
                    if(
DOF2_GetInt(ContaPlayer(playerid), "EXP") >=5)
                    {
                        
DOF2_SetInt(ContaPlayer(playerid), "Level"DOF2_GetInt(ContaPlayer(playerid), "Level")+1);
                        
PlayerInfo[playerid][Level] ++;
                        
format(stringsizeof(string), "(INFO) Vocк juntou 5 de respeito, e ganhou +1 level. (%d) ",DOF2_GetInt(ContaPlayer(playerid), "Level"));
                        
SendClientMessage(playerid0x75EA00AAstring);
                        
PlayerPlaySound(playerid1057000);
                        
DOF2_SetInt(ContaPlayer(playerid), "EXP",0);
                    }
                }
            }
        }
        if(
PlayerInfo[playerid][segUP] == 0)
        {
            if(
PlayerInfo[playerid][minUP] == 0)
                
PlayerInfo[playerid][minUP] = 1;
                
PlayerInfo[playerid][segUP] = 5;
                
PlayerInfo[playerid][minUP] --;
        }
        
format(stringsizeof(string), "UP: %02d:%02d"PlayerInfo[playerid][minUP], PlayerInfo[playerid][segUP]);
        
TextDrawSetString(UPRelogio[playerid], string);
        
PlayerInfo[playerid][segUP] --;
        return 
1;

Reply
#2

PHP Code:
SetPlayerScore(playeridGetPlayerScore(playerid) + 1); 
Reply
#3

PHP Code:
if(DOF2_GetInt(ContaPlayer(playerid), "EXP") >=5)
{
    
DOF2_SetInt(ContaPlayer(playerid), "Level"DOF2_GetInt(ContaPlayer(playerid), "Level")+1);
    
PlayerInfo[playerid][Level]++;
    
format(stringsizeof(string), "(INFO) Vocк juntou 5 de respeito, e ganhou +1 level. (%d) ",DOF2_GetInt(ContaPlayer(playerid), "Level"));
    
SendClientMessage(playerid0x75EA00AAstring);
    
PlayerPlaySound(playerid1057000);
    
DOF2_SetInt(ContaPlayer(playerid), "EXP",0);
    
SetPlayerScore(playeridPlayerInfo[playerid][Level]);

Reply
#4

PHP Code:
                    if(DOF2_GetInt(ContaPlayer(playerid), "EXP") >=5)
                    {
                        new 
scro;
                        
scro GetPlayerScore(playerid);
                        
DOF2_SetInt(ContaPlayer(playerid), "Level"DOF2_GetInt(ContaPlayer(playerid), "Level")scro+1);
                        
PlayerInfo[playerid][Level] ++;
                        
format(stringsizeof(string), "(INFO) Vocк juntou 5 de respeito, e ganhou +1 level. (%d) ",DOF2_GetInt(ContaPlayer(playerid), "Level"));
                        
SendClientMessage(playerid0x75EA00AAstring);
                        
PlayerPlaySound(playerid1057000);
                        
DOF2_SetInt(ContaPlayer(playerid), "EXP",0);
                        
scro 0;
                    } 
Reply
#5

Cuidado que dessa forma todos vгo ter o mesmo tempo do relуgio.
Reply
#6

Tem muita coisa errada aн nesse sistema.
Й melhor fazer um novo.
Reply
#7

Quote:
Originally Posted by ipsLuan
View Post
Tem muita coisa errada aн nesse sistema.
Й melhor fazer um novo.
Entгo mas aqui agora ta funcionando direitinho, o player entra comeзa a contagem bate 10 min lб e ele ganha 1 EXP juntou 5 ele ganha 1 level ta tudo funcionando normal, sу que nгo ta salvando a EXP dele agora, mas por vias das duvidas, vou da uma pesquisadas em outros e deixar esse guardado, mais se conseguir me da a luz pra esse fico feliz kk
Reply
#8

Faзa vocк mesmo !
Essa vida de ctrl c ctrl v e muito ruim. Experiкncia prуpria .
Reply
#9

Voltando aqui, й melhor fazer outro, o timer de garantir o XP pro jogador estб global e fora outras coisas, mas й que eu parei de ler o cуdigo nessa parte.
Reply
#10

Ah nгo tranquilo, vou fazer um do 0 aqui mesmo, Obrigado ao por quem ajudou, e pode deixar Don_Speed, irei fazer um.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)