[Ajuda] Me ajuda no raciocнnio?
#1

E aн pessoal, eu estou com uma dъvida em um cуdigo e meu raciocнnio lуgico nгo estб me ajudando muito, entгo: Como eu poderia fazer isso? eu quero criar um comando de convidar um player para uma aзгo, por exemplo, os 2 terгo que entrar em uma loja e comprar algumas coisas, assim que o primeiro entra, ele nгo pode comeзar a comprar antes do seu parceiro entrar tambйm, "Aguarde seu parceiro entrar"...

Bem, mas a questгo й: Como eu faзo pra definir quem й o parceiro, na variбvel? como?, usando este comando:

Desculpe se expliquei de uma forma ruim, mas й que eu nгo sei como explicar, pois nгo sei como poderia chamar isso.


@Edit:
1sbedx e pWesley, valeu mesmo pela ajuda, tamo junto!
Reply
#2

Vocк pode criar uma variбvel pro convidado para armazenar o seu ID. A partir daн vocк passaria a receber informaзхes se ele aceitou ou nгo.

Exemplo:
PHP код:
/* Variбvel */
Convidei[id] = playerid;

/* Mensagem enviada para vocк, caso ele aceite ou recuse */
SendClientMessage(Convidei[playerid], -1"* Fulano aceitou participar do assalto com vocк.");

/* Condiзгo apуs aceitar o convite (booleano) */
Convidado[playerid] = true
A partir do momento que o cara jб tiver aceitado, vocк trabalha com o booleano para verificar se ele estб ou nгo dentro da loja para fazer as compras. Acho que й mais ou menos isso, faz anos que nгo mexo com programaзгo.
Reply
#3

Quote:
Originally Posted by pWesley
Посмотреть сообщение
Vocк pode criar uma variбvel pro convidado para armazenar o seu ID. A partir daн vocк passaria a receber informaзхes se ele aceitou ou nгo.

Exemplo:
PHP код:
/* Variбvel */
Convidei[id] = playerid;
/* Mensagem enviada para vocк, caso ele aceite ou recuse */
SendClientMessage(Convidei[playerid], -1"* Fulano aceitou participar do assalto com vocк.");
/* Condiзгo apуs aceitar o convite (booleano) */
Convidado[playerid] = true
A partir do momento que o cara jб tiver aceitado, vocк trabalha com o booleano para verificar se ele estб ou nгo dentro da loja para fazer as compras. Acho que й mais ou menos isso, faz anos que nгo mexo com programaзгo.
Obrigado pela explicaзгo, sу que de verdade, fiquei sem entender bem, se nгo for muito importuno da minha parte, poderia me dar um exemplo usando o code que fiz? para que eu possa entender, infelizmente eu realmente nгo tф conseguindo pegar a ideia... :\

@Edit
Se alguйm nгo entendeu o que quero fazer, um exemplo mais objetivo:
comando /convidardupla para formar uma dupla temporбria, atй que a aзгo seja feita ou alguйm desconecte-se do servidor, comando /minhadupla para mostrar o nick de quem й seu atual parceiro.
Reply
#4

Deve haver alguns erros...
Tente seguir a lуgica, boa sorte.

PHP код:
static
    
gPlayerRequest[MAX_PLAYERS] = {INVALID_PLAYER_ID, ...};
CMD:convidarcompras(playeridparams[]) {
    static
        
requestid;
    if (
sscanf(params"u"requestid))
        return;
    if (
gPlayerRequest[playerid] != INVALID_PLAYER_ID || gPlayerRequest[requestid] != INVALID_PLAYER_ID)
        return;
    
gPlayerRequest[requestid] = playerid;
    static
        
str[80];
    
format(strsizeof(str), "%s estб convidando vocк a roubar o banco central com ele."NomeP(playerid));
    
ShowPlayerDialog(requestid3831DIALOG_STYLE_MSGBOX"Convite para assalto"str"Aceitar""Recusar");
    return 
1;
}
hook OnDialogResponse(playeriddialogidresponselistiteminputtext[]){
    if (
dialogid == 3831) {
        static
            
str[46];
        if (
response) {
            
gPlayerRequest[gPlayerRequest[playerid]] = playerid;
            
format(strsizeof(str), "%s aceitou seu convite."NomeP(playerid));
            
SendClientMessage(gPlayerRequest[playerid], -1str);
            return;
        }
        
format(strsizeof(str), "%s recusou seu convite."NomeP(playerid));
        
SendClientMessage(gPlayerRequest[playerid], -1str);
        
gPlayerRequest[playerid] = INVALID_PLAYER_ID;
    }
}
hook OnPlayerDisconnect(playeridreason) {
    if (
gPlayerRequest[playerid] != INVALID_PLAYER_ID) {
        
gPlayerRequest[gPlayerRequest[playerid]] = INVALID_PLAYER_ID;
        static
            
str[54];
        
format(stesizeof(str), "Seu parceiro %s se desconectou."NomeP(playerid));
        
SendClientMessage(gPlayerRequest[playerid], -1str);
        
gPlayerRequest[playerid] = INVALID_PLAYER_ID;
    }

Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)