// Top of script
new cage[MAX_PLAYERS], cage2[MAX_PLAYERS], cage3[MAX_PLAYERS], cage4[MAX_PLAYERS], caged[MAX_PLAYERS];
// new function
stock CagePlayer(playerid)
{
if(IsPlayerConnected(playerid))
{
new Float:X, Float:Y, Float:Z;
GetPlayerPos(playerid, X, Y, Z);
cage[playerid] = CreateObject(985, X, Y+4, Z, 0.0, 0.0, 0.0);
cage2[playerid] = CreateObject(985, X+4, Y, Z, 0.0, 0.0, 90.0);
cage3[playerid] = CreateObject(985, X-4, Y, Z, 0.0, 0.0, 270.0);
cage4[playerid] = CreateObject(985, X, Y-4, Z, 0.0, 0.0, 180.0);
caged[playerid] = 1; // Use this in a /cage command to prevent being caged twice and causing the cage to be unremovable.
PlayerPlaySound(playerid, 1137, X, Y, Z);
}
}
stock UnCagePlayer(playerid)
{
cage[playerid] = DestroyObject(cage[playerid]);
cage2[playerid] = DestroyObject(cage2[playerid]);
cage3[playerid] = DestroyObject(cage3[playerid]);
cage4[playerid] = DestroyObject(cage4[playerid]);
caged[playerid] = 0;
}
#define DisableBadword(%1) for(new i=0; i<strlen(text); i++) if(strfind(text[i], %1, true) == 0) for(new a=0; a<256; a++) if (a >= i && a < i+strlen(%1)) text[a]='*'
Originally Posted by Andre9977
PS: It's "Useful Functions", not "Usefull functions".
|
stock SendClientMessageToAllEx(exception, color, const message[]) { for(new i; i<MAX_PLAYERS; i++) { if(IsPlayerConnected(i)) { if(i != exception) { SendClientMessage(i, color, message); } } } }
stock GetVehicleDriver(vehicleid) { for(new i; i<MAX_PLAYERS; i++) { if (IsPlayerInVehicle(i, vehicleid)) { if(GetPlayerState(i) == 2) { return i; } } } return -1; }
Originally Posted by =>Sandra<=
SendClientMessageToAllEx(exception, color, const message[])
This function sends a message to all players, except for 1 player. (exception) Code:
stock SendClientMessageToAllEx(exception, color, const message[]) { for(new i; i<MAX_PLAYERS; i++) { if(IsPlayerConnected(i)) { if(i != exeption) { SendClientMessage(i, color, message); } } } } |
Originally Posted by =>Sandra<=
SendClientMessageToAllEx(exception, color, const message[])
This function sends a message to all players, except for 1 player. (exception) |
Originally Posted by Andre9977
GetName()
playerid - the player who's name we're getting The name will be stored in "PlayerName" variable! pawn Code:
|
printf("KickEx(): %s(%i) kicked, reason: %s", PlayerName, playerid);
printf("KickEx(): %s(%i) kicked, reason: %s", PlayerName, playerid, reason);
stock Admin(msg[]) { for(new i 0; i<GetMaxPlayers(); i++ { if(IsPlayerConnected(i) && IsPlayerAdmin(i)) SendClientMessage(i,white,msg); } }
Originally Posted by Y_Leѕѕ
Gotta love Kye deleting my account and thus all the topics that went with it.
|
Originally Posted by Andre9977
Quote:
About the cells I forgot - I was about to write MAX_PLAYER_NAME instead of 24, but then something went... wrong. |
printf("Name: %s", GetName(playerid));
if(!IsPlayerInInvalidNosVehicle(playerid, vehicleid) //notice the "!"
//----------[ IsPlayerInValidNosVehicle made by [fackin']luke]---------------------
IsPlayerInInvalidNosVehicle(playerid,vehicleid)
{
#define MAX_INVALID_NOS_VEHICLES 29
new InvalidNosVehicles[MAX_INVALID_NOS_VEHICLES] =
{
581,523,462,521,463,522,461,448,468,586,
509,481,510,472,473,493,595,484,430,453,
452,446,454,590,569,537,538,570,449
};
vehicleid = GetPlayerVehicleID(playerid);
if(IsPlayerInVehicle(playerid,vehicleid))
{
for(new i = 0; i < MAX_INVALID_NOS_VEHICLES; i++)
{
if(GetVehicleModel(vehicleid) == InvalidNosVehicles[i])
{
return true;
}
}
}
return false;
}
// end of it!
CheckPlayerName(const name[]) // by Luk0r
{
if (strlen(name) < 6) return 0;
if (strfind(name, "_", true) == -1) return 0;
new underscorecount, expectinguppercase = 1;
for (new i = 0, j = strlen(name); i < j; i++)
{
if (expectinguppercase == 1)
{
if (name[i] < 'A' || name[i] > 'Z') return 0;
expectinguppercase = 0;
continue;
}
switch (name[i])
{
case '_':
{
if (underscorecount == 1) return 0;
else
{
underscorecount = 1;
expectinguppercase = 1;
}
continue;
}
case 'A' .. 'Z': continue;
case 'a' .. 'z': continue;
default: return 0;
}
}
return 1;
}
stock IsABoat(carid)
{
new Operative[] = { 472, 473, 493, 495, 484, 430, 454, 453, 452, 446 };
for(new i = 0; i < sizeof(Operative); i++)
{
if(GetVehicleModel(carid) == i) return 1;
}
return 0;
}
Originally Posted by Andre9977
Quote:
I hope you don't mind - I added to my post with your credit and link to your account of course. |
RPName(name[],ret_first[],ret_last[]) { new len = strlen(name), point = -1, bool:done = false; for(new i = 0; i < len; i++) { if(name[i] == '_') { if(point != -1) return 0; else { if(i == 0) return 0; point = i + 1; } } else if(point == -1) ret_first[i] = name[i]; else { ret_last[i - point] = name[i]; done = true; } } if(!done) return 0; return 1; }
public OnPlayerConnect(playerid) { new name[MAX_PLAYER_NAME], first[MAX_PLAYER_NAME], last[MAX_PLAYER_NAME], ret; GetPlayerName(playerid,name,sizeof(name)); if(RPName(name,first,last)) { // Valid name, player is called first_last } else { // Invalid name, deal accordingly } return 1; }
strtok(string[],&idx,seperator = ' ') { new ret[128], i = 0, len = strlen(string); while(string[idx] == seperator && idx < len) idx++; while(string[idx] != seperator && idx < len) { ret[i] = string[idx]; i++; idx++; } while(string[idx] == seperator && idx < len) idx++; return ret; }
rand(minnum = cellmin,maxnum = cellmax) return random(maxnum - minnum + 1) + minnum;
Float:GetPointDistanceToPoint(Float:x1,Float:y1,Float:x2,Float:y2)
{
new Float:x, Float:y;
x = x1-x2;
y = y1-y2;
return floatsqroot(x*x+y*y);
}
Float:GetPointDistanceToPointEx(Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2)
{
new Float:x, Float:y, Float:z;
x = x1-x2;
y = y1-y2;
z = z1-z2;
return floatsqroot(x*x+y*y+z*z);
}
Originally Posted by DragSta
It also wont work
![]() pawn Code:
|
stock GivePlayerVehicle(playerid, vehicleid)
{
if(!IsPlayerInAnyVehicle(playerid) && vehicleid > 399 && vehicleid < 612)
{
new Float:x, Float:y, Float:z, Float:a, vehicle;
GetPlayerPos(playerid, x, y, z);
GetPlayerFacingAngle(playerid, a);
vehicle = CreateVehicle(vehicleid, x, y, z, a, -1, -1, 50000);
PutPlayerInVehicle(playerid, vehicle, 0);
}
}
stock GetObjectToPlayerDistance(playerid, objectid) //By me, Credits: Whoever made GetDistanceBetweenPlayers
{
new Float:ox, Float:oy, Float:oz, Float:px, Float:py, Float:pz;
new Float:distance;
GetObjectPos(objectid, ox, oy, oz);
GetPlayerPos(playerid, px, py, pz);
distance = floatsqroot(floatpower(floatabs(floatsub(ox, px)),2)+floatpower(floatabs(floatsub(oy, py)),2)+floatpower(floatabs(floatsub(oz, pz)),2));
return floatround(distance);
}
stock GetDistanceFromPlayerToVehicle(playerid, vehicleid)
{
new Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2;
new Float:tmpdis;
GetPlayerPos(playerid,x1,y1,z1);
GetVehiclePos(vehicleid2,x2,y2,z2);
tmpdis = floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2));
return floatround(tmpdis);
}
stock GetVehiclePlayerID(vehicleid)
{
for(new i=0; i<MAX_PLAYERS; i++)
{
if(vehicleid == GetPlayerVehicleID(i))
{
return vehicleid;
}
}
return INVALID_PLAYER_ID;
}
stock GetDistanceBetweenVehicles(vehicleid, vehicleid2)
{
new Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2;
new Float:tmpdis;
GetVehiclePos(vehicleid,x1,y1,z1);
GetVehiclePos(vehicleid2,x2,y2,z2);
tmpdis = floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2));
return floatround(tmpdis);
}
stock GetDistanceBetweenPlayers(playerid, playerid2)
{
new Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2;
new Float:tmpdis;
GetPlayerPos(playerid,x1,y1,z1);
GetPlayerPos(playerid2,x2,y2,z2);
tmpdis = floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2));
return floatround(tmpdis);
}
stock GetPlayerVehicleModel(playerid)
{
new vehicleid = GetPlayerVehicleID(playerid);
new model = GetVehicleModel(vehicleid);
return model;
}
stock SafeKill(playerid)
{
new Weapons[MAX_PLAYERS][11], Ammo[MAX_PLAYERS][11]; // news
for(new j=0; j<11; j++) GetPlayerWeaponData(playerid, j, Weapons[playerid][j], Ammo[playerid][j]);// loop through all weapon slots + ammo
SpawnPlayer(playerid); //respawn the player
for(new j=0; j<11; j++) GivePlayerWeapon(playerid, Weapons[playerid][j], Ammo[playerid][j]);// loop through all weapon slots + ammo
}
Originally Posted by LarzI aka. GloZzy
GetVehiclePlayerID(vehicleid); pawn Code:
|
return i;
return vehicleid;