[AJUDA] Melhorar meu sistema de pregos
#1

bem hj eu tava olhando aki os topic e achei um filter script assim
Код:
#define FILTERSCRIPT
#include <a_samp>
#define TireDano(%1,%2,%3,%4) %1 | (%2 << 1) | (%3 << 2) | (%4 << 3)
new
Tapete,
Float:xx,
Float:yy,
Float:zz;
forward
PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z);
forward
Pneu(playerid);
public
    PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z)
    {
        if(IsPlayerConnected(playerid)) {
            new Float:oldposx, Float:oldposy, Float:oldposz;
            new Float:tempposx, Float:tempposy, Float:tempposz;
            GetPlayerPos(playerid, oldposx, oldposy, oldposz);
            tempposx = (oldposx -x);
            tempposy = (oldposy -y);
            tempposz = (oldposz -z);
//          printf("DEBUG: X:%f Y:%f Z:%f",posx,posy,posz);
            if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi))) {
                return 1;
            }
        }
        return 0;
    }
 
 
public
    OnFilterScriptInit()
    {
        print("\n--------------------------------------");
        print(" Tapede Load By: [FeK]Higor");
        print("--------------------------------------\n");
        SetTimer("Pneu",199,1);
        return 1;
    }
 
 
public
    Pneu(playerid)
    {
        new Dano[4];
        if (IsPlayerInAnyVehicle(playerid)) {
            if (PlayerToPoint(5.0, playerid,xx,yy,zz)) {
                GetVehicleDamageStatus(GetPlayerVehicleID(playerid), Dano[0], Dano[1], Dano[2], Dano[3]);
                UpdateVehicleDamageStatus(GetPlayerVehicleID(playerid), Dano[0], Dano[1], Dano[2], TireDano(1, 1, 1, 1));
                GameTextForPlayer(playerid,"~w~Pneu Furado :)",6000,1);
            }
        }
    }
 
 
public
    OnPlayerCommandText(playerid, cmdtext[])
    {
 
        if (strcmp("/criartapete", cmdtext, true, 10) == 0) {
            GetPlayerPos(playerid,xx,yy,zz);
            Tapete = CreateObject(2899, xx, yy, zz, 0, 0,0);
            GameTextForPlayer(playerid,"~w~Tapede criado :)",6000,1);
            return 1;
        }
 
        if (strcmp("/deletartapete", cmdtext, true, 10) == 0) {
            DestroyObject(Tapete);
            GameTextForPlayer(playerid,"~w~Tapede Deletado",6000,1);
            return 1;
        }
 
        return 0;
    }
que faria os tapetes de prego furar o pneu,mas qualquer um pode colocar,mas eu queria so para cop,alguem pode me ajuda a adptar esse sistema no meu sistema de prego, o comando vo por ai do meu sistema
Код:
 	if(strcmp(cmdtext, "/Prego", true)==0 || strcmp(cmdtext, "/pr2", true)==0)
	{
		if (PlayerInfo[playerid][pMembro] != 1 && PlayerInfo[playerid][pLider] != 1 && PlayerInfo[playerid][pMembro] != 2 && PlayerInfo[playerid][pLider] != 2 && PlayerInfo[playerid][pMembro] != 17 && PlayerInfo[playerid][pLider] != 17 && PlayerInfo[playerid][pMembro] != 25 && PlayerInfo[playerid][pLider] != 25) return SendClientMessage(playerid, COLOR_GREY, "Voce nao e COP!");
		if (PlayerInfo[playerid][pRoadPregos] != 0) return SendClientMessage(playerid, COLOR_GREY, "Vocк sу pode implantar 1 prego por hora, /rp - para remover existente.");
		new Float:X, Float:Y, Float:Z, Float:A;
		GetPlayerPos(playerid, X, Y, Z);
		GetPlayerFacingAngle(playerid, A);
		PlayerInfo[playerid][pRoadPregos] = CreateObject(2892, X, Y, Z-1, 0.0, 0.0, A+180);
		SetPlayerPos(playerid, X, Y, Z);
		GameTextForPlayer(playerid, "~w~Pregos ~r~Criados", 5000, 5);
		SendClientMessage(playerid, COLOR_GREEN, "Pregos Implantados... Use /rb Para Remover e Poder Criar Mais!.");
		GetPlayerName(playerid, sendername, sizeof(sendername));
		format(string, sizeof(string), "Estado: Um prego foi bem plantado por %s, e estб marcada por um checkpoint no Mapa.", sendername);
		for(new i = 0; i < MAX_PLAYERS; i++)
		{
			if(IsPlayerConnected(i))
			{
				if(PlayerInfo[i][pMembro] == 1 || PlayerInfo[i][pLider] == 1)
				{
					SetPlayerCheckpoint(playerid, X, Y, Z-10, 1.0);
					SendClientMessage(i, TEAM_BLUE_COLOR, string);
					if (PlayerInfo[i][pCargo] >= 5 && PlayerInfo[i][pMembro] || PlayerInfo[i][pLider] == 1)
					{
						SendClientMessage(i, COLOR_YELLOW, "Voce pode remover todos os pregos usando /rmpr");
					}
				}
			}
		}
		return 1;
	}
Код:
   if(strcmp(cmdtext, "/removerpregos", true)==0 || strcmp(cmdtext, "/rp", true)==0)
    {
        if (IsACop(playerid))
        {
        if (PlayerInfo[playerid][pCargo] < 1)
        {
            SendClientMessage(playerid, COLOR_GREY, "Vocк precisa no minimo cargo 1 para poder remover os pregos!");
            return 1;
        }
        if (PlayerInfo[playerid][pRoadblock] == 0)
        {
            SendClientMessage(playerid, COLOR_GREY, "Vocк retirou seu prego!");
            return 1;
        }
        }
        RemoveRoadblock(playerid);
        SendClientMessage(playerid, COLOR_GREEN, "Prego removid1o com suscesso.");
        return 1;
    }
Reply
#2

Ja ta definido pra COPS poderem usar nessas linhas:
pawn Код:
if (PlayerInfo[playerid][pMembro] != 1 && PlayerInfo[playerid][pLider] != 1 && PlayerInfo[playerid][pMembro] != 2 && PlayerInfo[playerid][pLider] != 2 && PlayerInfo[playerid][pMembro] != 17 && PlayerInfo[playerid][pLider] != 17 && PlayerInfo[playerid][pMembro] != 25 && PlayerInfo[playerid][pLider] != 25) return SendClientMessage(playerid, COLOR_GREY, "Voce nao e COP!");
if (IsACop(playerid))
Reply
#3

cara vc nao leu nao? eu falei que no filter script nao ta definido veiu, no meu ta, por isso que eu quero por akele sistema no meu, leia antes de posta besteira
Reply
#4

Vocк й um menino muito abusado, nгo?

Pega as publics, variaveis globais, e conteъdo de cada comando e transfira pro seu GM. Quando acabar, cheque o comando parar ver se nгo tem nada igual e/ou que pode ser retirado.
Reply
#5

eu fiz um, + so tem 1 erro..
so o id 0 fura o pneu
Reply
#6

Acerpilot nem sou, sou fico irritado quando as pessoas postam reply sem ler o topico antes, mas tirando isso eu tenho um otimo humor. mudando de assunto vc poderia me explicar melhor, pq eu sou novato , e tem varias publics , nao sei se a pra por no inicio ou no final
Reply
#7

Agora sim!

Primeiro veja os comandos do FS, e estude parte por parte de cada comando, se tiver alguma duvida sobre alguma funзгo, entre no seu navegador com a url wiki.sa-mp.com/wiki/Funcao, substituindo Funcao pela sua funзгo em que hб dъvidas. Sabendo o que cada coisa faz, analise os comandos do GM e novamente faзa um filtro pelas funзхes que nгo tem conhecimento sobre. Feito isso, comece a verificar as arrays usadas no FS e insira-as no teu GM, e depois as publics (faзa o mesmo filtro de dъvidas nas publics). Feito isso, comece a transferir as publics. Feito isso, tu jб terбs conhecimento suficiente para fazer seus prуprios comandos do zero, creio eu.
Reply
#8

ok vo tentar dps eu edito, ei vc poderia me ajudar em outra coisa, como fasso para instalar a include Streamer de objetos, e tem como vc me passa um link para download? e um fs de um relogio por favor, o realtime do samp nao funfa no meu game mode, e porque as barreira estao bugando , elas nao aparecem ai o rjjj mando eu substituir o create object pelo createdynamicobject, ate criei um topico mais ele nao responde. link = https://sampforum.blast.hk/showthread.php?tid=239628 me ajuda ai acer por favor
Reply
#9

manolo, se vocк QUER que apenas os Cops possam usar esse CMD, voce tem q adapta ele ao teu GameMode.
Reply
#10

Quote:
Originally Posted by Styles-P
Посмотреть сообщение
ok vo tentar dps eu edito, ei vc poderia me ajudar em outra coisa, como fasso para instalar a include Streamer de objetos, e tem como vc me passa um link para download? e um fs de um relogio por favor, o realtime do samp nao funfa no meu game mode
A forma de instalaзгo da include Streamer por Incognito estб no tуpico oficial, porйm й simples, use o ConvertFFS para transformar seus objetos em CreateDynamicObject (forma do streamer plugin) e no topo insira #include <streamer> (isso com o pacote da plugin na mгo), depois arraste streamer.dll caso for windows ou streamer.so caso for linux, depois й sу rodar teu server. Sobre os relуgios, existem vбrios em portuguкs atй na бrea Lanзamentos/Releases, dб para achar alguns em inglкs e traduzir tambйm pelo Search.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)