[Tutorial] How to make a /cuff and /uncuff command.
#1

Okay in this tutorial you will learn that how to make a /cuff and a /uncuff command.

Okay first:
Include these files.
PHP код:
#include <a_samp>
#include <zcmd>
#include <sscanf2> 
Okay now here are the full codes and I have explained them in the script:
PHP код:
CMD:cuff(playeridparams[])//This is will create you cmd so you can continue your codes.
{
    new 
targetid;//this defines the id of the player you want to cuff((playerid id your id and the target id that I defined it the id of the player you want to cuff))
    
if(sscanf(params"u"targetid)) return SendClientMessage(playerid, -1"[USAGE]: /cuff [Part of Name/Player ID]");
    if(
IsPlayerConnected(targetid))//this will check that if the player you want to cuff is connected to the server or not.
        
{
            new 
Float:xFloat:yFloat:z;//these are the defines of your x,y and z position.
               
GetPlayerPos(playeridxyz);//this will store your position to be used in the following codes.((this stores the your x,y, and z position in to the variables we created.))
               
if(IsPlayerInRangeOfPoint(targetid5.0xyz))//this will check that if the player you want to cuff is near you or not.
                   
{
                    new 
str[512];//this it the define for the string you will format further.((str means string.You can also change it to string but this seems to be easy.))
                      
new name[MAX_PLAYER_NAME];//this is the variable you created to store the your name.
                    
GetPlayerName(playeridnamesizeof(name));//this will get your name and store it in the variable you defines as name.
                    
new target[MAX_PLAYER_NAME];//this is the variable you created to store the name of the player you want to cuff.
                       
GetPlayerName(targetidtargetsizeof(target));//this will get the name of the person you want to cuff and will store it into a variable we defined as target.
                       
format(strsizeof(str), "INFO: You have cuffed %s!",target);//explained at the end of the tutorial.
                       
SendClientMessage(playerid0xE01B1Bstr);//this will send the formated message to you that you created before.
                       
format(strsizeof(str), "WARNING: You have been cuffed by %s!",name);//explained at the end of the tutorial.
                       
SendClientMessage(targetid0xE01B1Bstr);//this will send the formated message to the player you cuffed.
                    
SetPlayerAttachedObject(targetid0194186, -0.0110000.028000, -0.022000, -15.600012, -33.699977,-81.7000350.8919991.0000001.168000);//this will set the object cuffs at the hand of the player you want to cuff.
                      
SetPlayerSpecialAction(targetid,SPECIAL_ACTION_CUFFED);//this will set players hand backwards.
                      
return 1;
                }
        }
    return 
1;
}
CMD:uncuff(playeridparams[])//sfcs cmd.
{
        new 
targetid;//this defines the id of the player you want to cuff((playerid id your id and the target id that I defined it the id of the player you want to cuff))
        
if(sscanf(params"u"targetid)) return SendClientMessage(playerid, -1"[USAGE]: /uncuff [Part of Name/Player ID]");
        if(
IsPlayerConnected(targetid))//this will check that if the player you want to cuff is connected to the server or not.
        
{
            new 
Float:xFloat:yFloat:z;//these are the defines of your x,y and z position.
               
GetPlayerPos(playeridxyz);//this will store your position to be used in the following codes.((this stores the your x,y, and z position in to the variables we created.))
               
if(IsPlayerInRangeOfPoint(targetid5.0xyz))//this will check that if the player you want to cuff is near you or not.
                   
{
                    if(!
SetPlayerAttachedObject(targetid0194186, -0.0110000.028000, -0.022000, -15.600012, -33.699977,-81.7000350.8919991.0000001.168000))return SendClientMessage(playerid,-1,"ERROR: The player is not cuffed!");//this will check that if the player is not cuffed and you are trying to apply this cmd,this will send him a error message.
                      
SetPlayerSpecialAction(targetid,SPECIAL_ACTION_NONE);//this will remove the players cuffs and his arms will go normal.
                    
new str[512];//this it the define for the string you will format further.((str means string.You can also change it to string but this seems to be easy.))
                      
new name[MAX_PLAYER_NAME];//this is the variable you created to store the your name.
                    
GetPlayerName(playeridnamesizeof(name));//this will get your name and store it in the variable you defines as name.
                    
new target[MAX_PLAYER_NAME];//this is the variable you created to store the name of the player you want to cuff.
                       
GetPlayerName(targetidtargetsizeof(target));//this will get the name of the person you want to cuff and will store it into a variable we defined as target.
                       
format(strsizeof(str), "INFO: You have uncuffed %s!",target);//explained at the end of the tutorial.
                       
SendClientMessage(playerid0xE01B1Bstr);//will send the formated message to you that you created above.
                       
format(strsizeof(str), "WARNING: You have been uncuffed by %s!",name);//explained bellow.
                       
SendClientMessage(targetid0xE01B1Bstr);//will send the formated message to the player you want to cuff that you created above.
                      
return 1;
                }
        }
        return 
1;

Now the lines I haven't explained in the script.
PHP код:
if(sscanf(params"u"targetid)) return SendClientMessage(playerid, -1"[USAGE]: /uncuff [Part of Name/Player ID]"); 
for more info about sscanf,use this.:
https://sampforum.blast.hk/showthread.php?tid=120356

This will check that if a player enter a invalid information,if it is a invalid information,it will send him an error message.

PHP код:
format(strsizeof(str), "INFO: You have cuffed %s!",target);//explained at the end of the tutorial. 
format is used for formatting messages that you want to send to other people or to yourself.
for more info go here:
https://sampwiki.blast.hk/wiki/Format
Reply
#2

Nice tut mate
Reply
#3

Thanks mate
Reply
#4

Quote:
Originally Posted by Michael23
Посмотреть сообщение
Nice tut mate
Thanks

Quote:
Originally Posted by MoDee
Посмотреть сообщение
Thanks mate
Thanks
Reply
#5

nice tut, but change "u" to "r" by sscanf or do you want that bots can be cuffed^^
Reply
#6

Quote:
Originally Posted by Mellnik
Посмотреть сообщение
nice tut, but change "u" to "r" by sscanf or do you want that bots can be cuffed^^
nah avoid that.
Reply
#7

Instead of checking if the player has the object attached to them, I recommend you checking if their special action is cuffed, much more efficient in my opinion.
Reply
#8

Quote:
Originally Posted by TaLhA XIV
Посмотреть сообщение
pawn Код:
CMD:cuff(playerid, params[])//This is will create you cmd so you can continue your codes.
{
    new targetid;//this defines the id of the player you want to cuff((playerid id your id and the target id that I defined it the id of the player you want to cuff))
    if(sscanf(params, "u", targetid)) return SendClientMessage(playerid, -1, "[USAGE]: /cuff [Part of Name/Player ID]");
    if(IsPlayerConnected(targetid))//this will check that if the player you want to cuff is connected to the server or not.
        {
            new Float:x, Float:y, Float:z;//these are the defines of your x,y and z position.
            GetPlayerPos(playerid, x, y, z);//this will store your position to be used in the following codes.((this stores the your x,y, and z position in to the variables we created.))
            if(IsPlayerInRangeOfPoint(targetid, 5.0, x, y, z))//this will check that if the player you want to cuff is near you or not.
                {
                    new str[512];//this it the define for the string you will format further.((str means string.You can also change it to string but this seems to be easy.))
                    new name[MAX_PLAYER_NAME];//this is the variable you created to store the your name.
                    GetPlayerName(playerid, name, sizeof(name));//this will get your name and store it in the variable you defines as name.
                    new target[MAX_PLAYER_NAME];//this is the variable you created to store the name of the player you want to cuff.
                    GetPlayerName(targetid, target, sizeof(target));//this will get the name of the person you want to cuff and will store it into a variable we defined as target.
                    format(str, sizeof(str), "INFO: You have cuffed %s!",target);//explained at the end of the tutorial.
                    SendClientMessage(playerid, 0xE01B1B, str);//this will send the formated message to you that you created before.
                    format(str, sizeof(str), "WARNING: You have been cuffed by %s!",name);//explained at the end of the tutorial.
                    SendClientMessage(targetid, 0xE01B1B, str);//this will send the formated message to the player you cuffed.
                    SetPlayerAttachedObject(targetid, 0, 19418, 6, -0.011000, 0.028000, -0.022000, -15.600012, -33.699977,-81.700035, 0.891999, 1.000000, 1.168000);//this will set the object cuffs at the hand of the player you want to cuff.
                    SetPlayerSpecialAction(targetid,SPECIAL_ACTION_CUFFED);//this will set players hand backwards.
                    return 1;
                }

        }
    return 1;
}
Why 512 cells when we only need around 50-60?
Why two name variables when you only need one?
Why return after the special action when there's nothing else in the command and it would just return down the line?
Reply
#9

Wowow thanks for the suggestions but I did not tested it so thanks for that.
Reply
#10

Great Tutorial! Thanks

But ... maybe add this?

uncuff

RemovePlayerAttachedObject(playerid, 0);

and

When cuffed, you jump and fall

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(newkeys & KEY_JUMP && !(oldkeys & KEY_JUMP) && GetPlayerSpecialAction(playerid) == SPECIAL_ACTION_CUFFED) ApplyAnimation(playerid, "GYMNASIUM", "gym_jog_falloff",4.1,0,1,1,0,0);
return 1;
}
Reply
#11

Thanks for the reply,and for the feedback as well.
Reply
#12

How to make it for team cops?
Reply
#13

Very nice! But when you have 1 parametr
Код:
 if(sscanf(params, "u", targetid)) return SendClientMessage(playerid, -1, "[USAGE]: /cuff [Part of Name/Player ID]");
better way is to do like this:
Код:
if(isnull(params)) return SendClientMessage(playerid, -1, "[USAGE]: /cuff [Part of Name/Player ID]");
Reply
#14

Get some errors anyone now how to solve?


Код:
C:\Users\Showarn\Desktop\Gta servern\gamemodes\GV.pwn(24847) : warning 217: loose indentation
C:\Users\Showarn\Desktop\Gta servern\gamemodes\GV.pwn(24851) : warning 217: loose indentation
C:\Users\Showarn\Desktop\Gta servern\gamemodes\GV.pwn(24852) : warning 217: loose indentation
C:\Users\Showarn\Desktop\Gta servern\gamemodes\GV.pwn(24854) : warning 217: loose indentation
C:\Users\Showarn\Desktop\Gta servern\gamemodes\GV.pwn(24859) : warning 217: loose indentation
C:\Users\Showarn\Desktop\Gta servern\gamemodes\GV.pwn(24860) : warning 217: loose indentation
Reply
#15

Fix the indentation, the lines are probably not straight with each other, ****** it if you don't know what I'm on about.
Reply
#16

Can someone please make this commands to the a_samp include style if possible.
Reply
#17

Quote:
Originally Posted by NealPeteros
Посмотреть сообщение
Can someone please make this commands to the a_samp include style if possible.
What do you mean?
Reply
#18

For example
if (strcmp("/cuff", cmdtext, true, 10) == 0)
and
if (strcmp("/uncuff", cmdtext, true, 10) == 0)

I mean remake it but take the zcmd and sscanf includes out. Thanks
Reply
#19

I get this error

C:\Users\4neals\Desktop\Samp\gamemodes\FreeRoam.pw n(179) : error 029: invalid expression, assumed zero
C:\Users\4neals\Desktop\Samp\gamemodes\FreeRoam.pw n(179) : error 017: undefined symbol "cmd_cuff"
C:\Users\4neals\Desktop\Samp\gamemodes\FreeRoam.pw n(179) : error 029: invalid expression, assumed zero
C:\Users\4neals\Desktop\Samp\gamemodes\FreeRoam.pw n(179) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase


4 Errors.

This is my full code. Please put corrections. Thanks

// This is a comment
// uncomment the line below if you want to write a filterscript
//#define FILTERSCRIPT

#include <a_samp>
#include <zcmd>
#include <sscanf2>

#define COLOR_GREY 0xAFAFAFAA
#define COLOR_GREEN 0x33AA33AA
#define COLOR_RED 0xAA3333AA
#define COLOR_YELLOW 0xFFFF00AA
#define COLOR_WHITE 0xFFFFFFAA
#define COLOR_BLUE 0x0000BBAA
#define COLOR_LIGHTBLUE 0x33CCFFAA
#define COLOR_ORANGE 0xFF9900AA
#define COLOR_RED 0xAA3333AA
#define COLOR_LIME 0x10F441AA
#define COLOR_MAGENTA 0xFF00FFFF
#define COLOR_NAVY 0x000080AA
#define COLOR_AQUA 0xF0F8FFAA
#define COLOR_CRIMSON 0xDC143CAA
#define COLOR_FLBLUE 0x6495EDAA
#define COLOR_BISQUE 0xFFE4C4AA
#define COLOR_BLACK 0x000000AA
#define COLOR_CHARTREUSE 0x7FFF00AA
#define COLOR_BROWN 0XA52A2AAA
#define COLOR_CORAL 0xFF7F50AA
#define COLOR_GOLD 0xB8860BAA
#define COLOR_GREENYELLOW 0xADFF2FAA
#define COLOR_INDIGO 0x4B00B0AA
#define COLOR_IVORY 0xFFFF82AA
#define COLOR_LAWNGREEN 0x7CFC00AA
#define COLOR_SEAGREEN 0x20B2AAAA
#define COLOR_LIMEGREEN 0x32CD32AA //<--- Dark lime
#define COLOR_MIDNIGHTBLUE 0X191970AA
#define COLOR_MAROON 0x800000AA
#define COLOR_OLIVE 0x808000AA
#define COLOR_ORANGERED 0xFF4500AA
#define COLOR_PINK 0xFFC0CBAA // - Light light pink
#define COLOR_SPRINGGREEN 0x00FF7FAA
#define COLOR_TOMATO 0xFF6347AA // - Tomato >:/ sounds wrong lol... well... :P
#define COLOR_YELLOWGREEN 0x9ACD32AA //- like military green
#define COLOR_MEDIUMAQUA 0x83BFBFAA
#define COLOR_MEDIUMMAGENTA 0x8B008BAA // dark magenta ^^
#define COLOR_GREY 0xAFAFAFAA
#define COLOR_GREY 0xAFAFAFAA
stock AddClasses()
{
new a = 0;
while(a <= 299)
{

main()
{
print("\n----------------------------------");
print(" Future FreeRoam Server - NealP");
print("----------------------------------\n");
}



public OnGameModeInit()
{
AddPlayerClass(a, 2485.6213,-1665.0665,15, -1, 0, 0, 0, 0, 0, 0);
a = a + 1;
}
}
SetGameModeText("Welcome to the Future FreeRoam");
ManualVehicleEngineAndLights();
return 1;
}

public OnPlayerRequestClass(playerid, classid)
{
SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
return 1;
}

public OnPlayerConnect(playerid)
{
new string[64], pName[MAX_PLAYER_NAME];
GetPlayerName(playerid,pName,MAX_PLAYER_NAME);
format(string,sizeof string,"%s has joined the server. Welcome!",pName);
SendClientMessageToAll(0xFFFFFFAA,string);

GameTextForPlayer(playerid,"~w~The Future Freeroam",3000,4);
SendClientMessage(playerid,COLOR_WHITE, "Welcome to The {FF0000}F{FFFFFF}uture {00FF00}F{FFFFFF}ree{0080FF}R{FFFFFF}oam");
return 1;
}

public OnPlayerSpawn(playerid)
{
SetPlayerColor(playerid,COLOR_WHITE);
GivePlayerMoney(playerid, 1000);
GivePlayerWeapon(playerid, WEAPON_COLT45,100);
return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
SetPlayerPos(playerid, 1172.9683,-1323.3954,15.3982);
SendClientMessage(playerid,COLOR_YELLOW,"You were treated by medical doctors in All Saints Hospital. Please be careful next time.");
SendClientMessage(playerid,COLOR_YELLOW,"You were deducted by $200 for your medical bill. Have a safe day!");
GivePlayerMoney(playerid,-200);
return 1;
}


public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp("/kill", cmdtext, true, 10) == 0)
{
if (IsPlayerAdmin(playerid))
SendClientMessage(playerid,COLOR_RED,"You commited suicide.");
SetPlayerHealth(playerid,0);
return 1;
}
if (strcmp("/adminstarter", cmdtext, true, 10) == 0)
{
if (IsPlayerAdmin(playerid))
SetPlayerHealth(playerid,100);
SetPlayerArmour(playerid,100);
GivePlayerWeapon(playerid,WEAPON_MINIGUN,999999);
GivePlayerWeapon(playerid,WEAPON_M4,999999);
GivePlayerWeapon(playerid,WEAPON_DEAGLE,999999);
SetPlayerSpecialAction(playerid,SPECIAL_ACTION_USE JETPACK);
return 1;
}
if (strcmp("/engine", cmdtext, true, 10) == 0)//your command.
{
new vehicleid = GetPlayerVehicleID(playerid);//defining vehicleid is = to GetPlayerVehicleID.
new engine, lights, alarm, doors, bonnet, boot, objective;//these are the defines of the thing used in the command.
if(IsPlayerInAnyVehicle(playerid))//This will check that if a player is in the vehicle or not.
{
if(GetPlayerVehicleSeat(playerid) == 0) //Now this will check that if a player is on the driving seat or not.
{
GetVehicleParamsEx(vehicleid,engine,lights,alarm,d oors,bonnet,boot,objective);//will check that what is the state of the engine.
if(engine == 1)//will check that if the wngine in on or not.
{
GetVehicleParamsEx(vehicleid,engine,lights,alarm,d oors,bonnet,boot,objective);//this will check that what is the state of engine.That is is on or off.We can use it for multiple things like doors,alarms etc.But In this case I am using this for the engine only.
SetVehicleParamsEx(vehicleid,false,lights,alarm,do ors,bonnet,boot,objective);//when we change the engine and replace it with false,this will turn the vehicle engine off.Same if we make if true,this will make the engine on.
GameTextForPlayer(playerid,"Vehicle Engine Stopped!",2000,6);//for a text to appar on the screen for only 2 seconds.
return 1;
}
else
SetVehicleParamsEx(vehicleid,true,lights,alarm,doo rs,bonnet,boot,objective);//if vehicle engine is false it will change it to true.
GameTextForPlayer(playerid,"Vehicle Engine Started!",2000,6);//for a text to appar on the screen for only 2 seconds.
}
else SendClientMessage(playerid,-1,"Error: You are not at the driving seat!");//this is an error message,that if a player is not on the driving seat,this error message would appear.
return 1;
}
else
SendClientMessage(playerid,-1,"Error: You are not in a vehicle!");//this is the error message,that if a player is not in the car,the error message would apper.
}
if (strcmp("/lock", cmdtext, true, 10) == 0)//your command.
{
new engine, lights, alarm, doors, bonnet, boot, objective;
new vehicleid = GetPlayerVehicleID(playerid);//defining vehicleid is = to GetPlayerVehicleID.
if(IsPlayerInAnyVehicle(playerid))//Thsi will check that is a player In a vehcile or not.
{
GetVehicleParamsEx(vehicleid,engine,lights,alarm,d oors,bonnet,boot,objective);//will check that what is the state of the vehicle lock.
if(doors == 1)//will check if the doors are already loocked it not.
{
GetVehicleParamsEx(vehicleid,engine,lights,alarm,d oors,bonnet,boot,objective);
SetVehicleParamsEx(vehicleid,engine,lights,alarm,f alse,bonnet,boot,objective);//same as the engine one.
GameTextForPlayer(playerid,"Vehicle Unlocked!",2000,6);//for a text to appar on the screen for only 2 seconds.
return 1;
}
else
SetVehicleParamsEx(vehicleid,engine,lights,alarm,t rue,bonnet,boot,objective);
GameTextForPlayer(playerid,"Vehicle Locked!",2000,6);//for a text to appar on the screen for only 2 seconds.
}
else
SendClientMessage(playerid,-1,"Error: You are not in a vehicle!");//the error message.
}
CMD:cuff(playerid, params[])//This is will create you cmd so you can continue your codes.
{
new targetid;//this defines the id of the player you want to cuff((playerid id your id and the target id that I defined it the id of the player you want to cuff))
if(sscanf(params, "u", targetid)) return SendClientMessage(playerid, -1, "[USAGE]: /cuff [Part of Name/Player ID]");
if(IsPlayerConnected(targetid))//this will check that if the player you want to cuff is connected to the server or not.
{
new Float, Float:y, Float:z;//these are the defines of your x,y and z position.
GetPlayerPos(playerid, x, y, z);//this will store your position to be used in the following codes.((this stores the your x,y, and z position in to the variables we created.))
if(IsPlayerInRangeOfPoint(targetid, 5.0, x, y, z))//this will check that if the player you want to cuff is near you or not.
{
new str[512];//this it the define for the string you will format further.((str means string.You can also change it to string but this seems to be easy.))
new name[MAX_PLAYER_NAME];//this is the variable you created to store the your name.
GetPlayerName(playerid, name, sizeof(name));//this will get your name and store it in the variable you defines as name.
new target[MAX_PLAYER_NAME];//this is the variable you created to store the name of the player you want to cuff.
GetPlayerName(targetid, target, sizeof(target));//this will get the name of the person you want to cuff and will store it into a variable we defined as target.
format(str, sizeof(str), "INFO: You have cuffed %s!",target);//explained at the end of the tutorial.
SendClientMessage(playerid, 0xE01B1B, str);//this will send the formated message to you that you created before.
format(str, sizeof(str), "WARNING: You have been cuffed by %s!",name);//explained at the end of the tutorial.
SendClientMessage(targetid, 0xE01B1B, str);//this will send the formated message to the player you cuffed.
SetPlayerAttachedObject(targetid, 0, 19418, 6, -0.011000, 0.028000, -0.022000, -15.600012, -33.699977,-81.700035, 0.891999, 1.000000, 1.168000);//this will set the object cuffs at the hand of the player you want to cuff.
SetPlayerSpecialAction(targetid,SPECIAL_ACTION_CUF FED);//this will set players hand backwards.
return 1;
}

}
return 1;
}
CMD:uncuff(playerid, params[])//sfcs cmd.
{

new targetid;//this defines the id of the player you want to cuff((playerid id your id and the target id that I defined it the id of the player you want to cuff))
if(sscanf(params, "u", targetid)) return SendClientMessage(playerid, -1, "[USAGE]: /uncuff [Part of Name/Player ID]");
if(IsPlayerConnected(targetid))//this will check that if the player you want to cuff is connected to the server or not.
{
new Float, Float:y, Float:z;//these are the defines of your x,y and z position.
GetPlayerPos(playerid, x, y, z);//this will store your position to be used in the following codes.((this stores the your x,y, and z position in to the variables we created.))
if(IsPlayerInRangeOfPoint(targetid, 5.0, x, y, z))//this will check that if the player you want to cuff is near you or not.
{
if(!SetPlayerAttachedObject(targetid, 0, 19418, 6, -0.011000, 0.028000, -0.022000, -15.600012, -33.699977,-81.700035, 0.891999, 1.000000, 1.168000))return SendClientMessage(playerid,-1,"ERROR: The player is not cuffed!");//this will check that if the player is not cuffed and you are trying to apply this cmd,this will send him a error message.
SetPlayerSpecialAction(targetid,SPECIAL_ACTION_NON E);//this will remove the players cuffs and his arms will go normal.
new str[512];//this it the define for the string you will format further.((str means string.You can also change it to string but this seems to be easy.))
new name[MAX_PLAYER_NAME];//this is the variable you created to store the your name.
GetPlayerName(playerid, name, sizeof(name));//this will get your name and store it in the variable you defines as name.
new target[MAX_PLAYER_NAME];//this is the variable you created to store the name of the player you want to cuff.
GetPlayerName(targetid, target, sizeof(target));//this will get the name of the person you want to cuff and will store it into a variable we defined as target.
format(str, sizeof(str), "INFO: You have uncuffed %s!",target);//explained at the end of the tutorial.
SendClientMessage(playerid, 0xE01B1B, str);//will send the formated message to you that you created above.
format(str, sizeof(str), "WARNING: You have been uncuffed by %s!",name);//explained bellow.
SendClientMessage(targetid, 0xE01B1B, str);//will send the formated message to the player you want to cuff that you created above.
return 1;
}

}
return 1;
}
return 0;
}

public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
new string[128];
format(string, sizeof(string), "You are entering vehicle %i", vehicleid);
SendClientMessage(playerid, 0xFFFFFFFF, string);
return 1;
}

public OnPlayerExitVehicle(playerid, vehicleid)
{
new string[35];
format(string, sizeof(string), "INFO: You are exiting vehicle %i", vehicleid);
SendClientMessage(playerid, 0xFFFFFFFF, string);
return 1;
}

public OnPlayerEnterCheckpoint(playerid)
{
DisablePlayerCheckpoint(playerid);
return 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
new
szString[64],
playerName[MAX_PLAYER_NAME];

GetPlayerName(playerid, playerName, MAX_PLAYER_NAME);

new szDisconnectReason[3][] =
{
"Timeout/Crash",
"Quit",
"Kick/Ban"
};

format(szString, sizeof szString, "%s left the server (%s).", playerName, szDisconnectReason[reason]);

SendClientMessageToAll(0xC4C4C4FF, szString);
return 1;
}
Reply
#20

Please use

Quote:

[CODE(]) and [/CODE(]) so i can understand it

Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)