[AJUDA] teleporte removendo armas
#1

Ola pessoal, venno aqui pedir uma ajuda...

Fiz uns teleporys e tal, e quando o co,ando e usado o player e enviado certo para o lugar, porem todas suas armas foram resetadas.

Eu apenas utilizei o setplayerposotion e setplayerinterior. Alguma opiniao sobre pq as armas somem? Ou como fazer com que as as armas que estavam com o player sehundos antes do teleporte serwm criadas de volta apos o teleport,
Reply
#2

Seu GM possui esta funзгo?


pawn Код:
AllowInteriorWeapons
Reply
#3

Se tiver em alguma parte do cуdigo: RemovePlayerWeapons, soh apagar e vai funcionar direitinho
Reply
#4

Talvez em seu teleporte tenha a funзгo:
ResetPlayerWeapons(playerid);
Caso tenha, apague-o
Reply
#5

Pessoal, acabei de falar que so usei setplayerinterior e set playerposition, sendo que o interior e setado para 0 caso o player em um interior se teleporte para ficar no interior correto, o 0.

E sim, eu posso usar armas em interior, e de qualquer jeito, o interior telrporyado e o 0 ou seja, o player n esta em interior. Eu to no celular agora, se for o caso, eu posto o code. E se n tiver solucao, sera que teria uma forma de pegR as armas do jogador getplayerweapons, e devolve-las, logo apos o teleporte, giveplayerweapon? Tipo, teria de manter o mesmo numero de balas...
Reply
#6

Posta o comando...
Tem sim como fazer isso, de pegar e devolver as armas.
Reply
#7

nгo entendi nd que vc quis dizer o.o
Reply
#8

O que eu quis dizer й que eu nao pus nada que resetasse as armas dos players apуs a utilizaзгo do comando e tipo, o player pode sim usar armas em interior sу que 0 (zero) nao й um um interior, eu sу uso setplayerinterior(playerid, 0) para que ele se estivesse em interior e utilizase o comando ele ir para o interior certo, o 0 (zero) ja que todos os player se encontram no 0 (zero).

Bom a baixo eu postarei o cуdigo, e como que й feita isso de pegar as armas que o player estб e devolvelas logo apуs o teleporte dele?

pawn Код:
public OnPlayerCommandText(playerid, cmdtext[])
{

if (strcmp("/teleportes", cmdtext, true, 10) == 0)
        {
            if (pDataGM[playerid][pDin] < 500) return SendClientMessage(playerid, COR_VERMELHA, "| Vocк nгo possui o dinheiro necessбrio para se teleportar. [preзo: $500]");
            if(GetTickCount() - UsarComando[playerid] > 30000)
        {
            ShowPlayerDialog(playerid, DIALOGID, DIALOG_STYLE_LIST, "Teleporte Categorias", "Los Santos\nSan Fierro\nLas Venturas\nEspeciais", "Selecionar", "Cancelar")
            UsarComando[playerid] = GetTickCount();

   }
             else {
           SendClientMessage(playerid, 0xFFFFFFFF, "Espere 30 segundos para reutilizar o comando!");
    }
            return 1;
}
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    if(dialogid == DIALOGID) // Teleport Dialog
    {
        if(response)
        {
            if(listitem == 0) // Los Santos
            {
                ShowPlayerDialog(playerid, DIALOGID+1, DIALOG_STYLE_LIST, "Los Santos", "Aeroporto Los Santos [Score mнnimo: 1] \nPershing Square [Score mнnimo: 4] \nVinewood [Score mнnimo: 7] \nGrove Street [Score mнnimo: 11] \nRichman [Score mнnimo: 14] \nSanta Maria Beach [Score mнnimo: 17] \nOcean Docks [Score mнnimo: 21] \nDillimore [Score mнnimo: 24] \nPalomino Creek [Score mнnimo: 27] \nBlueBerry [Score mнnimo: 31] \nMontGomery [Score mнnimo: 34] \nVoltar", "Selecionar", "Cancelar");
            }
            if(listitem == 1) // San Fierro
            {
                ShowPlayerDialog(playerid, DIALOGID+2, DIALOG_STYLE_LIST, "San Fierro", "Aeroporto San Fierro [Score mнnimo: 2] \nGolden Gate Bridge [Score mнnimo: 5] \nMt. Chilliad [Score mнnimo: 8] \nCJ's garage [Score mнnimo: 11] \nSan Fierro Stadium [Score mнnimo: 14] \nOcean Flats [Score mнnimo: 17] \nMissionary Hill [Score mнnimo: 21  \nVoltar", "Selecionar", "Cancelar");
            }
            if(listitem == 2) // Las Venturas
            {
                ShowPlayerDialog(playerid, DIALOGID+3, DIALOG_STYLE_LIST, "Las Venturas", "X1 \nAeroporto Las Venturas [Score mнnimo: 3] \nFour Dragons Casino [Score mнnimo: 6] \nLas Venturas Police Department [Score mнnimo: 9] \nBayside [Score mнnimo: 12] \nBig Jump [Score mнnimo: 15] \nLas Barrancas [Score mнnimo: 18] \nFort Carson [Score mнnimo: 21] \nLas Venturas Stadium [Score mнnimo: 24] \nNorthern Las Venturas [Score mнnimo: 27] \nStarfish Casino [Score mнnimo: 30] \nVoltar", "Selecionar", "Cancelar");
            }
            if(listitem == 3) // Especiais
            {
                new sendername[MAX_PLAYER_NAME];
                GetPlayerName(playerid,sendername,sizeof(sendername));
                if((!strfind(sendername, "[FAB]")) || (!strfind(sendername, "(PE)")) || (!strfind(sendername, "[EB]")) || (!strfind(sendername, "[MB]")) || (!strfind(sendername, "(EDA)"))){

                ShowPlayerDialog(playerid, DIALOGID+4, DIALOG_STYLE_LIST, "Especiais", "Aeroporto FAB \nBase EB \nBase MB \nVoltar", "Selecionar", "Cancelar");
                }    else    {
                SendClientMessage(playerid, 0xFFFFFFAA, "Vocк nao tem acesso aos teleportes especiais.");
                             }
                return 1;
            }
        }
        return 1;
    }

    if(dialogid == DIALOGID+1) // Los Santos
    {
        if(response)
        {
            if(listitem == 0) // Aeroporto
            {
                if(GetPlayerScore(playerid) < 1) return SendClientMessage(playerid, COR_VERMELHA, "Vocк nгo tem score suficiente para se teleportar. [Mнnimo: 1]");
                SetPlayerInterior(playerid, 0);
                SetPlayerPos(playerid, 1642.3022,-2333.6287,13.5469);
                MovimentoBancario(playerid, (0-500)); // MoneyHack
            }
            if(listitem == 1) //Pershing Square
            {
                if(GetPlayerScore(playerid) < 4) return SendClientMessage(playerid, COR_VERMELHA, "Vocк nгo tem score suficiente para se teleportar. [Mнnimo: 4]");
                SetPlayerInterior(playerid, 0);
                SetPlayerPos(playerid, 1511.8770,-1661.2853,13.5469);
                MovimentoBancario(playerid, (0-500)); // MoneyHack
            }
            if(listitem == 2) // Vinewood
            {
                if(GetPlayerScore(playerid) < 7) return SendClientMessage(playerid, COR_VERMELHA, "Vocк nгo tem score suficiente para se teleportar. [Mнnimo: 7]");
                SetPlayerInterior(playerid, 0);
                SetPlayerPos(playerid, 1382.6194,-888.5532,38.0863);
                MovimentoBancario(playerid, (0-500)); // MoneyHack
            }
            if(listitem == 3) // Grove Street
            {
                if(GetPlayerScore(playerid) < 11) return SendClientMessage(playerid, COR_VERMELHA, "Vocк nгo tem score suficiente para se teleportar. [Mнnimo: 11]");
                SetPlayerInterior(playerid, 0);
                SetPlayerPos(playerid, 2485.2546,-1684.7223,13.5096);
                MovimentoBancario(playerid, (0-500)); // MoneyHack
            }
            if(listitem == 4) // Richman
            {
                if(GetPlayerScore(playerid) < 14) return SendClientMessage(playerid, COR_VERMELHA, "Vocк nгo tem score suficiente para se teleportar. [Mнnimo: 14]");
                SetPlayerInterior(playerid, 0);
                SetPlayerPos(playerid, 597.6629,-1241.3900,18.1275);
                MovimentoBancario(playerid, (0-500)); // MoneyHack
            }
            if(listitem == 5) // Maria Beach
            {
                if(GetPlayerScore(playerid) < 17) return SendClientMessage(playerid, COR_VERMELHA, "Vocк nгo tem score suficiente para se teleportar. [Mнnimo: 17]");
                SetPlayerInterior(playerid, 0);
                SetPlayerPos(playerid, 491.7868,-1823.2258,5.5028);
                MovimentoBancario(playerid, (0-500)); // MoneyHack
            }
            if(listitem == 6) // Ocean Docks
            {
                if(GetPlayerScore(playerid) < 21) return SendClientMessage(playerid, COR_VERMELHA, "Vocк nгo tem score suficiente para se teleportar. [Mнnimo: 21]");
                SetPlayerInterior(playerid, 0);
                SetPlayerPos(playerid, 2771.1060,-2417.5828,13.6405);
                MovimentoBancario(playerid, (0-500)); // MoneyHack
            }
            if(listitem == 7) // Dillimore
            {
                if(GetPlayerScore(playerid) < 24) return SendClientMessage(playerid, COR_VERMELHA, "Vocк nгo tem score suficiente para se teleportar. [Mнnimo: 24]");
                SetPlayerInterior(playerid, 0);
                SetPlayerPos(playerid, 661.0361,-573.5891,16.3359);
                MovimentoBancario(playerid, (0-500)); // MoneyHack
            }
            if(listitem == 8) // Palomino Creek
            {
                if(GetPlayerScore(playerid) < 27) return SendClientMessage(playerid, COR_VERMELHA, "Vocк nгo tem score suficiente para se teleportar. [Mнnimo: 27]");
                SetPlayerInterior(playerid, 0);
                SetPlayerPos(playerid, 2269.6877,-75.0973,26.7724);
                MovimentoBancario(playerid, (0-500)); // MoneyHack
            }
            if(listitem == 9) // Blueberry
            {
                if(GetPlayerScore(playerid) < 31) return SendClientMessage(playerid, COR_VERMELHA, "Vocк nгo tem score suficiente para se teleportar. [Mнnimo: 31]");
                SetPlayerInterior(playerid, 0);
                SetPlayerPos(playerid, 198.4328,-252.1696,1.5781);
                MovimentoBancario(playerid, (0-500)); // MoneyHack
            }
            if(listitem == 10) // MontGomery
            {
                if(GetPlayerScore(playerid) < 34) return SendClientMessage(playerid, COR_VERMELHA, "Vocк nгo tem score suficiente para se teleportar. [Mнnimo: 34]");
                SetPlayerInterior(playerid, 0);
                SetPlayerPos(playerid, 1242.2875,328.5506,19.7555);
                MovimentoBancario(playerid, (0-500)); // MoneyHack
            }
            if(listitem == 11) // Voltar
            {
            ShowPlayerDialog(playerid, DIALOGID, DIALOG_STYLE_LIST, "Teleporte Categorias", "Los Santos\nSan Fierro\nLas Venturas\nEspeciais", "Selecionar", "Cancelar")

            }
        }
        return 1;
    }

    if(dialogid == DIALOGID+2) // San Fierro
    {
        if(response)
        {
            if(listitem == 0) // Aeroporto
            {
                if(GetPlayerScore(playerid) < 2) return SendClientMessage(playerid, COR_VERMELHA, "Vocк nгo tem score suficiente para se teleportar. [Mнnimo: 2]");
                SetPlayerInterior(playerid, 0);
                SetPlayerPos(playerid, -1422.8820,-287.4992,14.1484);
                MovimentoBancario(playerid, (0-500)); // MoneyHack
            }
            if(listitem == 1) // Golden Gate Bridge
            {
                if(GetPlayerScore(playerid) < 5) return SendClientMessage(playerid, COR_VERMELHA, "Vocк nгo tem score suficiente para se teleportar. [Mнnimo: 5]");
                SetPlayerInterior(playerid, 0);
                SetPlayerPos(playerid, -2672.6116,1268.4943,55.9456);
                MovimentoBancario(playerid, (0-500)); // MoneyHack
            }
            if(listitem == 2) // Chilliad
            {
                if(GetPlayerScore(playerid) < 8) return SendClientMessage(playerid, COR_VERMELHA, "Vocк nгo tem score suficiente para se teleportar. [Mнnimo: 8]");
                SetPlayerInterior(playerid, 0);
                SetPlayerPos(playerid, -2305.6143,-1626.0594,483.7662);
                MovimentoBancario(playerid, (0-500)); // MoneyHack
            }
            if(listitem == 3) // CJ's Garage
            {
                if(GetPlayerScore(playerid) < 11) return SendClientMessage(playerid, COR_VERMELHA, "Vocк nгo tem score suficiente para se teleportar. [Mнnimo: 11]");
                SetPlayerInterior(playerid, 0);
                SetPlayerPos(playerid, -2026.2843,156.4974,29.0391);
                MovimentoBancario(playerid, (0-500)); // MoneyHack
            }
            if(listitem == 4) // SF Stadium
            {
                if(GetPlayerScore(playerid) < 14) return SendClientMessage(playerid, COR_VERMELHA, "Vocк nгo tem score suficiente para se teleportar. [Mнnimo: 14]");
                SetPlayerInterior(playerid, 0);
                SetPlayerPos(playerid, -2159.3616,-407.8362,35.3359);
                MovimentoBancario(playerid, (0-500)); // MoneyHack
            }
            if(listitem == 5) // Ocean Flats
            {
                if(GetPlayerScore(playerid) < 17) return SendClientMessage(playerid, COR_VERMELHA, "Vocк nгo tem score suficiente para se teleportar. [Mнnimo: 17]");
                SetPlayerInterior(playerid, 0);
                SetPlayerPos(playerid, -2648.7498,14.2868,6.1328);
                MovimentoBancario(playerid, (0-500)); // MoneyHack
            }
            if(listitem == 6) // Missionary Hill
            {
                if(GetPlayerScore(playerid) < 21) return SendClientMessage(playerid, COR_VERMELHA, "Vocк nгo tem score suficiente para se teleportar. [Mнnimo: 21]");
                SetPlayerInterior(playerid, 0);
                SetPlayerPos(playerid, -2521.4055,-623.5245,132.7727);
                MovimentoBancario(playerid, (0-500)); // MoneyHack
            }
            if(listitem == 7) // Voltar
            {
            ShowPlayerDialog(playerid, DIALOGID, DIALOG_STYLE_LIST, "Teleporte Categorias", "Los Santos\nSan Fierro\nLas Venturas\nEspeciais", "Selecionar", "Cancelar")
            }
        }
        return 1;
    }

    if(dialogid == DIALOGID+3) // Las Venturas
    {
        if(response)
        {
            if(listitem == 0) // X1
            {
                SetPlayerInterior(playerid, 0);
                SetPlayerPos(playerid, -1482.5283,2638.3782,58.7813);
            }
            if(listitem == 1) // Aeroporto
            {
                if(GetPlayerScore(playerid) < 3) return SendClientMessage(playerid, COR_VERMELHA, "Vocк nгo tem score suficiente para se teleportar. [Mнnimo: 3]");
                SetPlayerInterior(playerid, 0);
                SetPlayerPos(playerid, 1679.3361,1448.6248,10.7744);
                MovimentoBancario(playerid, (0-500)); // MoneyHack
            }
            if(listitem == 2) // Four Dragons Casino
            {
                if(GetPlayerScore(playerid) < 6) return SendClientMessage(playerid, COR_VERMELHA, "Vocк nгo tem score suficiente para se teleportar. [Mнnimo: 6]");
                SetPlayerInterior(playerid, 0);
                SetPlayerPos(playerid, 2027.5721,1008.2877,10.8203);
                MovimentoBancario(playerid, (0-500)); // MoneyHack
            }
            if(listitem == 3) // Police Department
            {
                if(GetPlayerScore(playerid) < 9) return SendClientMessage(playerid, COR_VERMELHA, "Vocк nгo tem score suficiente para se teleportar. [Mнnimo: 9]");
                SetPlayerInterior(playerid, 0);
                SetPlayerPos(playerid, 2287.0313,2431.0276,10.8203);
                MovimentoBancario(playerid, (0-500)); // MoneyHack
            }
            if(listitem == 4) // Bayside
            {
                if(GetPlayerScore(playerid) < 12) return SendClientMessage(playerid, COR_VERMELHA, "Vocк nгo tem score suficiente para se teleportar. [Mнnimo: 12]");
                SetPlayerInterior(playerid, 0);
                SetPlayerPos(playerid, -2241.4238,2327.4290,4.9844);
                MovimentoBancario(playerid, (0-500)); // MoneyHack
            }
            if(listitem == 5) // Big jump
            {
                if(GetPlayerScore(playerid) < 15) return SendClientMessage(playerid, COR_VERMELHA, "Vocк nгo tem score suficiente para se teleportar. [Mнnimo: 15]");
                SetPlayerInterior(playerid, 0);
                SetPlayerPos(playerid, -670.6358,2306.0559,135.2990);
                MovimentoBancario(playerid, (0-500)); // MoneyHack
            }
            if(listitem == 6) // Las Barrancas
            {
                if(GetPlayerScore(playerid) < 18) return SendClientMessage(playerid, COR_VERMELHA, "Vocк nгo tem score suficiente para se teleportar. [Mнnimo: 18]");
                SetPlayerInterior(playerid, 0);
                SetPlayerPos(playerid, -761.5192,1552.1647,26.9609);
                MovimentoBancario(playerid, (0-500)); // MoneyHack
            }
            if(listitem == 7) // Fort Carson
            {
                if(GetPlayerScore(playerid) < 21) return SendClientMessage(playerid, COR_VERMELHA, "Vocк nгo tem score suficiente para se teleportar. [Mнnimo: 21]");
                SetPlayerInterior(playerid, 0);
                SetPlayerPos(playerid, -143.5370,1217.8855,19.7352);
                MovimentoBancario(playerid, (0-500)); // MoneyHack
            }
            if(listitem == 8) // LV Stadium
            {
                if(GetPlayerScore(playerid) < 24) return SendClientMessage(playerid, COR_VERMELHA, "Vocк nгo tem score suficiente para se teleportar. [Mнnimo: 24]");
                SetPlayerInterior(playerid, 0);
                SetPlayerPos(playerid, 1099.1533,1384.3300,10.8203);
                MovimentoBancario(playerid, (0-500)); // MoneyHack
            }
            if(listitem == 9) // Northern LV
            {
                if(GetPlayerScore(playerid) < 27) return SendClientMessage(playerid, COR_VERMELHA, "Vocк nгo tem score suficiente para se teleportar. [Mнnimo: 27]");
                SetPlayerInterior(playerid, 0);
                SetPlayerPos(playerid, 1614.2190,2334.9338,10.8203);
                MovimentoBancario(playerid, (0-500)); // MoneyHack
            }
            if(listitem == 10) // Starfish Casino
            {
                if(GetPlayerScore(playerid) < 30) return SendClientMessage(playerid, COR_VERMELHA, "Vocк nгo tem score suficiente para se teleportar. [Mнnimo: 30]");
                SetPlayerInterior(playerid, 0);
                SetPlayerPos(playerid, 2572.6560,1818.1030,10.8203);
                MovimentoBancario(playerid, (0-500)); // MoneyHack
            }
            if(listitem == 11) // Voltar
            {
            ShowPlayerDialog(playerid, DIALOGID, DIALOG_STYLE_LIST, "Teleporte Categorias", "Los Santos\nSan Fierro\nLas Venturas\nEspeciais", "Selecionar", "Cancelar")
            }
        }
        return 1;
    }

    if(dialogid == DIALOGID+4) // Especiais
    {
        if(response)
        {
            if(listitem == 0) // Aeroporto FAB
            {
                new sendername[MAX_PLAYER_NAME];
                GetPlayerName(playerid,sendername,sizeof(sendername));
                if((!strfind(sendername, "[FAB]")) || (!strfind(sendername, "(EDA)"))){

                SetPlayerInterior(playerid, 0);
                SetPlayerPos(playerid, -3072.1638, 1512.7097, 7.0);
                MovimentoBancario(playerid, (0-500)); // MoneyHack
                }    else    {
                SendClientMessage(playerid, 0xFFFFFFAA, "Vocк nao й um oficial da Aeronautica");
                             }
                return 1;
            }

            if(listitem == 1) // Base EB
            {
                new sendername[MAX_PLAYER_NAME];
                GetPlayerName(playerid,sendername,sizeof(sendername));
                if((!strfind(sendername, "[EB]")) || (!strfind(sendername, "(PE)"))){

                SetPlayerInterior(playerid, 0);
                SetPlayerPos(playerid, 295.6457, 2042.3073, 17.0);
                MovimentoBancario(playerid, (0-500)); // MoneyHack
                }    else    {
                SendClientMessage(playerid, 0xFFFFFFAA, "Vocк nao й um oficial do Exercito");
                             }
                return 1;

            }
            if(listitem == 2) // Base MB
            {
                new sendername[MAX_PLAYER_NAME];
                GetPlayerName(playerid,sendername,sizeof(sendername));
                if((!strfind(sendername, "[MB]"))){

                SetPlayerInterior(playerid, 0);
                SetPlayerPos(playerid, -1532.8296, 490.2627, 7.0);
                MovimentoBancario(playerid, (0-500)); // MoneyHack
                }    else    {
                SendClientMessage(playerid, 0xFFFFFFAA, "Vocк nao й um oficial da Marinha");
                             }
                return 1;

            }
            if(listitem == 3) // Voltar
            {
            ShowPlayerDialog(playerid, DIALOGID, DIALOG_STYLE_LIST, "Teleporte Categorias", "Los Santos\nSan Fierro\nLas Venturas\nEspeciais", "Selecionar", "Cancelar");
            }
        }
        return 1;
    }
}
Reply
#9

amigo quando vc fazer um teleporte que nгo for em um interior maior que 1 nгo precisa usar:
pawn Код:
SetPlayerInterior(playerid, 0);
Reply
#10

Quote:
Originally Posted by MaGnO_357
Посмотреть сообщение
amigo quando vc fazer um teleporte que nгo for em um interior maior que 1 nгo precisa usar:
pawn Код:
SetPlayerInterior(playerid, 0);
Vocк estб vindo do interior 1 para um ambiente que nгo tem interior, e agora?
Vamos usar SetPlayerInterior(playerid, 0); toda vez que usamos um SetPlayerPos!


@topic

Negocio estranho esse...
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)