SA-MP Forums

Go Back   SA-MP Forums > Non-English > Languages > Português/Portuguese

Reply
 
Thread Tools Display Modes
Old 21/07/2016, 10:28 PM   #1
OverKiller
Huge Clucker
 
OverKiller's Avatar
 
Join Date: Mar 2016
Location: Brazil - America South
Posts: 379
Reputation: 4
Post Tem como limitar um valor de uma variavel

Tipo

crio uma var aqui:

new var[MAX_PLAYERS];

dai venho e:

CMD:mudarvalor(playerid)
{
var[playerid] = 9999999;
}

entenderam eu queria que o valor da variavel não podesse passar de 4, dai se eu coloca-se mais de 4 ali daria um erro.

alguém sabe se dar?
OverKiller is offline   Reply With Quote
Old 21/07/2016, 10:31 PM   #2
SkyneTSAMP
Big Clucker
 
SkyneTSAMP's Avatar
 
Join Date: Feb 2015
Location: Santa Catarina, Timbó
Posts: 121
Reputation: 6
Default Re: Tem como limitar um valor de uma variavel

Tenta Fazer Com O "sscanf".
__________________
Projeto

[BMR] Brasil Mata-Mata XxRevolutioNxX [BR/EN]
__________________
IP: 181.215.131.5:7777
SkyneTSAMP is offline   Reply With Quote
Old 21/07/2016, 10:40 PM   #3
Bruno13
High-roller
 
Bruno13's Avatar
 
Join Date: May 2013
Location: Caxias do Sul/RS
Posts: 1,436
Reputation: 244
Default Re: Tem como limitar um valor de uma variavel

Você quer definir um valor máximo a ser setado na variável em um comando, é isso?
PHP Code:
new var[MAX_PLAYERS];

CMD:mudarvalor(playeridparams[])
{
    if(
isnull(params)) return SendClientMessage(playerid, -1"Digite algum valor: /mudarvalor <valor>");

    new 
value strval(params);

    if(
value 4) return SendClientMessage(playerid, -1"O valor não pode ser maior que 4!");

    var[
playerid] = value;

    return 
1;

__________________
Released Hogwarts RP/G
Code:
> Não trabalho mais com venda de sistemas.
> Site: www.bruno13.tk
Bruno13 is offline   Reply With Quote
Old 21/07/2016, 11:44 PM   #4
OverKiller
Huge Clucker
 
OverKiller's Avatar
 
Join Date: Mar 2016
Location: Brazil - America South
Posts: 379
Reputation: 4
Default Respuesta: Re: Tem como limitar um valor de uma variavel

Quote:
Originally Posted by Bruno13 View Post
Você quer definir um valor máximo a ser setado na variável em um comando, é isso?
PHP Code:
new var[MAX_PLAYERS];

CMD:mudarvalor(playeridparams[])
{
    if(
isnull(params)) return SendClientMessage(playerid, -1"Digite algum valor: /mudarvalor <valor>");

    new 
value strval(params);

    if(
value 4) return SendClientMessage(playerid, -1"O valor não pode ser maior que 4!");

    var[
playerid] = value;

    return 
1;

Não man isto eu sei fazer, kkkk. quero queo seguinte não venha acontecer como essa print aqui > http://imgur.com/a/XLOpx

estar vendo quando vou deslogando do servidor o valor da variável "Administrador" vai dobrando e no meu gm os seguintes valores são:

Administrador = 1 ) Ajudante

Administrador = 2 ) Moderador

Administrador 3 ) Administrador

Administrador 4) Dono

entendeu, não quero que o valor dessa variável passe de 4 de geito algum, por que:

Administrador = 20) seria oque?
OverKiller is offline   Reply With Quote
Old 21/07/2016, 11:47 PM   #5
zSuYaNw
Godfather
 
zSuYaNw's Avatar
 
Join Date: Apr 2010
Location: Santa Catarina
Posts: 6,840
Reputation: 672
Default Re: Tem como limitar um valor de uma variavel

é só botar no OnPlayerDisconnect ou OnPlayerConnect,

PHP Code:
admin[playerid] = 0
caso não funcionar, refaça seu código.
zSuYaNw is offline   Reply With Quote
Old 21/07/2016, 11:48 PM   #6
LockedLucas
Gangsta
 
LockedLucas's Avatar
 
Join Date: Dec 2014
Location: Irineu
Posts: 791
Reputation: 16
Default Re: Tem como limitar um valor de uma variavel

Posta o código de salvamento porque só assim da pra ver qual é o problema, ou faça oque o zSuYaNw disse acima.
__________________
LockedLucas is offline   Reply With Quote
Old 21/07/2016, 11:51 PM   #7
OverKiller
Huge Clucker
 
OverKiller's Avatar
 
Join Date: Mar 2016
Location: Brazil - America South
Posts: 379
Reputation: 4
Default Respuesta: Tem como limitar um valor de uma variavel

Quote:
// Criado Por Thiago_PS
// Editado Por JFS.
// Motivo do Post : Muitos Pedidos.
// >> Sem BUG << || Assesem : homehots.net || MSN : john_feat@hotmail.com
// É Nois ! */
#include <a_samp>
#include <Dini>
#include ZCMD
#include sscanf2

#define FILTERSCRIPT

#define REGISTRO 1
#define LOGIN 2
#define Admins 98382


#define verdec 0x0C845EAA
#define azulc 0x28D2A7AA
#define amareloq 0xFFFA87AA
#define rosinha 0xFA7EFEAA
#define verde 0x11B82AAA
#define vermelho 0xFA333300
#define verdemarinho 0x0BC666AA
#define coradmin 0x007AB7AA

#define ajudante 0xD14444AA
#define moderador 0xEFC300AA
#define administrador 0x096880AA
#define dono 0x00F3DFAA


#define CONTAS "Players/%s.ini"

new msg[260];

new Matou[MAX_PLAYERS];
new Morreu[MAX_PLAYERS];
new Logou[MAX_PLAYERS];

enum Dados
{
Administrador,
}
new PlayerInfo[MAX_PLAYERS][Dados];


public OnFilterScriptInit()
{
return 1;
}

public OnFilterScriptExit()
{
for(new i=0; i<MAX_PLAYERS; i++)
SalvarPlayer(i);
return 1;
}

public OnPlayerRequestClass(playerid, classid)
{
return 1;
}
public OnPlayerConnect(playerid)
{
new String[100];
format(String, sizeof(String), CONTAS, Nome(playerid));
if(!dini_Exists(String))
{
format(String, sizeof(String), "{7FFFD4}Nick: {1E90FF}%s {1E90FF}Não Registrado\n\n{FFFFFF} Digite Uma Senha Para Continuar", Nome(playerid));
ShowPlayerDialog(playerid, REGISTRO, DIALOG_STYLE_INPUT, "Registro", String, "Registrar", "Cancelar");
}
else
{
format(String, sizeof(String), "{7FFFD4}Nick: {1E90FF}%s {1E90FF}Registrado\n\n{FFFFFF} Digite Sua Senha Para Logar", Nome(playerid));
ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_INPUT, "Registro", String, "Logar", "Cancelar");
}
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
SalvarPlayer(playerid);
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
if(IsPlayerConnected(killerid))
{
Matou[killerid]++;
}
Morreu[playerid]++;
return 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == REGISTRO)
{
if(response)
{
if(!strlen(inputtext))
{
new String[100];
format(String, sizeof(String), "{7FFFD4}Nick: {1E90FF}%s {1E90FF}Não Registrado\n\n{FFFFFF} Digite Uma Senha Para Continuar", Nome(playerid));
ShowPlayerDialog(playerid, REGISTRO, DIALOG_STYLE_INPUT, "Registro", String, "Registrar", "Cancelar");
SendClientMessage(playerid,0x1E90FFAA,"Senha invalida, digite uma senha válida");
return 1;
}
new String[100];
format(String, sizeof(String), CONTAS, Nome(playerid));
dini_Create(String);
dini_Set(String,"Senha",inputtext);
dini_IntSet(String,"Dinheiro",0);
dini_IntSet(String,"Matou",0);
dini_IntSet(String,"Morreu",0);
dini_IntSet(String,"Logou",0);
dini_IntSet(String,"Administrador",0);
ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_INPUT, "Login", "{1E90FF}Pronto você se registrou agora digite Sua Senha Para Logar-Se", "Logar", "Cancelar");
return 1;
}
else
{
SendClientMessage(playerid, 0xFF0000AA, "Você Foi Kickado Porque Não Quis Se Registrar!!");
Kick(playerid);
return 1;
}
}
if(dialogid == LOGIN)
{
if(response)
{
if(!strlen(inputtext))
{
new String[100];
format(String, sizeof(String), "{7FFFD4}Nick: {1E90FF}%s {1E90FF}Registrado\n\n{FFFFFF} Digite Sua Senha Para Logar", Nome(playerid));
ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_INPUT, "Registro", String, "Logar", "Cancelar");
SendClientMessage(playerid,0x1E90FFAA,"Senha Incorreta !");
return 1;
}
new String[100];
format(String, sizeof(String), CONTAS, Nome(playerid));
if(!strcmp(inputtext,dini_Get(String,"Senha"),fals e))
{
SpawnPlayer(playerid);
SetarPlayer(playerid);
Logou[playerid]++;
return 1;
}
else
{
SendClientMessage(playerid,0x00FF00AA,"Senha incorreta digite-a novamente");
format(String, sizeof(String), "{7FFFD4}Nick: {1E90FF}%s {1E90FF}Registrado\n\n{FFFFFF} Digite Sua Senha Para Logar", Nome(playerid));
ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_INPUT, "Registro", String, "Logar", "Cancelar");
}
return 1;
}
else
{
SendClientMessage(playerid, 0xFF0000AA, "Você não quis se logar, por este motivo será Kickado");
Kick(playerid);
return 1;
}
}
return 1;
}
É um filter que baixei na net, tem até os créditos do mano que fez.
OverKiller is offline   Reply With Quote
Old 21/07/2016, 11:52 PM   #8
Schocc
High-roller
 
Join Date: Mar 2012
Location: /home
Posts: 3,239
Reputation: 378
Default Re: Tem como limitar um valor de uma variavel

Bom, em algum lugar a variável está recebendo este valor, você deve fazer debug para encontrar este valor.

Olhando para o código o único local que a variável Administrador recebe um valor é no registro...
Schocc is offline   Reply With Quote
Old 22/07/2016, 01:27 AM   #9
focaximubh
High-roller
 
focaximubh's Avatar
 
Join Date: Jul 2012
Posts: 1,164
Reputation: 55
Lightbulb Re: Tem como limitar um valor de uma variavel

pelo que eu entendi, você quer limitar o valor que pode ser definido no comando como por exemplo o dar admin...

Exemplo:

pawn Code:
CMD:daradmin(playerid, params[])
{
    new pLevel, pID;
    if(sscanf(params, "ui", pID, pLevel))return SendClientMessage(playerid, -1, "USO: /daradmin [ID/NICK] [LEVEL]");
    if(pLevel < 0 || pLevel > 4) return SendClientMessage(playerid, -1, "[ERROR] Você deve definir um nivel entre 0 e 4!");
    PlayerInfo[pID][Administrador] = pLevel;
    return 1;
}
Acredito que seja isso....

Sobre o seu salvamento que acabei de reler o tópico, o problema está na stock SetarPlayer poste ela para vermos...
__________________
PORRA!
focaximubh is offline   Reply With Quote
Old 22/07/2016, 11:03 AM   #10
OverKiller
Huge Clucker
 
OverKiller's Avatar
 
Join Date: Mar 2016
Location: Brazil - America South
Posts: 379
Reputation: 4
Thumbs up Respuesta: Tem como limitar um valor de uma variavel

SetarPlayer(playerid)
{
new String[50];
format(String, sizeof(String), CONTAS, Nome(playerid));
GivePlayerMoney(playerid, dini_Int(String,"Dinheiro"));
SetPlayerHealth(playerid, dini_Int(String,"Vida"));
SetPlayerArmour(playerid, dini_Int(String,"Colete"));
Matou[playerid] = dini_Int(String, "Matou");
Morreu[playerid] = dini_Int(String, "Morreu");
Logou[playerid] = dini_Int(String, "Logou");
PlayerInfo[playerid][Administrador] = dini_Int(String, "Administrador");
return 1;
}
OverKiller is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
[Ajuda] Como salvo valor de uma variavel em DINI? OverKiller Português/Portuguese 10 03/06/2016 04:40 AM
[Ajuda] Como pegar o valor da variável de um outro jogador ? iTouchS Português/Portuguese 1 21/04/2016 06:31 PM
[Ajuda] Como fazer variavel com valor aleatorio. TatuTM Português/Portuguese 4 18/01/2016 01:38 AM
[Ajuda] Como verificar qual a variável com maior valor Rhayziin Português/Portuguese 5 25/12/2015 10:19 AM
[Ajuda] Como mostrar valor de uma Variavel no ShowPlayerDialog ? HeyHoLetsGo Português/Portuguese 9 17/12/2012 08:34 PM


All times are GMT. The time now is 06:54 PM.


Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.