Re: Useful Functions -
rbN. - 31.12.2010
Erm, i've tried to type • in chat at a few servers, including my own, and nothing happened.. Nothing crashed or whatever :P. You just see 'Robin: ', and not 'Robin: •'
erm? :P
Respuesta: Useful Functions -
ipsBruno - 31.12.2010
Robin,only Work in Windows XP.
Hugs.
Re: Useful Functions -
RyDeR` - 05.01.2011
@[FeK]DraKiNs:
I guess it will be better if you just add an amount to the vehicleid. Then vehicles never have odds to have the same numberplate (how they also are) and it's better instead random numbers I guess.
pawn Код:
stock CreateRandomNumberPlate(vehicleid)
{
new
string[8]
;
format(string, sizeof(string), "NUM-%d", (vehicleid + 1000));
SetVehicleNumberPlate(vehicleid, string);
SetVehicleToRespawn(vehicleid);
return vehicleid;
}
Re: Useful Functions -
CyNiC - 05.01.2011
pawn Код:
IsPlayerStopped(playerid)
{
if(GetPlayerAnimationIndex(playerid) == 1189) return true;
return false;
}
Respuesta: Useful Functions -
ipsBruno - 05.01.2011
@RyDeR
Oh Ye,Good Idea,but is Plate
RAMDOM:
But here:
Plate Cars
pawn Код:
stock CreateVehicleNumberPlate(vehicleid)
{
static
sPlate[22];
format(sPlate,22,"Plate: %d",(1000 + vehicleid));
SetVehicleNumberPlate(vehicleid,sPlate);
return SetVehicleToRespawn(vehicleid);
}
Thanks
@Cynic
What this code do?
Re: Useful Functions -
CyNiC - 05.01.2011
Checks if the player is doing nothing.
Respuesta: Re: Useful Functions -
ipsBruno - 05.01.2011
@Cynic
Ok,Thanks
#Topic:
Give Value To PVARs
pawn Код:
stock
GivePVarInt(playerid, var[], val) //- PVars++
return SetPVarInt(playerid,var,GetPVarInt(playerid, var)+val);
Crash Player in 0.3b
pawn Код:
stock
CrashPlayer(playerid) //- Crash the Player (0.3b)
SetPlayerHoldingObject(playerid, 0, 0);
Get ID Player From Part Name
pawn Код:
stock
GetIDFromName(part[]) //Geta id from part of nome
{
static
namep[24]
;
for(new id; id < MAX_PLAYERS; id++)
{
GetPlayerName(i,namep,24);
if(!strfind(namep,part, true)) return id;
}
return -1;
}
Functions from Matrix Uselful [FeK]
Re: Useful Functions - [03]Garsino - 05.01.2011
Use macros for your first 2 functions

(I already made the first one though, not sure if I posted it in the topic or not).
Respuesta: Useful Functions -
ipsBruno - 06.01.2011
@[03]Garsino
Ya,is + best using macros,but i like stocks,sorry.
Hugs
pawn Код:
//**** Change here for version of servers
#define ServerVersion 1 // 0 = 0.3a | 1 = 0.3b | 2 = 0.3c
// here the includes
#if ServerVersion == 0
#include "../Includes0.3a/a_samp.inc" // others includes 0.3a \/
#endif
#if ServerVersion == 1
#include "../Includes0.3b/a_samp.inc" // others includes 0.3b \/
#endif
#if ServerVersion == 2
#include "../Includes0.3c/a_samp.inc" // others includes 0.3a \/
#endif
Re: Useful Functions -
RyDeR` - 07.01.2011
GetBiggestArrayNumber
pawn Код:
stock GetBiggestArrayNumber(array[], len = sizeof(array))
{
new
biggest = cellmin
;
for(new i ; i != len; ++i)
{
if(array[i] > biggest)
{
biggest = array[i];
}
}
return biggest;
}
GetSmallestArrayNumber
pawn Код:
stock GetSmallestArrayNumber(array[], len = sizeof(array))
{
new
smallest = cellmax
;
for(new i ; i != len; ++i)
{
if(array[i] < smallest)
{
smallest = array[i];
}
}
return smallest;
}
Respuesta: Useful Functions -
ipsBruno - 07.01.2011
Loop String
pawn Код:
#define sLoop(%0,%1) for(new %1; %0[%1]; ++%1)
Use:
pawn Код:
sLoop(string,i)
{
printf("Char %s",string[i]);
}
Loop String
Simple loop for string (best for not use strlen)
Re: Useful Functions -
RyDeR` - 07.01.2011
GetNumArgs
pawn Код:
stock GetNumArgs(var[], ...)
{
for(new i = 1; i != numargs(); ++i)
{
var[(i - 1)] = getarg(i);
}
return 1;
}
Example
pawn Код:
new
var[4]
;
GetNumArgs(var, 1, 5, 9, 4);
printf("Numbers stored in array var are: %d %d %d %d", var[0], var[1], var[2], var[3]);
Will give us:
Код:
Numbers stored in array var are 1 5 9 4
GetStringArgs
pawn Код:
stock GetStringArgs(string[][], ...)
{
for(new i = 1; i != numargs(); ++i)
{
for(new x; getarg(i, x) != 0; ++x)
{
string[(i - 1)][x] = getarg(i, x);
}
}
return 1;
}
Example
pawn Код:
new
string[4][16]
;
GetStringArgs(string, "My", "Nick", "Is", "RyDeR`");
printf("Strings stored in 2D array string are: %s %s %s %s", string[0], string[1], string[2], string[3]);
Will give us:
Код:
Strings stored in 2D array string are: My Nick Is RyDeR`
Notice: These functions are just to give you more information about the usage of args.
Re: Useful Functions -
Aleks10 - 07.01.2011
GetBiggestArrayNumber and GetSmallestArrayNumber not true.
Re: Useful Functions -
RyDeR` - 07.01.2011
As far as I tested they both do work perfect.
Re: Respuesta: Useful Functions -
Slice - 07.01.2011
Quote:
Originally Posted by [FeK]DraKiNs
Loop String
pawn Код:
#define sLoop(%0,%1) for(new %1; %0[%1]; ++%1)
Use:
pawn Код:
sLoop(string,i) { printf("Char %s",string[i]); }
Loop String
Simple loop for string (best for not use strlen)
|
Using a for-loop with strlen is a lot faster actually.
Re: Useful Functions -
RyDeR` - 07.01.2011
@Slice:
It's not. The way DraKiNs uses is a lot faster.
EDIT: Just did a speedtest and realised that strlen is almost 3 times slower. This way:
pawn Код:
for(new i; i != strlen(string); ++i)
EDIT2: You're right if we assign the return (of strlen) to a variable first, and I also think this was what you meant.
pawn Код:
for(new i, j = strlen(string); i != j; ++i)
Re: Useful Functions -
Grim_ - 07.01.2011
I'm assuming you're talking about checking the value returned by strlen( ) each increment. Try this code compared to his:
pawn Код:
for( new i = 0, j = strlen( string ); i < j; i++ )
Re: Useful Functions -
RyDeR` - 07.01.2011
Huh, indeed; that's a little bit faster. Didn't know that.
Respuesta: Useful Functions -
ipsBruno - 07.01.2011
@Ryder
Yes,Is right, this form is like a foreach to string.
Of course nothing very optimized.
Equals:
pawn Код:
while (i <10) if (string [i]! = EOS)
And I still used '++i' which further optimizes the code.
@Grim:
The method is good, but use ++array and not array++ for optimizes a little more
Thanks
Re: Useful Functions -
Aleks10 - 08.01.2011
RyDeR`, no, no true...
new arr[10] = {-10,-20,-100,-100,-500,-7,-1,-5,-8}; ...
true version:
Код:
stock GetBiggestArrayNumber(array[], len = sizeof(array))
{
new biggest=-2147483647;
for(new i=0; i != len; ++i)
if(array[i] > biggest)
biggest = array[i];
return biggest;
}
stock GetSmallestArrayNumber(array[], len = sizeof(array))
{
new smallest=2147483647;
for(new i; i != len; ++i)
if(array[i] < smallest)
smallest = array[i];
return smallest;
}