Pawno Crashes, Vehicle lock script.
#1

Hello, I recently found a good vehicle lock script and implemented it into my script here's the code

Код:
//--------------------------Vechicle Lock----------------------------------------

	 dcmd_lock(const playerid,const params[])
						{
						#pragma unused params
							if(IsPlayerInAnyVehicle(playerid))
							{
								new State=GetPlayerState(playerid);
								if(State!=PLAYER_STATE_DRIVER)
								{
									SendClientMessage(playerid,COLOR_WHITE,"You can only lock the doors as the driver.");
									return 1;
								}
								for(new i = 0; i < MAX_PLAYERS; i ++)
								{
									if(i != playerid)
									{
										SetVehicleParamsForPlayer(GetPlayerVehicleID(playerid),i, 0, 1);
									}
								}
								SendClientMessage(playerid, COLOR_GREEN, "Vehicle locked!");
						  	new Float:pX, Float:pY, Float:pZ;
								GetPlayerPos(playerid,pX,pY,pZ);
								PlayerPlaySound(playerid,1056,pX,pY,pZ);
							}
							else
							{
								SendClientMessage(playerid, COLOR_WHITE, "You're not in a vehicle!");
							}
							return 1;
					}

					dcmd_unlock(const playerid,const params[])
					{
	 #pragma unused params
						if(IsPlayerInAnyVehicle(playerid))
						{
							new State=GetPlayerState(playerid);
							if(State!=PLAYER_STATE_DRIVER)
							{
								SendClientMessage(playerid,COLOR_WHITE,"You can only unlock the doors as the driver.");
								return 1;
							}
							for(new i = 0; i < MAX_PLAYERS; i ++)
							{
								SetVehicleParamsForPlayer(GetPlayerVehicleID(playerid),i, 0, 0);
							}
							SendClientMessage(playerid, 0xFFFF00AA, "Vehicle unlocked!");
							new Float:pX, Float:pY, Float:pZ;
							GetPlayerPos(playerid,pX,pY,pZ);
							PlayerPlaySound(playerid,1057,pX,pY,pZ);
						}
						else
						{
							SendClientMessage(playerid, COLOR_WHITE, "You're not in a vehicle!");
						}
						return 1;
					}
It just says "Pawno Compiler Library Has stopped working" I would really appreciate it if someone would help, thanks.
Reply
#2

Compiled fine.
pawn Код:
dcmd_lock(playerid, params[])
{
    #pragma unused params
    if(IsPlayerInAnyVehicle(playerid))
    {
        new State = GetPlayerState(playerid);
        if(State != PLAYER_STATE_DRIVER)
        {
            SendClientMessage(playerid, COLOR_WHITE, "You can only lock the doors as the driver.");
            return 1;
        }
        for(new i = 0; i < MAX_PLAYERS; i ++)
        {
            if(i != playerid)
            {
                SetVehicleParamsForPlayer(GetPlayerVehicleID(playerid),i, 0, 1);
            }
        }
        SendClientMessage(playerid, COLOR_GREEN, "Vehicle locked!");
        new Float: pX, Float: pY, Float: pZ;
        GetPlayerPos(playerid, pX, pY, pZ);
        PlayerPlaySound(playerid, 1056, pX, pY, pZ);
    }
    else
    {
        SendClientMessage(playerid, COLOR_WHITE, "You're not in a vehicle!");
    }
    return 1;
}
pawn Код:
dcmd_unlock(playerid, params[])
{
    #pragma unused params
    if(IsPlayerInAnyVehicle(playerid))
    {
        new State = GetPlayerState(playerid);
        if(State != PLAYER_STATE_DRIVER)
        {
            SendClientMessage(playerid, COLOR_WHITE, "You can only unlock the doors as the driver.");
            return 1;
        }
        for(new i = 0; i < MAX_PLAYERS; i ++)
        {
            SetVehicleParamsForPlayer(GetPlayerVehicleID(playerid), i, 0, 0);
        }
        SendClientMessage(playerid, 0xFFFF00AA, "Vehicle unlocked!");
        new Float: pX, Float: pY, Float: pZ;
        GetPlayerPos(playerid, pX, pY, pZ);
        PlayerPlaySound(playerid, 1057, pX, pY, pZ);
    }
    else
    {
        SendClientMessage(playerid, COLOR_WHITE, "You're not in a vehicle!");
    }
    return 1;
}
Reply
#3

I tried this

Код:
dcmd_unlock(playerid, params[])
{
    #pragma unused params
    if(IsPlayerInAnyVehicle(playerid))
    {
        new State = GetPlayerState(playerid);
        if(State != PLAYER_STATE_DRIVER)
        {
            SendClientMessage(playerid, COLOR_WHITE, "You can only unlock the doors as the driver.");
            return 1;
        }
        for(new i = 0; i < MAX_PLAYERS; i ++)
        {
            SetVehicleParamsForPlayer(GetPlayerVehicleID(playerid), i, 0, 0);
        }
        SendClientMessage(playerid, 0xFFFF00AA, "Vehicle unlocked!");
        new Float: pX, Float: pY, Float: pZ;
        GetPlayerPos(playerid, pX, pY, pZ);
        PlayerPlaySound(playerid, 1057, pX, pY, pZ);
    }
    else
    {
        SendClientMessage(playerid, COLOR_WHITE, "You're not in a vehicle!");
    }
    return 1;
But I get this error, I added it to the very bottom of my script.

Код:
warning 203: symbol is never used: "dcmd_unlock"
Reply
#4

pawn Код:
dcmd(unlock, 6, cmdtext);
Put that under OnPlayerCommandText
Reply
#5

Edit:

After playing around with it I did this

Код:
if (strcmp("/lock", cmdtext, true, 10) == 0)
	{
	
	    dcmd(unlock, 6, cmdtext);
		return 1;
		
	}
I get these errors

Код:
C:\Users\GTW\Desktop\server\gamemodes\Dmserv.pwn(487) : error 017: undefined symbol "dcmd"
C:\Users\GTW\Desktop\server\gamemodes\Dmserv.pwn(653) : warning 203: symbol is never used: "cmd_unlock"
Reply
#6

Here's how it should look.
pawn Код:
public OnPlayerCommandText(playerid, cmdtext[])
{
    dcmd(unlock, 6, cmdtext);
    return 0;
}
Reply
#7

I have a bunch of commands though, it is not empty, this is it.

Код:
public OnPlayerCommandText(playerid, cmdtext[])
{
	if (strcmp("/buy MP5", cmdtext, true, 10) == 0)
 	{
		if(GetPlayerMoney(playerid) <500) return SendClientMessage(playerid,0xAA3333AA, "You don't have enough money to buy an MP5!");
		SendClientMessage(playerid,0xAA3333AA, "You bought an MP5!");
		GivePlayerMoney(playerid,-500);
		GivePlayerWeapon(playerid,29,470);
 		return 1;
	}
	if (strcmp("/buy", cmdtext, true, 10) == 0)
	{

	    SendClientMessage(playerid,0xFFFFFFAA, "/buy [Gun]");
	    return 1;
	}
	if (strcmp("/h", cmdtext, true, 10) == 0)//Remove before public
	{

	    GivePlayerMoney(playerid,1000000);
	    return 1;
	}
	if (strcmp("/gunlist", cmdtext, true, 10) == 0)
	{
	    SendClientMessage(playerid,0xFFFFFFAA, "====================================================================");
	    SendClientMessage(playerid,0xFFFF00AA, "                            Weapons");
	    SendClientMessage(playerid,0xFFFFFFAA, "MP5($100) M4A1($500) Sniper($1000) Shotgun($200) Spas-12($1200)");
	    SendClientMessage(playerid,0xFFFFFFAA, "====================================================================");
	    return 1;
	}
	if (strcmp("/buy shotgun", cmdtext, true, 10) == 0)
	{

	    if(GetPlayerMoney(playerid) <200) return SendClientMessage(playerid,0xAA3333AA, "You don't have enough money to buy a Shotgun!");
	    SendClientMessage(playerid,0xAA3333AA, "You bought a Shotgun!");
	    GivePlayerMoney(playerid,-200);
	    GivePlayerWeapon(playerid,25,470);
	    return 1;

	}
	if (strcmp("/buy spas-12", cmdtext, true, 10) == 0)
	{

	    if(GetPlayerMoney(playerid) <1200) return SendClientMessage(playerid,0xAA3333AA, "You don't have enough money to buy a Spas-12!");
	    SendClientMessage(playerid,0xAA3333AA, "You bought a Spas-12!");
	    GivePlayerMoney(playerid,-1200);
	    GivePlayerWeapon(playerid,27,470);
	    return 1;

	}
	if (strcmp("/buy M4A1", cmdtext, true, 10) == 0)
	{

	    if(GetPlayerMoney(playerid) <500) return SendClientMessage(playerid,0xAA3333AA, "You don't have enough money to buy an M4!");
	    SendClientMessage(playerid,0xAA3333AA, "You bought an M4!");
	    GivePlayerMoney(playerid,-500);
	    GivePlayerWeapon(playerid,31,470);
	    return 1;

	}
	if (strcmp("/commands", cmdtext, true, 10) == 0)
	{

		SendClientMessage(playerid,0xFFFFFFAA, "=======================================================================");
		SendClientMessage(playerid,0xFFFF00AA, "                             Commands");
		SendClientMessage(playerid,0xFFFFFFAA, "/buy - Allows you yo purchase a weapon on the guns list.");
		SendClientMessage(playerid,0xFFFFFFAA, "/gunlist - Shows you list of all guns that are avalible to be purchased");
		SendClientMessage(playerid,0xFFFFFFAA, "/buycar - Allows you to purchase on vehicle on the list");
		SendClientMessage(playerid,0xFFFFFFAA, "/carlist - Shows you a list of all the avalible cars to be pruchased");
		SendClientMessage(playerid,0xFFFFFFAA, "/buyitem - Allows you to purchase any item on the item's list.");
		SendClientMessage(playerid,0xFFFFFFAA, "/itemlist - Shows you a list of all the item's that are avalible to be pruchased");
		SendClientMessage(playerid,0xFFFFFFAA, "=======================================================================");
		return 1;
	}
    if (strcmp("/buy Sniper", cmdtext, true, 10) == 0)
    {

        if(GetPlayerMoney(playerid) <1000) return SendClientMessage(playerid,0xAA3333AA, "You don't have enough money to buy a Sniper!");
        SendClientMessage(playerid,0xAA3333AA, "You bought a Sniper!");
        GivePlayerMoney(playerid,-1000);
        GivePlayerWeapon(playerid,34,470);
        return 1;
	}
    if (strcmp("/kill", cmdtext, true, 10) == 0)
    {

        SetPlayerHealth(playerid,0);
        return 1;

	}
	if (strcmp("/buycar", cmdtext, true, 10) == 0)
	{

	    SendClientMessage(playerid,0xFFFFFFAA, "/buycar [car]");
	    return 1;
	}
	if (strcmp("/carlist", cmdtext, true, 10) == 0)
	{

	    SendClientMessage(playerid,0xFFFFFFAA, "======================================================================");
	    SendClientMessage(playerid,0xFFFF00AA, "                                  Car List");
	    SendClientMessage(playerid,0xFFFFFFAA, "Infernus($5000)");
	    SendClientMessage(playerid,0xFFFFFFAA, "Bullet($2000)");
	    SendClientMessage(playerid,0xFFFFFFAA, "HotRingRacer($1000)");
	    SendClientMessage(playerid,0xFFFFFFAA, "Maverick($5000)");
	    SendClientMessage(playerid,0xFFFFFFAA, "SWAT Tank($1000000)");
	    SendClientMessage(playerid,0xFFFFFFAA, "Sultan($500)");
	    SendClientMessage(playerid,0xFFFFFFAA, "Elegy($200)");
	    SendClientMessage(playerid,0xFFFFFFAA, "Jester($800");
	    SendClientMessage(playerid,0xFFFFFFAA, "Buffalo($700)");
	    SendClientMessage(playerid,0xFFFFFFAA, "Banshee($5000)");
	    SendClientMessage(playerid,0xFFFFFFAA, "Sparrow($2000)");
	    SendClientMessage(playerid,0xFFFFFFAA, "NRG-500($1200)");
	    SendClientMessage(playerid,0xFFFFFFAA, "=======================================================================");
	    return 1;

	}
	if (strcmp("/buycar Infernus", cmdtext, true, 10) == 0)
	{

	    if(GetPlayerMoney(playerid) <1000) return SendClientMessage(playerid,0xAA3333AA, "You don't have enough money to buy an Infernus!");
	    GivePlayerMoney(playerid,-1000);
	    new Float:X, Float:Y, Float:Z, Float:A;
	    new farb1;
     	new farb2;
	    GetPlayerPos(playerid, X, Y, Z);
     	GetPlayerFacingAngle(playerid, A);
     	CreateVehicle(411, X+2, Y+2, Z+2, A+2, farb1, farb2, 0);
     	return 1;

	 }
  	if (strcmp("/buycar Bullet", cmdtext, true, 10) == 0)
	 {


	    if(GetPlayerMoney(playerid) <2000) return SendClientMessage(playerid,0xAA3333AA, "You don't have enough money to buy a Bullet!");
	    GivePlayerMoney(playerid,-2000);
	    new Float:X, Float:Y, Float:Z, Float:A;
	    new farb1;
     	new farb2;
	    GetPlayerPos(playerid, X, Y, Z);
     	GetPlayerFacingAngle(playerid, A);
     	CreateVehicle(541, X+2, Y+2, Z+2, A+2, farb1, farb2, 0);
     	return 1;

	 }
    if (strcmp("/buycar HotRingRacer", cmdtext, true, 10) == 0)
	 {
        if(GetPlayerMoney(playerid) <5000) return SendClientMessage(playerid,0xAA3333AA, "You don't have enough money to buy a HotRingRacer!");
	    GivePlayerMoney(playerid,-5000);
	    new Float:X, Float:Y, Float:Z, Float:A;
	    new farb1;
     	new farb2;
	    GetPlayerPos(playerid, X, Y, Z);
     	GetPlayerFacingAngle(playerid, A);
     	CreateVehicle(494, X+2, Y+2, Z+2, A+2, farb1, farb2, 0);
     	return 1;

	 }
    if (strcmp("/buycar Maverick", cmdtext, true, 10) == 0)
     {

        if(GetPlayerMoney(playerid) <5000) return SendClientMessage(playerid,0xAA3333AA, "You don't have enough money to buy a Maverick!");
	    GivePlayerMoney(playerid,-5000);
	    new Float:X, Float:Y, Float:Z, Float:A;
	    new farb1;
     	new farb2;
	    GetPlayerPos(playerid, X, Y, Z);
     	GetPlayerFacingAngle(playerid, A);
     	CreateVehicle(487, X+2, Y+2, Z+2, A+2, farb1, farb2, 0);
     	return 1;

      }
 	if (strcmp("/buycar SWAT Tank", cmdtext, true, 10) == 0)
      {

	    if(GetPlayerMoney(playerid) <1000000) return SendClientMessage(playerid,0xAA3333AA, "You don't have enoough money to buy a SWAT tank!");
	    GivePlayerMoney(playerid,-1000000);
	    new Float:X, Float:Y, Float:Z, Float:A;
		new farb1;
		new farb2;
		GetPlayerPos(playerid, X, Y, Z);
		GetPlayerFacingAngle(playerid, A);
		CreateVehicle(601, X+2, Y+2, Z+2, A+2, farb1, farb2, 0);
		return 1;

      }
    if (strcmp("/buycar Banshee", cmdtext, true, 10) == 0)
	 {

	    if(GetPlayerMoney(playerid) <5000) return SendClientMessage(playerid,0xAA3333AA, "You don't have enoough money to buy a Banshee!");
	    GivePlayerMoney(playerid,-5000);
	    new Float:X, Float:Y, Float:Z, Float:A;
		new farb1;
		new farb2;
		GetPlayerPos(playerid, X, Y, Z);
		GetPlayerFacingAngle(playerid, A);
		CreateVehicle(429, X+2, Y+2, Z+2, A+2, farb1, farb2, 0);
		return 1;

	 }
    if (strcmp("/buycar Elegy", cmdtext, true, 10) == 0)
    {

        if(GetPlayerMoney(playerid) <200) return SendClientMessage(playerid,0xAA3333AA, "You don't have enoough money to buy an Elegy!");
	    GivePlayerMoney(playerid,-200);
	    new Float:X, Float:Y, Float:Z, Float:A;
		new farb1;
		new farb2;
		GetPlayerPos(playerid, X, Y, Z);
		GetPlayerFacingAngle(playerid, A);
		CreateVehicle(562, X+2, Y+2, Z+2, A+2, farb1, farb2, 0);
		return 1;

	}
    if (strcmp("/buycar Sparrow", cmdtext, true, 10) == 0)
    {

        if(GetPlayerMoney(playerid) <2000) return SendClientMessage(playerid,0xAA3333AA, "You don't have enoough money to buy a Sparrow!");
	    GivePlayerMoney(playerid,-2000);
	    new Float:X, Float:Y, Float:Z, Float:A;
		new farb1;
		new farb2;
		GetPlayerPos(playerid, X, Y, Z);
		GetPlayerFacingAngle(playerid, A);
		CreateVehicle(469, X+2, Y+2, Z+2, A+2, farb1, farb2, 0);
		return 1;

	}
    if (strcmp("/buycar buffalo", cmdtext, true, 10) == 0)
    {

        if(GetPlayerMoney(playerid) <700) return SendClientMessage(playerid,0xAA3333AA, "You don't have enoough money to buy a Buffalow!");
	    GivePlayerMoney(playerid,-700);
	    new Float:X, Float:Y, Float:Z, Float:A;
		new farb1;
		new farb2;
		GetPlayerPos(playerid, X, Y, Z);
		GetPlayerFacingAngle(playerid, A);
		CreateVehicle(402, X+2, Y+2, Z+2, A+2, farb1, farb2, 0);
		return 1;

	}
    if (strcmp("/buycar Jester", cmdtext, true, 10) == 0)
    {

        if(GetPlayerMoney(playerid) <800) return SendClientMessage(playerid,0xAA3333AA, "You don't have enoough money to buy a Jester!");
	    GivePlayerMoney(playerid,-800);
	    new Float:X, Float:Y, Float:Z, Float:A;
		new farb1;
		new farb2;
		GetPlayerPos(playerid, X, Y, Z);
		GetPlayerFacingAngle(playerid, A);
		CreateVehicle(559, X+2, Y+2, Z+2, A+2, farb1, farb2, 0);
		return 1;

	}
	if (strcmp("/itemlist", cmdtext, true, 10) == 0)
	{
	
	    SendClientMessage(playerid,0xFFFFFFAA, "=================================================================================");
	    SendClientMessage(playerid,0xFFFF00AA, "                                         Item List");
	    SendClientMessage(playerid,0xFFFFFFAA, "First Aid Kit($200) - Heals you fully");
	    SendClientMessage(playerid,0xFFFFFFAA, "Kevlar Vest($500) - Restores your armor");
	    SendClientMessage(playerid,0xFFFFFFAA, "==================================================================================");
	    return 1;
	    
	}
	if (strcmp("/buyitem first aid kit", cmdtext, true, 10) == 0)
	{
	
	    if(GetPlayerMoney(playerid) <200) return SendClientMessage(playerid,0xAA3333AA, "You don't have enough money to buy a First Aid Kit!");
	    SetPlayerHealth(playerid,100);
	    GivePlayerMoney(playerid,-500);
	    SendClientMessage(playerid,0xFFFF00AA, "You bought a First Aid Kit!");
	    return 1;
	    
	}
	if (strcmp("/buyitem kevlar vest", cmdtext, true, 10) == 0)
	{
	
	    if(GetPlayerMoney(playerid) <500) return SendClientMessage(playerid,0xAA3333AA, "You don't have enough money to buy a Kevlar Vest!");
	    SetPlayerArmour(playerid,100);
	    GivePlayerMoney(playerid,-500);
	    SendClientMessage(playerid,0xFFFF00AA, "You bought a Kevlar Vest!");
	    return 1;
	    
	}
	if (strcmp("/buyitem", cmdtext, true, 10) == 0)
	{
	
	    SendClientMessage(playerid,0xFFFFFFAA, "/buyitem [item]");
	    return 1;
	    
	}
	if (strcmp("/buycar NRG-500", cmdtext, true, 10) == 0)
	{
	
	    if(GetPlayerMoney(playerid) <1200) return SendClientMessage(playerid,0xAA3333AA, "You don't have enough money to buy an NRG!");
	    GivePlayerMoney(playerid,-1200);
	    new Float:X, Float:Y, Float:Z, Float:A;
		new farb1;
		new farb2;
		GetPlayerPos(playerid, X, Y, Z);
		GetPlayerFacingAngle(playerid, A);
		CreateVehicle(522, X+2, Y+2, Z+2, A+2, farb1, farb2, 0);
		return 1;
	}
    if (strcmp("/buycar Sultan", cmdtext, true, 10) == 0)
    {
    
        if(GetPlayerMoney(playerid) <500) return SendClientMessage(playerid,0xAA3333AA, "You don't have enough money to buy a Sultan!");
	    GivePlayerMoney(playerid,-500);
	    new Float:X, Float:Y, Float:Z, Float:A;
		new farb1;
		new farb2;
		GetPlayerPos(playerid, X, Y, Z);
		GetPlayerFacingAngle(playerid, A);
		CreateVehicle(560, X+2, Y+2, Z+2, A+2, farb1, farb2, 0);
		return 1;
		
	}
	return 0;
}
Where should I add it?
Reply
#8

pawn Код:
public OnPlayerCommandText(playerid, cmdtext[])
{
    dcmd(unlock, 6, cmdtext);
   
    if (strcmp("/buy MP5", cmdtext, true, 10) == 0)
    {
Reply
#9

That worked, but now this

error 017: undefined symbol "dcmd"
Reply
#10

Add in you GameMode:
pawn Код:
#define dcmd(%1,%2,%3) if (!strcmp((%3)[1], #%1, true, (%2)) && ((((%3)[(%2) + 1] == '\0') && (dcmd_%1(playerid, ""))) || (((%3)[(%2) + 1] == ' ') && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
In TOP.

#EDIT
your*
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)