[Ajuda] CMD desligando server
#1

Bom eu criei meu cmd de setbope ai quando eu uso ele /setbope id level ai eu digito eu do enter й ele seta ai logo em seguida desliga o servidor
PHP код:
CMD:setbope(playerid,params[])
{
    new 
idlevel,string[128];
    if(
Player[playerid][pLogged] == false)return SCM(playeridCOLOR_RED,""TAG_ERRO" Vocк nгo estб Logado para usar este comando!");
    if(
Player[playerid][Admin] >= || Player[playerid][BOPE] >= 5)
    {
        new 
cargotext[60];
        if(
Player[playerid][BOPE] == 5) { cargotext "Lнder"; }
        if(
Player[playerid][BOPE] == 4) { cargotext "Major"; }
        if(
Player[playerid][BOPE] == 3) { cargotext "Sargento"; }
        if(
Player[playerid][BOPE] == 2) { cargotext "Cabo"; }
        if(
Player[playerid][BOPE] == 1) { cargotext "Recruta"; }
        if(
Player[playerid][Admin] == 7) { cargotext "Fundador"; }
        if(
Player[playerid][Admin] == 6) { cargotext "Lider Geral"; }
        if(
Player[playerid][Admin] == 5) { cargotext "Game Master"; }
        if(
Player[playerid][Admin] == 4) { cargotext "Sub Game Master"; }
        if(
sscanf(params,"ud",id,level)) return SCM(playeridCOLOR_GREY""TAG_USOCORRETO" /setbope <id> <level>");
        if(
level 5) return SCM(playeridCOLOR_RED""TAG_ERRO" Mбximo de Level a ser setado й 5.");
        if(!(
IsPlayerConnected(id))) return SCM(playeridCOLOR_RED""TAG_ERRO" Este jogador nгo estб Logado.");
        
format(stringsizeof(string), ""TAG_SERVER" O %s %s te setou de Level %d da BOPE ."cargotextGetName(playerid), level);
        
SCM(idCOLOR_GREYstring);
        
format(string,sizeof(string),""TAG_INFO" Vocк setou %s de Level %d da BOPE."GetName(id),level);
        
SCM(playeridCOLOR_GREYstring);
        
Player[id][BOPE]=level;
        
Player[id][Faccoes]=13;
        
format(string128,""TAG_SERVER" O %s %s setou %s de Level %d da BOPE."cargotextGetName(playerid), GetName(id), level);
        
MensagemAdmin(string);
        
format(string128,""TAG_INFO" O %s %s setou %s de Level %d da BOPE."cargotextGetName(playerid), GetName(id), level);
        
MensagemBope(string);
        
format(stringsizeof(string), "LOG: O %s %s setou %s de Level %d da BOPE.",cargotextGetName(playerid), GetName(id), level);
        
DarBope(string);
        
printf("[SET BOPE]: -BOPE-: O %s %s setou %s de Level %d da BOPE."cargotextGetName(playerid), GetName(id), level);
    }
    else
    {
        
SCM(playeridCOLOR_RED""TAG_ERRO" Vocк nгo tem permissгo para usar este comando!");
    }
    return 
1;

Reply
#2

Olб, BrGabrielBr.

Remova a funзгo DarBope(string); do cуdigo e veja se o erro persiste.
Se o erro parar, analise a funзгo DarBope.
Reply
#3

Quote:
Originally Posted by ipsLuan
Посмотреть сообщение
Olб, BrGabrielBr.

Remova a funзгo DarBope(string); do cуdigo e veja se o erro persiste.
Se o erro parar, analise a funзгo DarBope.
Foi mano mais tipo o darbope era sу pra mostra quem jб foi setado de bope sabe? ai nгo entendi pq o erro tava nele, aproveitando o tуpico meu sistema de exp tб bugado tipo quando dou exp nгo upa na hora o player tem que reloga й ta bugado pois n fui eu que fiz n sei meche muito bem to aprendendo agora.

PHP код:
stock Experience(playeridvalue)
{
    
Point[playerid][pEXP] += value;
    new 
exp GetValueXP(playerid);
    if(
Point[playerid][pEXP] >= exp)
    {
            
SetPlayerScore(playerid, ++Player[playerid][Score]);
            new 
tmp = (Point[playerid][pEXP] - exp);
            
Point[playerid][pEXP] = tmp;
            
SetProgressBarMaxValue(BARXP[playerid], GetValueXP(playerid));
            
SetProgressBarValue(BARXP[playerid], tmp);
            
GameTextForPlayer(playerid"~y~VOCE UPOU DE LEVEL!!!!"30003);
            
Salvar_Conta(playerid);
    }
    else 
SetProgressBarValue(BARXP[playerid], Point[playerid][pEXP]);
    return 
1;
}
//==============================================================================
forward UpdateBar(playerid);
public 
UpdateBar(playerid)
{
    
SetProgressBarValue(BARXP[playerid], Point[playerid][pEXP]);
    
SetProgressBarMaxValue(BARXP[playerid], GetValueXP(playerid));
    
UpdateProgressBar(BARXP[playerid], playerid);
    new 
str[100];
    
format(strsizeof(str), "%d/%d"Point[playerid][pEXP], GetValueXP(playerid));
    
TextDrawSetString(TDXP[0], str);
    return 
1;

Reply
#4

Vocк tem que ver quando Experience estб sendo chamada.
Crie um TimerEx.
Reply
#5

Quote:
Originally Posted by ipsLuan
Посмотреть сообщение
Vocк tem que ver quando Experience estб sendo chamada.
Crie um TimerEx.
N tem timerex mas tem
PHP код:
SetTimer("Experience"1000true); 
й nгo funciona de forma alguma й pelo que estudei sobre TimerEx os 2 sгo quase a mesma coisa
Reply
#6

Tente desta forma:

PHP код:
#define horas(%0) (1000 * %0 * 60 * 60)
SetTimerEx("Experience"horas(1), true"id"playerid1); 
Hб dois parвmetros na callback, vocк precisa especificar.
Troque o valor horas(1) pelo desejado.
Troque 1 pelo valor de experiкncia que ele irб adquirir.
Reply
#7

Quote:
Originally Posted by ipsLuan
Посмотреть сообщение
Tente desta forma:

PHP код:
#define horas(%0) (1000 * %0 * 60 * 60)
SetTimerEx("Experience"horas(1), true"id"playerid1); 
Hб dois parвmetros na callback, vocк precisa especificar.
Troque o valor horas(1) pelo desejado.
Troque 1 pelo valor de experiкncia que ele irб adquirir.
Continua do mesmo jeito a barrinha da progress encheu mais o level nгo aumenta print https://imgur.com/a/nEusMiH
Reply
#8

alguйm?
Reply
#9

Qual o comando que vocк estб usando?

Obs: Use PlayerTextDraw.
Reply
#10

Quote:
Originally Posted by ipsLuan
Посмотреть сообщение
Qual o comando que vocк estб usando?

Obs: Use PlayerTextDraw.
PHP код:
public GetValueXP(playerid)
{
    static 
value;
    if(
Player[playerid][Score] == 0)
    
value 4;
    else
    
value Player[playerid][Score] * 8;
    return 
value;

Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)