[Ajuda] Mapa bugo *-*
#1

seguinte, eu tava trabalhando no meu GM, ai eu adicionei as seguintes linhas no OnPlayerDeath:

pawn Code:
public OnPlayerDeath(playerid, killerid, reason)
{
    SendDeathMessage(killerid,playerid,reason);
    SetPlayerScore(killerid,GetPlayerScore(killerid)+10);
    GivePlayerMoney(killerid, 20);
    UserInfo[cKills][killerid]++;
    UserInfo[cDeaths][playerid]++;
    CheckEXP(killerid);
    if(pDM[playerid] == 1)
    {
    new rand = random(sizeof(RSpawn));
    SpawnPlayer(playerid);
    SetPlayerPos(playerid, RSpawn[rand][0],RSpawn[rand][1],RSpawn[rand][2]);
    } else if(pCB[playerid] == 1)
    {
    SpawnPlayer(playerid);
    }else if(pDM2[playerid] == 1)
    {
    SpawnPlayer(playerid);
    if(Policia[playerid] == 1)
    {
    SetPlayerPos(playerid, 2245.8113,48.6440,26.4844);
    }
    if(Terror[playerid] == 1)
    {
    SetPlayerPos(playerid, 1355.2837,229.3216,19.5547);
    }
    }else if(pTDM[playerid] == 1)
    {
    SpawnPlayer(playerid);
    if(Policia[playerid] == 1)
    {
    SetPlayerPos(playerid, 2245.8113,48.6440,26.4844);
    } if(Terror[playerid] == 1)
    {
    SetPlayerPos(playerid, 1355.2837,229.3216,19.5547);
    }
    }
           
    if(pTDM[killerid])
    {
    if(Policia[killerid] == 1)
    {
    PPolicia++;
    } else if(Terror[killerid] == 1)
    {
    PTerror++;
    }
    }
   
    return 1;
}
Ai depois disso, eu entrei pa testar os bagulho, mas o mapa fica todo borrado e o player fica caindo pra baixo da terra(mapa) envйs de ficar parado normalmente no chгo.

qm ajudar +rep
Reply
#2

Primeiro veja se o local nгo fica em um interior/VW diferente do interior/VW do player...

E depois, faзa o seguinte. Cria uma bool..
pawn Code:
new bool:Morreu[MAX_PLAYERS];
O OnPlayerDeath vocк deixa assim:
pawn Code:
public OnPlayerDeath(playerid, killerid, reason)
{
    SendDeathMessage(killerid,playerid,reason);
    SetPlayerScore(killerid,GetPlayerScore(killerid)+10);
    GivePlayerMoney(killerid, 20);
    UserInfo[cKills][killerid]++;
    UserInfo[cDeaths][playerid]++;
    CheckEXP(killerid);
    if(pTDM[killerid])
    {
        if(Policia[killerid] == 1)
        {
            PPolicia++;
        }
        else if(Terror[killerid] == 1)
        {
            PTerror++;
        }
    }
    Morreu[playerid] = true;
    return 1;
}
E na OnPlayerSpawn vocк pхe
pawn Code:
if(Morto[playerid] == true)
{
    Morto[playerid] = false;
    if(pDM[playerid] == 1)
    {
    new rand = random(sizeof(RSpawn));
    SpawnPlayer(playerid);
    SetPlayerPos(playerid, RSpawn[rand][0],RSpawn[rand][1],RSpawn[rand][2]);
    } else if(pCB[playerid] == 1)
    {
    SpawnPlayer(playerid);
    }else if(pDM2[playerid] == 1)
    {
    SpawnPlayer(playerid);
    if(Policia[playerid] == 1)
    {
    SetPlayerPos(playerid, 2245.8113,48.6440,26.4844);
    }
    if(Terror[playerid] == 1)
    {
    SetPlayerPos(playerid, 1355.2837,229.3216,19.5547);
    }
    }else if(pTDM[playerid] == 1)
    {
    SpawnPlayer(playerid);
    if(Policia[playerid] == 1)
    {
    SetPlayerPos(playerid, 2245.8113,48.6440,26.4844);
    } if(Terror[playerid] == 1)
    {
    SetPlayerPos(playerid, 1355.2837,229.3216,19.5547);
    }
    }
}

Precisa arrumar a indentaзгo :P


#Edit
Cуdigo pra por na OnPlayerSpawn indentado:
pawn Code:
if(Morto[playerid] == true)
{
    Morto[playerid] = false;
    if(pDM[playerid] == 1)
    {
        new rand = random(sizeof(RSpawn));
        SpawnPlayer(playerid);
        SetPlayerPos(playerid, RSpawn[rand][0],RSpawn[rand][1],RSpawn[rand][2]);
    }
    else if(pCB[playerid] == 1)
    {
        SpawnPlayer(playerid);
    }
    else if(pDM2[playerid] == 1)
    {
        SpawnPlayer(playerid);
        if(Policia[playerid] == 1)
        {
            SetPlayerPos(playerid, 2245.8113,48.6440,26.4844);
        }
        if(Terror[playerid] == 1)
        {
            SetPlayerPos(playerid, 1355.2837,229.3216,19.5547);
        }
    }
    else if(pTDM[playerid] == 1)
    {
        SpawnPlayer(playerid);
        if(Policia[playerid] == 1)
        {
            SetPlayerPos(playerid, 2245.8113,48.6440,26.4844);
        }
        if(Terror[playerid] == 1)
        {
            SetPlayerPos(playerid, 1355.2837,229.3216,19.5547);
        }
    }
}
Reply
#3

Quote:
Originally Posted by humildadeforever
View Post
Primeiro veja se o local nгo fica em um interior/VW diferente do interior/VW do player...

E depois, faзa o seguinte. Cria uma bool..
pawn Code:
new bool:Morreu[MAX_PLAYERS];
O OnPlayerDeath vocк deixa assim:
pawn Code:
public OnPlayerDeath(playerid, killerid, reason)
{
    SendDeathMessage(killerid,playerid,reason);
    SetPlayerScore(killerid,GetPlayerScore(killerid)+10);
    GivePlayerMoney(killerid, 20);
    UserInfo[cKills][killerid]++;
    UserInfo[cDeaths][playerid]++;
    CheckEXP(killerid);
    if(pTDM[killerid])
    {
        if(Policia[killerid] == 1)
        {
            PPolicia++;
        }
        else if(Terror[killerid] == 1)
        {
            PTerror++;
        }
    }
    Morreu[playerid] = true;
    return 1;
}
E na OnPlayerSpawn vocк pхe
pawn Code:
if(Morto[playerid] == true)
{
    Morto[playerid] = false;
    if(pDM[playerid] == 1)
    {
    new rand = random(sizeof(RSpawn));
    SpawnPlayer(playerid);
    SetPlayerPos(playerid, RSpawn[rand][0],RSpawn[rand][1],RSpawn[rand][2]);
    } else if(pCB[playerid] == 1)
    {
    SpawnPlayer(playerid);
    }else if(pDM2[playerid] == 1)
    {
    SpawnPlayer(playerid);
    if(Policia[playerid] == 1)
    {
    SetPlayerPos(playerid, 2245.8113,48.6440,26.4844);
    }
    if(Terror[playerid] == 1)
    {
    SetPlayerPos(playerid, 1355.2837,229.3216,19.5547);
    }
    }else if(pTDM[playerid] == 1)
    {
    SpawnPlayer(playerid);
    if(Policia[playerid] == 1)
    {
    SetPlayerPos(playerid, 2245.8113,48.6440,26.4844);
    } if(Terror[playerid] == 1)
    {
    SetPlayerPos(playerid, 1355.2837,229.3216,19.5547);
    }
    }
}

Precisa arrumar a indentaзгo :P


#Edit
Cуdigo pra por na OnPlayerSpawn indentado:
pawn Code:
if(Morto[playerid] == true)
{
    Morto[playerid] = false;
    if(pDM[playerid] == 1)
    {
        new rand = random(sizeof(RSpawn));
        SpawnPlayer(playerid);
        SetPlayerPos(playerid, RSpawn[rand][0],RSpawn[rand][1],RSpawn[rand][2]);
    }
    else if(pCB[playerid] == 1)
    {
        SpawnPlayer(playerid);
    }
    else if(pDM2[playerid] == 1)
    {
        SpawnPlayer(playerid);
        if(Policia[playerid] == 1)
        {
            SetPlayerPos(playerid, 2245.8113,48.6440,26.4844);
        }
        if(Terror[playerid] == 1)
        {
            SetPlayerPos(playerid, 1355.2837,229.3216,19.5547);
        }
    }
    else if(pTDM[playerid] == 1)
    {
        SpawnPlayer(playerid);
        if(Policia[playerid] == 1)
        {
            SetPlayerPos(playerid, 2245.8113,48.6440,26.4844);
        }
        if(Terror[playerid] == 1)
        {
            SetPlayerPos(playerid, 1355.2837,229.3216,19.5547);
        }
    }
}
vlw se funcionar +rep vo testar pera aew
Reply
#4

nossaaa, vlw mesmo funciono, po vlw, ajudo muito se desse eu botava auto click em +rep, vlw mesmo achei q ia ter q comeзar o gm todo denovo, pow vlw.

@edit

aff cara, o forum nгo ta dexando da +rep, mas eu juro por Deus q eu vo entrar amanhг sу pra dar o +rep.
Reply
#5

Quote:
Originally Posted by Mandrack_FreeZe
View Post
nossaaa, vlw mesmo funciono, po vlw, ajudo muito se desse eu botava auto click em +rep, vlw mesmo achei q ia ter q comeзar o gm todo denovo, pow vlw.

@edit

aff cara, o forum nгo ta dexando da +rep, mas eu juro por Deus q eu vo entrar amanhг sу pra dar o +rep.
heuheue, tem nada nгo. O importante й aprender que nгo pode setar a posiзгo do jogador na OnPlayerDeath, entгo tem que ser setada na OnPlayerSpawn que й chamada depois do player morrer :P
Reply
#6

aa, vlw
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)