[Ajuda] Erro sistema de duelo.
#1

to criando um sistema de duelo com base no /lutar que й sу para os Boxeadores...

eu criei acho que tudo certo mas trava o pawn olha sу...


Vou postar todo codigo aq...
PHP код:
            if(DuelWaitTime[i] > 0)
            {
                if(
DuelWaitTime[i] >= DuelDelay)
                {
                    
DuelDelay 0;
                    
DuelWaitTime[i] = 0;
                    
PlayerPlaySound(i10570.00.00.0);
                    
GameTextForPlayer(i"~g~A Luta Comeзou"50001);
                    
TogglePlayerControllable(i1);
                    
SetPlayerArmour(i100.0);
                    
DuelStarted 1;
                }
                else
                {
                    
format(gstringsizeof(gstring), "%d"DuelDelay DuelWaitTime[i]);
                    
GameTextForPlayer(igstring15006);
                    
DuelWaitTime[i] += 1;
                }
            }
            if(
DuelStarted 0// Fim duel started// Fim duel started// Fim duel started// Fim duel started// Fim duel started// Fim duel started
            
{
                    new 
trigger 0;
                    new 
Lost 0;
                    new 
Float:angle;
                    new 
Float:health;
                    
GetPlayerHealth(ihealth);
                    if(
health 12)
                    {
                        if(
== pduel1) { Lost 1trigger 1; }
                        else if(
== pduel2) { Lost 2trigger 1; }
                    }
                    if(
health 28) { GetPlayerFacingAngle(iangle); SetPlayerFacingAngle(iangle 85); }
                    if(
trigger)
                    {
                        new 
winner[MAX_PLAYER_NAME];
                        new 
loser[MAX_PLAYER_NAME];
                        new 
titel[MAX_PLAYER_NAME];
                        if(
Lost == 1)
                        {
                            if(
IsPlayerConnected(pduel1) && IsPlayerConnected(pduel2))
                            {
                                
SetPlayerPos(pduel1298.3701,-142.0678,1004.0625); SetPlayerPos(pduel2298.3701,-142.0678,1004.0625);
                                
SetPlayerInterior(Boxer15); SetPlayerInterior(pduel25);
                                
GetPlayerName(pduel1losersizeof(loser));
                                
GetPlayerName(pduel2winnersizeof(winner));
                                if(
TDuel 255)
                                {
                                    if(
IsPlayerConnected(TBoxer))
                                    {
                                        if(
TDuel != pduel2)
                                        {
                                                
TDuel pduel2;
                                                
GetPlayerName(TBoxertitelsizeof(titel));
                                                new 
nstring[MAX_PLAYER_NAME];
                                                
format(nstringsizeof(nstring), "%s"titel);
                                                
strmid(Titel[TitelName], nstring0strlen(nstring), 255);
                                                
Titel[TitelWins] = PlayerInfo[TDuel][pWins];
                                                
Titel[TitelLoses] = PlayerInfo[TDuel][pLoses];
                                                
format(gstringsizeof(gstring), "Noticias Duelo x1: %s venceu um x1 contra %s.",  titelloser);
                                                
OOCNews(COLOR_WHITE,gstring);
                                        }
                                        else
                                        {
                                            
GetPlayerName(TBoxertitelsizeof(titel));
                                            
format(gstringsizeof(gstring), "Noticias: %s venceu um duelo contra %s.",  titelloser);
                                            
OOCNews(COLOR_WHITE,gstring);
                                            
Titel[TitelWins] = PlayerInfo[pduel1][pWins];
                                            
Titel[TitelLoses] = PlayerInfo[pduel2][pLoses];
                                            
SaveBoxer();
                                        }
                                    }
                                }
//TBoxer
                                
format(gstringsizeof(gstring), " Vocк perdeu o duelo contra %s."winner);
                                
SendClientMessage(pduel1COLOR_LIGHTBLUEgstring);
                                
GameTextForPlayer(pduel1"~r~Voce Perdeu"35001);
                                
format(gstringsizeof(gstring), " Vocк ganhou o duelo contra %s."loser);
                                
SendClientMessage(pduel2COLOR_LIGHTBLUEgstring);
                                
GameTextForPlayer(pduel2"~r~Voce Venceu"35001);
                                if(
GetPlayerHealth(pduel1health) < 20)
                                {
                                    
SendClientMessage(pduel1COLOR_LIGHTBLUE" Vocк Quase perdeu esse duelo");
                                    
SetPlayerHealth(pduel1100);
                                }
                          else
                                {
                                    
SendClientMessage(pduel1COLOR_LIGHTBLUE" Vocк continua em bom estado apуs a luta.");
                                    
SetPlayerHealth(pduel1100);
                                }
                                if(
GetPlayerHealth(pduel2health) < 20)
                                {
                                    
SendClientMessage(pduel2COLOR_LIGHTBLUE" Vocк Quase perdeu esse duelo");
                                    
SetPlayerHealth(pduel2100);
                                }
                                else
                                {
                                    
SendClientMessage(pduel2COLOR_LIGHTBLUE" Vocк continua em bom estado apуs a luta.");
                                    
SetPlayerHealth(pduel2100);
                                }
                                
GameTextForPlayer(pduel1"~g~Fim da Luta"50001); GameTextForPlayer(pduel2"~g~Fim da Luta"50001);
                                
PlayerBoxing[pduel1] = 0;
                                
PlayerBoxing[pduel2] = 0;
                            }
                        }
                        else if(
Lost == 2)
                        {
                            if(
IsPlayerConnected(Boxer1) && IsPlayerConnected(Boxer2))
                            {
                                
SetPlayerPos(pduel1298.3701,-142.0678,1004.0625); SetPlayerPos(pduel2298.3701,-142.0678,1004.0625);
                                
SetPlayerInterior(pduel15); SetPlayerInterior(pduel25);
                                
GetPlayerName(pduel1winnersizeof(winner));
                                
GetPlayerName(pduel2losersizeof(loser));
                                if(
TDuel 255)
                                {
                                    if(
IsPlayerConnected(TDuel))
                                    {
                                        if(
TDuel != pduel1)
                                        {
                                                
TDuel pduel1;
                                                
GetPlayerName(TDueltitelsizeof(titel));
                                                new 
nstring[MAX_PLAYER_NAME];
                                                
format(nstringsizeof(nstring), "%s"titel);
                                                
strmid(Titel[TitelName], nstring0strlen(nstring), 255);
                                                
Titel[TitelWins] = PlayerInfo[TDuel][pWins];
                                                
Titel[TitelLoses] = PlayerInfo[TDuel][pLoses];
                                                
format(gstringsizeof(gstring), "Noticias do Boxe: %s venceu a luta contra %s e agora й o campeгo.",  titelloser);
                                                
OOCNews(COLOR_WHITE,gstring);
                                            }
                                            else
                                            {
                                                
SendClientMessage(Boxer1COLOR_GREY" Vocк precisa ser um lutador de boxe para ganhar uma luta!");
                                            }
                                        }
                                        else
                                        {
                                            
GetPlayerName(TDueltitelsizeof(titel));
                                            
format(gstringsizeof(gstring), "Noticias do Boxe: %s venceu a luta contra %s.",  titelloser);
                                            
OOCNews(COLOR_WHITE,gstring);
                                            
Titel[TitelWins] = PlayerInfo[TBoxer][pWins];
                                            
Titel[TitelLoses] = PlayerInfo[Boxer1][pLoses];
                                        }
                                    }
                                }
//TBoxer
                                
format(gstringsizeof(gstring), " Vocк perdeu a luta contra %s."winner);
                                
SendClientMessage(pduel2COLOR_LIGHTBLUEgstring);
                                
GameTextForPlayer(pduel2"~r~Voce Perdeu"35001);
                                
format(gstringsizeof(gstring), " Vocк ganhou a luta contra %s."loser);
                                
SendClientMessage(pduel1COLOR_LIGHTBLUEgstring);
                                
GameTextForPlayer(pduel1"~g~Voce Venceu"35001);
                                if(
GetPlayerHealth(pduel1health) < 20)
                                {
                                    
SendClientMessage(pduel1COLOR_LIGHTBLUE" Vocк estб exausto da luta, vб se recuperar.");
                                    
SetPlayerHealth(pduel1100);
                                }
                                else
                                {
                                    
SendClientMessage(pduel1COLOR_LIGHTBLUE" Vocк continua em bom estado apуs a luta.");
                                    
SetPlayerHealth(pduel1100);
                                }
                                if(
GetPlayerHealth(pduel2health) < 20)
                                {
                                    
SendClientMessage(pduel2COLOR_LIGHTBLUE" Vocк estб exausto da luta, vб se recuperar.");
                                    
SetPlayerHealth(pduel2100);
                                }
                                else
                                {
                                    
SendClientMessage(pduel2COLOR_LIGHTBLUE" Vocк continua em bom estado apуs a luta.");
                                    
SetPlayerHealth(pduel2100);
                                }
                                
GameTextForPlayer(pduel1"~g~Fim da luta"50001); GameTextForPlayer(pduel2"~g~Fim da luta"50001);
                                
PlayerDuelando[pduel1] = 0;
                                
PlayerDuelando[pduel2] = 0;
                            }
                        }
                        
InPartida 0;
                        
DuelStarted 0;
                        
pduel1 255;
                        
pduel2 255;
                        
TDuel 255;
                        
trigger 0;
                    }
                }
            }
// Fim duel started // Fim duel started // Fim duel started// Fim duel started// Fim duel started// Fim duel started// Fim duel started 
PHP код:
        if(strcmp(cmd"/duelar"true) == 0)
    {
        if(
IsPlayerConnected(playerid))
        {
            if(
InPartida 0//ja tem x1
            
{
                
SendClientMessage(playeridCOLOR_GREY"   Jб estб tendo uma luta, espere ela terminar !");
                return 
1;
            }
            if(
PlayerDuelando[playerid] > 0// vocк ja esta duelando
            
{
                
SendClientMessage(playeridCOLOR_GREY"   vocк jб esta duelando !");
                return 
1;
            }
            if(!
PlayerToPoint(20.0,playerid,306.6657,-141.7108,1004.0625))
            {
                
SendClientMessage(playeridCOLOR_GREY"  Vocк nгo estб na area de duelo!");
                return 
1;
            }
            
tmp strtok(cmdtextidx);
            if(!
strlen(tmp)) {
                
SendClientMessage(playeridCOLOR_WHITE"USE: /duelar [id]");
                return 
1;
            }
            
giveplayerid ReturnUser(tmp);
            if(
IsPlayerConnected(giveplayerid))
            {
                if(
giveplayerid != INVALID_PLAYER_ID)
                {
                    if (
ProxDetectorS(8.0playeridgiveplayerid))
                    {
                        if(
giveplayerid == playerid) { SendClientMessage(playeridCOLOR_GREY"Vocк nгo pode lutar contra si mesmo!"); return 1; }
                        
GetPlayerName(giveplayeridgiveplayersizeof(giveplayer));
                        
GetPlayerName(playeridsendernamesizeof(sendername));
                        
format(stringsizeof(string), "* Vocк intimou %s para um duelo de boxe."giveplayer);
                        
SendClientMessage(playeridCOLOR_LIGHTBLUEstring);
                        
format(stringsizeof(string), "* Jogador %s te intimou para uma luta (USE: /aceitar duelo) para aceitar."sendername);
                        
SendClientMessage(giveplayeridCOLOR_LIGHTBLUEstring);
                        
DuelOffer[giveplayerid] = playerid;
                    }
                    else
                    {
                        
SendClientMessage(playeridCOLOR_GREY"   O Jogador estб longe de Vocк, chame ele para perto.!");
                        return 
1;
                    }
                }
            }
            else
            {
                
SendClientMessage(playeridCOLOR_GREY"   O Jogador Estб Offline !");
                return 
1;
            }
        }
        return 
1;
    } 
no /aceitar

PHP код:
                        else if(strcmp(x_Emprego,"Duelo",true) == 0)
            {
                if(
DuelOffer[playerid] < 999)
                {
                    if(
IsPlayerConnected(DuelOffer[playerid]))
                    {
                        
format(stringsizeof(string), "* Vocк aceitou a luta de boxe de %s, e irб lutar com %d de saъde.",giveplayer);
                        
SendClientMessage(playeridCOLOR_LIGHTBLUEstring);
                        
format(stringsizeof(string), "* %s aceitou seu pedido para a luta de boxe, vocк irб lutar com %d de saъde.",sendername);
                        
SendClientMessage(BoxOffer[playerid], COLOR_LIGHTBLUEstring);
                        
//colete
                        
SetPlayerArmour(playerid100);
                        
SetPlayerArmour(DuelOffer[playerid], 100);
                        
// Vida
                        
SetPlayerHealth(playerid100);
                        
SetPlayerHealth(DuelOffer[playerid], 100);
                        
SetPlayerInterior(playerid5); SetPlayerInterior(DuelOffer[playerid], 5);
                        
SetPlayerPos(playerid294.3664,-134.6830,1004.0625); SetPlayerFacingAngle(playerid1004.0625);
                        
SetPlayerPos(DuelOffer[playerid], 274.2308,-134.2176,1004.0625); SetPlayerFacingAngle(DuelOffer[playerid], 1004.0625);
                        
TogglePlayerControllable(playerid0); TogglePlayerControllable(DuelOffer[playerid], 0);
                        
GameTextForPlayer(playerid"~r~Esperando"30001); GameTextForPlayer(DuelOffer[playerid], "~r~Esperando"30001);
                        }
                        
DuelWaitTime[playerid] = 1DuelWaitTime[DuelOffer[playerid]] = 1;
                        if(
BoxDelay 1) { BoxDelay 20; }
                        
InPartida 1;
                        
pduel1 DuelOffer[playerid];
                        
pduel2 playerid;
                        
PlayerBoxing[playerid] = 1;
                        
PlayerBoxing[BoxOffer[playerid]] = 1;
                        
DuelOffer[playerid] = 999;
                        return 
1;
                    }
                    return 
1;
                }
                else
                {
                    
SendClientMessage(playeridCOLOR_GREY"   Ninguem te convidou para uma luta !");
                    return 
1;
                }
            } 
Reply


Messages In This Thread
Erro sistema de duelo. - by zGuigui2068 - 27.03.2016, 21:56
Re: Erro sistema de duelo. - by zGuigui2068 - 27.03.2016, 22:06
Re: Erro sistema de duelo. - by 1sbedx - 27.03.2016, 22:20
Re: Erro sistema de duelo. - by zGuigui2068 - 27.03.2016, 22:27
Re: Erro sistema de duelo. - by 1sbedx - 27.03.2016, 22:31
Re: Erro sistema de duelo. - by zGuigui2068 - 27.03.2016, 22:53
Re: Erro sistema de duelo. - by 1sbedx - 27.03.2016, 23:06
Re: Erro sistema de duelo. - by zGuigui2068 - 27.03.2016, 23:21
Re: Erro sistema de duelo. - by zGuigui2068 - 27.03.2016, 23:40
Re: Erro sistema de duelo. - by 1sbedx - 27.03.2016, 23:48

Forum Jump:


Users browsing this thread: 2 Guest(s)