SA-MP Forums Archive
[Ajuda] Dъvida todo dia, saъde e alegria. - 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: [Ajuda] Dъvida todo dia, saъde e alegria. (/showthread.php?tid=385652)



Dъvida todo dia, saъde e alegria. - Ely Manning - 17.10.2012

Bom vamos lб entгo, estava eu lб trabalhando em meu sistema de drogas quando de-repente um menu resolveu dar piti, vamos ao cуdigo:

PHP код:
            case 0//5 kg (R$395,00) [Lvl: 10]
            
{
                      if(
GetPlayerMoney(playerid)>=395 && GetPlayerScore(playerid) >= 10)
                          {
                            
SendClientMessage(playerid0xA135484A"Muito bom, agora adentre em uma das vans que estгo estacionadas e vamos carregб-la.");
                            
GivePlayerMoney(playerid, -395);
                            
GameTextForPlayer(playerid"Dinheiro: -R$395,00"30001);
                            
TogglePlayerControllable(playerid1);
                            
crackmis[playerid] = 10;
                          }
                      if(
GetPlayerMoney(playerid)<=394 && GetPlayerScore(playerid) <= 9)
                          {
                            
SendClientMessage(playerid0xA135484A"Ei amigo o que estб achando? O trбfego de drogas nгo й para um qualquer! Vocк nгo estб apto para realizar esta compra.");
                            
TogglePlayerControllable(playerid1);
                        }
            } 
O menu tem 12 opзхes, tudo estб definido e compilando sem erros, porйm ingame a funзгo nгo й executada.
Sugestхes por favor.


Re: Dъvida todo dia, saъde e alegria. - zSuYaNw - 17.10.2012

Debugging via printf.


Re: Dъvida todo dia, saъde e alegria. - Ely Manning - 17.10.2012

Traduz, aka nгo sei como se faz isso.


Re: Dъvida todo dia, saъde e alegria. - hard_dalzot - 17.10.2012

Qual й o seu problema expecifique-o


Re: Dъvida todo dia, saъde e alegria. - Ely Manning - 17.10.2012

Quote:

O menu tem 12 opзхes, tudo estб definido e compilando sem erros, porйm ingame a funзгo nгo й executada.
Sugestхes por favor.

Especificado.

#edit

Esse menu deriva de outro menu, quero dizer: a opcao de 1 leva a outro. Os seguintes erros se decorrem: quando seleciono a opcao no menu 1, o menu 2 й aberto. Logo: a segunda opcao do menu 2 й aberta e aceitada automaticamente. ( o que coincide pois a 2 opcao do menu 1 leva ao menu 2). Acho que um return resolveria?
Segundo erro, se a condiзгo nгo for estabelecida, a mensagem nгo й enviada ( segundo if).


Re: Dъvida todo dia, saъde e alegria. - hard_dalzot - 17.10.2012

Not! Eu pelo menos nгo entendi qual seria o problema exato mas vou tentar ver se acho algo de errado


Re: Dъvida todo dia, saъde e alegria. - hard_dalzot - 17.10.2012

Eu fiz em forma de dialog aqui e funfo de boa esse code que eu editei aqui pra vocк

PHP код:
            if(GetPlayerMoney(playerid) >=395 || GetPlayerScore(playerid) >= 10)
            {
                
SendClientMessage(playerid0xA135484A"Muito bom, agora adentre em uma das vans que estгo estacionadas e vamos carregб-la.");
                
GivePlayerMoney(playerid, -395);
                
GameTextForPlayer(playerid"Dinheiro: -R$395,00"30001);
                
TogglePlayerControllable(playerid1);
                
crackmis[playerid] = 10;
            }
            else if(
GetPlayerMoney(playerid)<= 394 || GetPlayerScore(playerid) <= 9)
            {
                
SendClientMessage(playerid0xA135484A"Ei amigo o que estб achando? O trбfego de drogas nгo й para um qualquer! Vocк nгo estб apto para realizar esta compra.");
                
TogglePlayerControllable(playerid1);
            } 



Re: Dъvida todo dia, saъde e alegria. - zSuYaNw - 17.10.2012

PHP код:
              case 0
            {
                        
printf("MONEY > %d | SCORE: > %d" GetPlayerMoney(playerid), GetPlayerScore(playerid));
                        
                         if(
GetPlayerMoney(playerid)>=395 && GetPlayerScore(playerid) >= 10)
                         {
                            
SendClientMessage(playerid0xA135484A"Muito bom, agora adentre em uma das vans que estгo estacionadas e vamos carregб-la.");
                            
GivePlayerMoney(playerid, -395);
                            
GameTextForPlayer(playerid"Dinheiro: -R$395,00"30001);
                            
TogglePlayerControllable(playerid1);
                            
crackmis[playerid] = 10;
                            
printf("CARREGANDO");
                        }
                         if(
GetPlayerMoney(playerid)<=394 && GetPlayerScore(playerid) <= 9)
                        {
                            
SendClientMessage(playerid0xA135484A"Ei amigo o que estб achando? O trбfego de drogas nгo й para um qualquer! Vocк nгo estб apto para realizar esta compra.");
                            
TogglePlayerControllable(playerid1);
                            
printf("NГO APTO");
                        }
            } 
Rode isto e mostre seus resultados.


Re: Dъvida todo dia, saъde e alegria. - Ely Manning - 17.10.2012

Quote:
Originally Posted by hard_dalzot
Посмотреть сообщение
Eu fiz em forma de dialog aqui e funfo de boa esse code que eu editei aqui pra vocк

PHP код:
            if(GetPlayerMoney(playerid) >=395 || GetPlayerScore(playerid) >= 10)
            {
                
SendClientMessage(playerid0xA135484A"Muito bom, agora adentre em uma das vans que estгo estacionadas e vamos carregб-la.");
                
GivePlayerMoney(playerid, -395);
                
GameTextForPlayer(playerid"Dinheiro: -R$395,00"30001);
                
TogglePlayerControllable(playerid1);
                
crackmis[playerid] = 10;
            }
            else if(
GetPlayerMoney(playerid)<= 394 || GetPlayerScore(playerid) <= 9)
            {
                
SendClientMessage(playerid0xA135484A"Ei amigo o que estб achando? O trбfego de drogas nгo й para um qualquer! Vocк nгo estб apto para realizar esta compra.");
                
TogglePlayerControllable(playerid1);
            } 
Desse seu jeito colocando as "||" vocк cria "uma ou outra" condiзгo: eu quero que as duas condiзхes sejam estabelecidas e se uma das duas nгo for preenchida a funзгo nгo se iniciarб. Desse jeito se a pessoa tiver o score 1 e tiver dinheiro a funзгo se iniciarб, ou se ela for score 10 e nгo tiver dinheiro, ficarб vermelho seu saldo.

Quote:
Originally Posted by [Full]Garfield[XDB]
Посмотреть сообщение
PHP код:
              case 0
            {
                        
printf("MONEY > %d | SCORE: > %d" GetPlayerMoney(playerid), GetPlayerScore(playerid));
                        
                         if(
GetPlayerMoney(playerid)>=395 && GetPlayerScore(playerid) >= 10)
                         {
                            
SendClientMessage(playerid0xA135484A"Muito bom, agora adentre em uma das vans que estгo estacionadas e vamos carregб-la.");
                            
GivePlayerMoney(playerid, -395);
                            
GameTextForPlayer(playerid"Dinheiro: -R$395,00"30001);
                            
TogglePlayerControllable(playerid1);
                            
crackmis[playerid] = 10;
                            
printf("CARREGANDO");
                        }
                         if(
GetPlayerMoney(playerid)<=394 && GetPlayerScore(playerid) <= 9)
                        {
                            
SendClientMessage(playerid0xA135484A"Ei amigo o que estб achando? O trбfego de drogas nгo й para um qualquer! Vocк nгo estб apto para realizar esta compra.");
                            
TogglePlayerControllable(playerid1);
                            
printf("NГO APTO");
                        }
            } 
Rode isto e mostre seus resultados.
Ele checou que o meu score era menor que 10, apareceu no log, porйm a funзгo "Nгo Apto", que deveria ter aparecido no log nгo foi executada. Jб, quando os 2 requirimentos sгo preenchidos corretamente a funзгo "Carregando" foi executada com sucesso; O que centraliza o bug na segunda parte que seria quando o player nгo preenche os requirimentos para fazer a compra. Soluзхes?