Comando /uptime (saber quando tempo o server estб ligado)
* Necessбrio estar em sua OnGameModeInit()/OnFilterScriptInit() PHP код:
PHP код:
|
A funзгo nativa para isto, buga quando passa de 24 horas, pois й um valor retornado de milisegundos. Nesse caso do exemplo, o server pode ficar mais de 1 dia que serб informado com o cmd quanto tempo tem ligado sem problemas.
|
//Nгo otimizado Player[playerid][skin] = 0; Player[playerid][admin] = 0; Player[playerid][score] = 0; Player[playerid][dinheiro] = 0; |
//Otimizado Player[playerid][skin] = Player[playerid][admin] = Player[playerid][score] = Player[playerid][dinheiro] = 0; |
//Nгo otimizado if(Player[playerid][skin] == 0 && Player[playerid][admin] == 0 && Player[playerid][score] == 0){ print("Os valores de 'skin', 'admin', e 'score' sгo iguais a 0"); } |
//Otimizado if(Player[playerid][skin] | Player[playerid][admin] | Player[playerid][score] == 0){ print("Os valores de 'skin', 'admin', e 'score' sгo iguais a 0"); } |
//Nгo otimizado if(Player[playerid][skin] >= 0 && Player[playerid][skin] <= 311){ SetPlayerSkin(playerid, Player[playerid][skin]); } |
//Otimizado if(0 <= Player[playerid][skin] <= 311){ SetPlayerSkin(playerid, Player[playerid][skin]); } |
#define D_ARMAS 4//coloque o ID do diбlogo.
#define D_ARMAS_PERSONALIZADAS 5 //mesma coisa a cima.
#define D_ARMAS_ESPECIAIS 6 //mesma coisa a cima. І
CMD:armas(playerid) return ShowPlayerDialog(playerid, D_ARMAS, DIALOG_STYLE_LIST, "{FF0000}# {FFFFFF}Armas!", "{FFFFFF}Armas padrхes\nArmas personalizadas\n{FFFF00}Armas especiais", "Selecionar", "Sair");
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(response)
{
switch(dialogid)
{
case D_ARMAS:
{
switch(listitem)
{
case 0:
{
ResetPlayerWeapons(playerid);
GiveThreePlayerWeapon(playerid, 1, 9999, 22, 9999, 25, 9999);//Soco inglкs, 9mm normal e Escopeta '-'
GiveThreePlayerWeapon(playerid, 30, 9999, 28, 9999, 34, 9999);//AK-47, Micro-Uzi e Sniper '-'
SendClientMessage(playerid, -1, "{008B00}Vocк pegou as armas {00FF00}normais{008B00}.");
}
case 1:
{
new Dialog[590], strca[590];
format(Dialog, sizeof(Dialog), "1 - Soco inglкs\n2 - Taco de golfe\n3 - Cacetete\n4 - Faca\n5 - Taco de Basebol\n6 - Pб\n7 - Taco de sinuca\n8 - Katana\n9 - Serra elйtrica\n10 - Vibrador mйdio\n11 - Vibrador Grosso, grande, e gostoso.\n12 - Vibrador branco\n13 - Vibrador pequeno\n14 - Flores\n15 - Granadas\n16 - Bomba de gбs\n17 - Cocktail Molotov\n18 - 9mm pistola\n"); strcat(strca, Dialog);
format(Dialog, sizeof(Dialog), "19 - 9mm silenciada\n20 - Desert Eagle\n21 - Shotgun\n22 - Shotgun Cano Serrado\n23 - Escopeta de Combate\n24 - Micro Uzi\n25 - MP5\n26 - AK-47\n27 - M4\n28 - Tec 9\n29 - Rifle\n30 - Sniper\n31 - Spray\n32 - Extinto de Incкndio\n33 - Cвmera\n34 - Paraquedas"); strcat(strca, Dialog);
ShowPlayerDialog(playerid, D_ARMAS_PERSONALIZADAS, DIALOG_STYLE_LIST, "{FFFF00}# {FFFFFF}Armas personalizadas!", strca, "Selecionar", "");
}
case 2:
{
new Dialog[68], strca[68];
format(Dialog, sizeof(Dialog), "1 - RPG\n2 - Bazuca\n3 - Lanзa-chamas\n4 - Minigun\n5 - Explosivos"); strcat(strca, Dialog);
ShowPlayerDialog(playerid, D_ARMAS_ESPECIAIS, DIALOG_STYLE_LIST, "{FFFF00}# {FFFFFF}Armas especiais!", strca, "Selecionar", "");
}
}
}
case D_ARMAS_PERSONALIZADAS:
{
{
switch(listitem)
{
case 0 .. 37:
{
if(!response) return ShowPlayerDialog(playerid, D_ARMAS, DIALOG_STYLE_LIST, "{FF0000}# {FFFFFF}Armas!", "{FFFFFF}Armas padrхes\nArmas personalizadas\n{FFFF00}Armas especiais", "Selecionar", "Sair");
new Arma[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16, 17, 18, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 42, 43, 44, 43, 46};
GivePlayerWeapon(playerid, Arma[listitem], 9999);
}
}
}
}
case D_ARMAS_ESPECIAIS:
{
switch(listitem)
{
case 0 .. 5:
{
if(!response) return ShowPlayerDialog(playerid, D_ARMAS, DIALOG_STYLE_LIST, "{FF0000}# {FFFFFF}Armas!", "{FFFFFF}Armas padrхes\nArmas personalizadas\n{FFFF00}Armas especiais", "Selecionar", "Sair");
new Arma[] = {35, 36, 37, 38, 39};
GivePlayerWeapon(playerid, Arma[listitem], 9999);
}
}
if(!response) return ShowPlayerDialog(playerid, D_ARMAS, DIALOG_STYLE_LIST, "{FF0000}# {FFFFFF}Armas!", "{FFFFFF}Armas padrхes\nArmas personalizadas\n{FFFF00}Armas especiais", "Selecionar", "Sair");
}
}
}
return 1;
}
//Funзгo para dar 3 armas.
GiveThreePlayerWeapon(playerid, const arma1, arma1m, arma2, arma2m, arma3, arma3m)
{
GivePlayerWeapon(playerid, arma1, arma1m);
GivePlayerWeapon(playerid, arma2, arma2m);
GivePlayerWeapon(playerid, arma3, arma3m);
return 1;
}
#include <a_samp>
#define BRANCO 0xFFFFFFFF
public OnGameModeInit()
{
// | FUNЗГO | COR |TEXTO QUE IRA APARECER| DEFINIDO ACIMA| X | Y | Z |DISTANCIA ONDE SERA VISTO|
Create3DTextLabel("{CD0000}COLOQUE AQUI SEU TEXTO", BRANCO, 258.1041, -140.4503, 1.5781, 90.0, 0, 0); // TEXTO FIXO
// | FUNЗГO | COR |TEXTO QUE IRA APARECER| |DEFINIDO ACIMA| | X | Y | Z |
CreateMovable3DText("{CD0000}COLOQUE AQUI SEU TEXTO", 1, 0xFFFFFFFF, 18.0, 24.1553, -2646.3928, 40.4632, 0, 0); //TEXTO MOVEL
return 1;
}
3DTextLabel & Movable3DText
Olб, vim trazer um cуdigo para aqueles que sгo igual buce**, quer sу na boquinha, ou ate mesmo para quem й iniciante..
Se vocк quer encher o mapa de textos por todo lado, estб no lugar certo, mais agora, como fazer isso? simples eu te encino.. 1° - Entre no Game e vб atй o lugar que vocк deseja colocar o Texto. 2° - Aperte "T" e digite "/save". 3° - Vб ate a pasta "GTA San Andreas User Files\SAMP" e abra o arquivo "savedpositions" Terб algo parecido com isso "AddPlayerClass(6,817.6572,-2220.7014,12.9828,360.0000,0,0,0,0,0,0);" 4° - Ignore o primeiro numero, copiando assim apenas o 2°,3° e 4°. No meu caso "817.6572,-2220.7014,12.9828" 5° - Adicione os numero no CODE no lugar de X,Y e Z Respectivamente. Lembrando que pra criar novos Textos basta Copiar e Colar o jб criado.. pawn Code:
-Espero ter ajudado Alguйm.. |
IsABike(v) {
new
v_ = GetVehicleModel(v);
if(!(v_ ^ 509) | !(v_ ^ 510) | !(v_ ^ 481)) return 1;
return 0;
}
PHP Code:
|
isABike(v) {
new vehicle = GetVehicleModel(v);
if(!(vehicle ^ 509) | !(vehicle ^ 510) | !(vehicle ^ 481)) return 1;
return 0;
}
stock GetSaudacao()
{
new Hor, Min, Seg, string[15];
gettime(Hor, Min, Seg);
switch(Hor)
{
case 0..5: string = "Boa madrugada";
case 6..11: string = "Bom dia";
case 12..18: string = "Boa tarde";
case 19..23: string = "Boa noite";
}
return string;
}
new msg[50], Nome[MAX_PLAYERS][24];
GetPlayerName(playerid, Nome[playerid], 24);
format(msg, sizeof msg, "Olб %s, %s!", Nome[playerid], GetSaudacao());
SendClientMessage(playerid, -1, msg);
Cуdigo simples, fiz pra passar tempo, mais pode ser ъtil pra alguйm..
stock para dar saudaзгo de acordo com o horбrio "boa madrugada, bom dia, boa tarde, boa noite" PHP Code:
PHP Code:
:* |
m@Level() {
static
i, r, id, str[100], name[25];
for(i = GetMaxPlayers() - 1; i > -1; --i) {
if (IsPlayerConnected(i)) {
if (((r-GetPlayerScore(i)) & 0x80000000)) {
id = i, r = GetPlayerScore(i);
}
}
}
format(str, sizeof str, "Maior level й do jogador %s (Level %i)", (GetPlayerName(id, name, 25),name),r);
SendClientMessageToAll(-1, str);
return 0x1;
}
//exemplo
CMD:level(playerid) return m@Level();
public OnPlayerText(playerid, text[])
{
if (text[100] != EOS)
{
new
buff[103],
str[150];
format(str, sizeof str, text);
format(buff, sizeof buff, #...%s, (strdel(str, 0, 72), str));
SendPlayerMessageToAll(playerid, (strdel(text, 72, strlen(text)),text));
SendClientMessageToAll(-1, buff);
return 0;
}
return 1;
}
new ArmaJJ, Bala;
public OnPlayerWeaponShot( playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ ) {
GetPlayerWeaponData(playerid, 5, ArmaJJ, Bala);
if ( ArmaJJ == 30 ) {
if(Bala > 4000){
SendClientMessage(playerid, -1, "Proibido usar esse cleo neste servidor");
Kick(playerid);
}
}
return true;
}
Anti-Cleo Prу-Killer da AK-47 ( /kill ID )
PHP код:
|
Se eu usar: GivePlayerWeapon(playerid, 30, 4001); // Ou maior que 4001
Vai me dar falsos positivos seu cуdigo nгo й nenhum pouco funcional |
// Uso:
// mincap(valor, limite)
// maxcap(valor, limite)
#define mincap(%0,%1) ((%0 < %1) ? %1 : %0))
#define maxcap(%0,%1) ((%0 > %1) ? %1 : %0))
new add = random(100);
new x = 10;
x = maxcap((x + add), 15); // Se (x + add) passar de 15, a variбvel terб valor 15. Caso contrбrio, terб o valor retornado pela soma.
GetVehicleFreeSeat(carro)
{
new MaxSeats[212] = {
4, 2, 2, 2, 4, 4, 1, 2, 2, 4, 2, 2, 2, 4, 2, 2, 4, 2, 4, 2, 4, 4, 2, 2, 2, 1, 4, 4, 4, 2, 1, 9, 1, 2, 2, 1, 2, 9, 4, 2,
4, 1, 2, 2, 2, 4, 1, 2, 1, 6, 1, 2, 1, 1, 1, 2, 2, 2, 4, 4, 2, 2, 2, 2, 2, 2, 4, 4, 2, 2, 4, 2, 1, 1, 2, 2, 1, 2, 2, 4,
2, 1, 4, 3, 1, 1, 1, 4, 2, 2, 4, 2, 4, 1, 2, 2, 2, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 4, 2, 1, 1, 2, 1, 1, 2, 2, 4, 2, 2, 1,
1, 2, 2, 2, 2, 2, 2, 2, 2, 4, 1, 1, 1, 2, 2, 2, 2, 0, 0, 1, 4, 2, 2, 2, 2, 2, 4, 4, 2, 2, 4, 4, 2, 1, 2, 2, 2, 2, 2, 2,
4, 4, 2, 2, 1, 2, 4, 4, 1, 0, 0, 1, 1, 2, 1, 2, 2, 2, 2, 4, 4, 2, 4, 1, 1, 4, 2, 2, 2, 2, 6, 1, 2, 2, 2, 1, 4, 4, 4, 2,
2, 2, 2, 2, 4, 2, 1, 1, 1, 4, 1, 1
};
new bool:Seat[9];
foreach(Player, i)
{
if(IsPlayerConnected(i))
{
if(IsPlayerInVehicle(i, carro))
{
Loop:s(0, MaxSeats[carro - 400])
{
if(GetPlayerVehicleSeat(i) == s) Seat[s] = true;
}
}
}
}
Loop:s(0, MaxSeats[carro - 400])
{
if(Seat[s] == false) return s;
}
return -1;
}