SA-MP Forums Archive
[duv]se o random for igual a X, acontece... - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [duv]se o random for igual a X, acontece... (/showthread.php?tid=123588)



[duv]se o random for igual a X, acontece... - Lucas_Brasil - 26.01.2010

ae gente, to meio sem oq fazer e resolvi criar um FS de doenзas e fiz um random q setara a doenзa do player, sу q eu nгo sei como usar o comparador 'if' pra verificar se o random foi igual a GRIPE
oque estou usando й
pawn Code:
new rand = random(sizeof(Sorteio));
onde sorteio й:
pawn Code:
new Sorteio[4] = {
{GRIPE},
{AIDS},
{VIROSE},
{VERMES}
};
a "GRIPE, AIDS, VIROSE E VERMES" estгo definidos sucessivamente nos IDs 1,2,3 e 4

alguem pode me ajudar como usar o comparador if no random?


Re: [duv]se o random for igual a X, acontece... - uni - 26.01.2010

Se quiseres usar if podes fazer:

if(rand==1)
printf("");
if(rand=2)
printf(");

ou entгo usas o case:


switch(rand)
{
case 0: printf(""); break;
case 1
case 2
case 3
}


Re: [duv]se o random for igual a X, acontece... - [O_o]Davidovich - 26.01.2010

ou entгo seta direto pelo valor do random caso vc tenha uma funзгo das doenзas estilo SetPlayerPos


Re: [duv]se o random for igual a X, acontece... - Lucas_Brasil - 26.01.2010

acho que deu certo, depois eu testo

outra coisa

como faзo pra pegar a vida do player e depois tirar 10 dela?
eu use:
pawn Code:
new Vida;
Vida = GetPlayerHeath(playerid);
SetPlayerHealth(playerid, Vida-10);
mas na hora de compilar da um warning:
pawn Code:
D:\Meu Server SA-MP\server 0.3\filterscripts\doenзas2.pwn(57) : warning 202: number of arguments does not match definition
sendo que a linha 57 й a
Vida = GetPlayerHealth(playerid);
pra mim esse warning й que ta faltando ou sobrando alguma coisa entre o parenteses, se eu adicionar mais alguma coisa da outro warning:
pawn Code:
D:\Meu Server SA-MP\server 0.3\filterscripts\doenзas2.pwn(57) : warning 213: tag mismatch
e se esse warning persistir ao inves de tirar 10 da vida do player a vida dele vai para -10, ai ele morre

se alguem puder ajudar, vlw


Re: [duv]se o random for igual a X, acontece... - KingstoN* - 26.01.2010

Tente:

pawn Code:
new vida = GetPlayerHeath(playerid);



Re: [duv]se o random for igual a X, acontece... - Lucas_Brasil - 26.01.2010

Quote:
Originally Posted by WooZie.
Tente:

pawn Code:
new vida = GetPlayerHeath(playerid);
nгo deu nгo, deu o mesmo warning


""G - [O_o]Davidovich - 26.01.2010

Quote:
Originally Posted by LuCaS_
acho que deu certo, depois eu testo

outra coisa

como faзo pra pegar a vida do player e depois tirar 10 dela?
eu use:
pawn Code:
new Vida;
Vida = GetPlayerHeath(playerid);
SetPlayerHealth(playerid, Vida-10);
mas na hora de compilar da um warning:
pawn Code:
D:\Meu Server SA-MP\server 0.3\filterscripts\doenзas2.pwn(57) : warning 202: number of arguments does not match definition
sendo que a linha 57 й a
Vida = GetPlayerHealth(playerid);
pra mim esse warning й que ta faltando ou sobrando alguma coisa entre o parenteses, se eu adicionar mais alguma coisa da outro warning:
pawn Code:
D:\Meu Server SA-MP\server 0.3\filterscripts\doenзas2.pwn(57) : warning 213: tag mismatch
e se esse warning persistir ao inves de tirar 10 da vida do player a vida dele vai para -10, ai ele morre

se alguem puder ajudar, vlw
Algumas funзхes "Get" trabalham diferente, o certo й:
pawn Code:
new Float:Vida;
GetPlayerHealth(playerid,Vida);
SetPlayerHealth(playerid,Vida-10);
Algumas funзхes "Get" como o "GetPlayerMoney(playerid)" jб retornam o valor.. em outras vocк tem que jogar o valor para uma variavel antes de usб-lo.. como em "GetPlayerHealth(playerid,Float:Health)".


Re: [duv]se o random for igual a X, acontece... - Lucas_Brasil - 26.01.2010

aeee cara valeu *-*
deu certo, valeu cara