SA-MP Forums

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

Reply
 
Thread Tools Display Modes
Old 15/07/2012, 04:14 PM   #3681
sanalex
Gangsta
 
Join Date: Feb 2012
Posts: 799
Reputation: 40
Default Re: Dúvidas Curtas

Creio que funcionaria, mas a questão é como eu faria pra ele reconhecer um 2,3,4 if sem precisar criar outra stock.

Exemplo:

pawn Code:
GetFunc(playerid)
{
     if(Variavel[playerid][Dinheiro] == true) // modo de uso >> Variavel[playerid][Dinheiro] = true; // Daria dinheiro
     {
           GivePlayerMoney(playerid, 1000);
     }
     else if(Variavel[playerid][Arma] == true) // modo de uso Variavel[playerid][Arma] = true; // Daria arma
     {
           GivePlayerWeapon(playerid, 26);
     }
     return 1;
}

Como estou fazendo mas não funciona...
sanalex is offline   Reply With Quote
Old 15/07/2012, 04:16 PM   #3682
leonardo1434
High-roller
 
leonardo1434's Avatar
 
Join Date: Mar 2012
Posts: 1,688
Reputation: 179
Default Re: Re : Dúvidas Curtas

Quote:
Originally Posted by BlueX View Post


Bruno as vezes o strcat não é muito satisfatorio, na minha opinião, pois ele chega a bugar a sua string e fazendo com que os valores dela não sejam nulos, um exemplo é tipo, eu quando dava strcat no meu query tinha que toda hora dar um EOS na string, depois o ricop ensinou-me sobre o format e tornou-se mais facil, eu lembro que quando não dava EOS no query ele ficava tipo assim

Code:
OSELECT * FROM ...
Ou seja, ele tinha sempre um valor atrás, mas enfim, eu realizei um teste de velocidade e o strcat é mais rápido mas buga.

Benchmark
Code:
[15:41:32] BENCHMARKING...
[15:41:32] [strcat] Result: Hello WorldHello WorldHello WorldHello WorldHello WorldHello Wo - Functions: 100000 - Temp: 45
[15:41:32] [format] Result: Hello World - Functions: 100000 - Temp: 97
Código - http://pastebin.com/raw.php?i=HgSzGwiP

Estes resultados são variáveis, eu fiz uma media, ou seja, 3 resultados, mas como podem verificar o strcat buga completamente.

Por isso eu acho que é melhor usar format, ex da benchmark

pawn Code:
format(stringformat,sizeof(stringformat),"Hello");
format(stringformat,sizeof(stringformat),"%s World",stringformat);
O mais eficiente seria assim: http://pastebin.com/d5cNhMTV

pawn Code:
[13:20:27]  Bench for stringformat: executes, by average, 1894.07 times/ms.
[13:20:29]  Bench for stringstrcat: executes, by average, 2964.69 times/ms.
__________________
c++
leonardo1434 is offline   Reply With Quote
Old 15/07/2012, 04:16 PM   #3683
.FuneraL.
High-roller
 
.FuneraL.'s Avatar
 
Join Date: Feb 2012
Location: Notepad++
Posts: 2,072
Reputation: 146
Default Re: Dúvidas Curtas

Quote:
Originally Posted by sanalex View Post
Creio que funcionaria, mas a questão é como eu faria pra ele reconhecer um 2,3,4 if.

Exemplo:

pawn Code:
GetFunc(playerid)
{
     if(Variavel[playerid][Dinheiro] == true) // modo de uso >> Variavel[playerid][Dinheiro] = true; // Daria dinheiro
     {
           GivePlayerMoney(playerid, 1000);
     }
     else if(Variavel[playerid][Arma] == true) // modo de uso Variavel[playerid][Arma] = true; // Daria arma
     {
           GivePlayerWeapon(playerid, 26);
     }
     return 1;
}

Como estou fazendo mas não funciona...

Creio que seja por meio de elseif sim, pois quando você colocar GetFunc(playerid); em algum comando ou public, ele verificará tudo dentro da mesma e assim setará. Basta você testar
.FuneraL. is offline   Reply With Quote
Old 15/07/2012, 04:18 PM   #3684
sanalex
Gangsta
 
Join Date: Feb 2012
Posts: 799
Reputation: 40
Default Re: Dúvidas Curtas

Exatamente, mas não sei porque não funciona, já testei.
sanalex is offline   Reply With Quote
Old 15/07/2012, 04:23 PM   #3685
ViniBorn
Godfather
 
ViniBorn's Avatar
 
Join Date: Aug 2010
Location: Brasília
Posts: 5,012
Reputation: 635
Default Re: Dúvidas Curtas

Que tal assim ?

pawn Code:
GiveFunc(playerid, ToSet[])
{
    if(!strcmp(ToSet,"arma"))
        GivePlayerWeapon(playerid, 29, 100);
    else if(!strcmp(ToSet,"vida"))
        SetPlayerHealth(playerid, 100);
    else if(!strcmp(ToSet,"colete"))
        SetPlayerArmour(playerid, 100);
}

// No Comando
GiveFunc(playerid, "colete");
__________________
ViniBorn is offline   Reply With Quote
Old 15/07/2012, 04:26 PM   #3686
sanalex
Gangsta
 
Join Date: Feb 2012
Posts: 799
Reputation: 40
Default Re: Dúvidas Curtas

Hum, tinha pensado nisso, mas não sabia como fazer, muito bom, Ah entendir!

Valeu Vini, excelente.
sanalex is offline   Reply With Quote
Old 15/07/2012, 04:29 PM   #3687
leonardo1434
High-roller
 
leonardo1434's Avatar
 
Join Date: Mar 2012
Posts: 1,688
Reputation: 179
Default Re: Dúvidas Curtas

@Viniborn, eu estava escrevendo um exemplo como este Q_Q

sanalex, não. o strcmp está comparando a string, caso seja verdade, ele continua.
__________________
c++
leonardo1434 is offline   Reply With Quote
Old 15/07/2012, 04:57 PM   #3688
Leo_Lost
Huge Clucker
 
Leo_Lost's Avatar
 
Join Date: Jan 2011
Posts: 249
Reputation: 2
Default Re: Dúvidas Curtas

Bom tava vendo um sistema de remover o player do veiculo bem interessante, ele funciona o seguinte quando o player vai para abrir a porta de um carro ele ja e removido para fora do veiculo difente do RemovePlayerFromVehicleEx que ele entra no veiculo para depois ser removido se alguem tiver o sistema ou poder ajudar.
Leo_Lost is offline   Reply With Quote
Old 15/07/2012, 04:59 PM   #3689
ViniBorn
Godfather
 
ViniBorn's Avatar
 
Join Date: Aug 2010
Location: Brasília
Posts: 5,012
Reputation: 635
Default Re: Dúvidas Curtas

Quote:
Originally Posted by Leo_Lost View Post
Bom tava vendo um sistema de remover o player do veiculo bem interessante, ele funciona o seguinte quando o player vai para abrir a porta de um carro ele ja e removido para fora do veiculo difente do RemovePlayerFromVehicleEx que ele entra no veiculo para depois ser removido se alguem tiver o sistema ou poder ajudar.
Basta usar SetPlayerPos em OnPlayerEnterVehicle
__________________
ViniBorn is offline   Reply With Quote
Old 15/07/2012, 05:04 PM   #3690
Leo_Lost
Huge Clucker
 
Leo_Lost's Avatar
 
Join Date: Jan 2011
Posts: 249
Reputation: 2
Default Re: Dúvidas Curtas

Quote:
Originally Posted by Viniborn View Post
Basta usar SetPlayerPos em OnPlayerEnterVehicle

Obrigado mas o OnPlayerEnterVehicle ira remover o player que tiver de passageiro neh? queria que remove-se so o motorista.
Leo_Lost 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] Dúvidas, dúvidas e mais dúvidas. Mito_FmZ Português/Portuguese 6 30/07/2012 04:42 AM
[DUVIDAS] Duvidas sobre GM Waldrey Português/Portuguese 3 01/06/2012 02:56 PM
[Duvidas]Algumas duvidas. Felipe_Wesker Português/Portuguese 11 07/05/2012 08:31 PM
[DUVIDAS] matheuzinho Português/Portuguese 3 29/09/2010 10:07 PM
[DUVIDAS] Como faço isto?? (várias duvidas) andmeida10 Português/Portuguese 3 18/03/2010 09:06 AM


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


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