Portal SAMP
[Ajuda] Desenvolver comandos com sistema de ID fixo. - Versão de Impressão

+- Portal SAMP (https://portalsamp.com)
+-- Fórum: SA-MP (https://portalsamp.com/forumdisplay.php?fid=5)
+--- Fórum: Área de suporte (https://portalsamp.com/forumdisplay.php?fid=6)
+--- Tópico: [Ajuda] Desenvolver comandos com sistema de ID fixo. (/showthread.php?tid=1033)



Desenvolver comandos com sistema de ID fixo. - lucasms14 - 04/04/2021

Então, eu criei um sistema de ID fixo para um server de RP que estou desenvolvendo. No entanto, estou me complicando para desenvolver comandos que são necessários usar esse sistema, como um /setarvida [id] por exemplo. Eu criei uma variável responsável para armazenar o ID que está salva na pasta do player, sendo ela: New ID[MAX_PLAYERS]; .. Ao player conectar no servidor eu armazendo o ID salvo a essa variável assim: ID[playerid] = DOF2::GetInt(file, "ID"); ..

Alguém poderia me ajudar em algum comando só para eu pegar como base e criar os demais que tenho em mente? Um comando como setar vida para um player por exemplo. (/setarvida [ID]).

Agradeço!


RE: Desenvolver comandos com sistema de ID fixo. - xbruno1000x - 04/04/2021

Basta usar o Sscanf


RE: Desenvolver comandos com sistema de ID fixo. - lucasms14 - 04/04/2021

(04/04/2021 14:30)xbruno1000x Escreveu: Basta usar o Sscanf

Já tentei fazer de muitas formas, inclusive usando sscanf para verificar.


RE: Desenvolver comandos com sistema de ID fixo. - k2bi_YT - 04/04/2021

Tente isso:
Uso de foreach e ZCMD/Pawn.CMD

Código PHP:
CMD:setarvida(playeridparams[])
{
    new 
jogador;
    if(
sscanf("i"jogador)) return SendClientMessage(playerid, -1"Use: /setarrvida [ID]");
    foreach(
Playeri)
    {
        if(
ID[i] == jogador)
        {
            
SetPlayerHealth(i100);
            
SendClientMessage(playerid, -1"Você completou a vida do jogador.");
                        
SendClientMessage(i, -1"Sua vida foi setada 100%.");
            return 
1;
        }
    }
    return 
1;




RE: Desenvolver comandos com sistema de ID fixo. - SrDivuOfficial - 04/07/2021

(04/04/2021 11:11)lucasms14 Escreveu: Então, eu criei um sistema de ID fixo para um server de RP que estou desenvolvendo. No entanto, estou me complicando para desenvolver comandos que são necessários usar esse sistema, como um /setarvida [id] por exemplo. Eu criei uma variável responsável para armazenar o ID que está salva na pasta do player, sendo ela: New ID[MAX_PLAYERS]; .. Ao player conectar no servidor eu armazendo o ID salvo a essa variável assim: ID[playerid] = DOF2::GetInt(file, "ID"); ..

Alguém poderia me ajudar em algum comando só para eu pegar como base e criar os demais que tenho em mente? Um comando como setar vida para um player por exemplo. (/setarvida [ID]).

Agradeço!

Bom vou te explicar mais ou menos...

Priimeiro você vai fazer um cmd com sscanf, igual o que o nosso amigo nos disse.

Feito isso na parte de verificar a id, você vai fazer um loading com o DOF2 pra verificar todos os arquivos do salvamento para localizar a id que você necessita, feito isso localizando a id, você vai armazenar em uma variavel dentro do próprio cmd mesmo para poder salvar em qual arquivo do salvamento tem a id desejada para assim poder a alteração da vida...
Se o objetivo do seu servidor é ter muitos players, creio que ao executar esse comando pelo fato de ser em DOF2 vai acaba dando um lag no servidor pelo fato de está verificando, pois o DOF2 é lerdo comparado com MySQL e com SQLite, então eu recomendo você fazer esse CMD em SQLite para evitar LAG'S e sem contar que vai muito mais simples pra ser feito.

(Digitei essa explicação no celular, qualquer coisa se você não entender eu entro no PC e faço um código base para você)