19.01.2013, 12:37
pawn Code:
flipallbits(int) { return int ^ 0xFFFFFFFF; }
flipallbits(int) { return int ^ 0xFFFFFFFF; }
Bruno da Silva disse (03:11) #define namespace:: namespace_ depois declara new namespace_array[2]; entao quando for usar a array namespace::array[0] |
Pegar Idade Do Player funcional...
pawn Code:
|
#define GetYears(%0,%1) new Y,%1;getdate(Y);%1=Y+~%0
GetYears(18, Text);
printf("%i", Text);
#define GetYears(%0,%1,%2) new Y,R=%1,%2;getdate(Y);%2=(R?((Y+~%0)+1):(Y+~%0))
GetYears(16, false, Text); //2° Parвmetro: Vocк jб fez aniversбrio este ano ? Sim: true, Nгo: false.
printf("%i", Text);
Qq isso ? vocк se complicou todo ae cara, o seu simplifica nisso:
pawn Code:
pawn Code:
|
//uso
SetPlayerPosEx(playerid, Text[], y,x,z,a, interiorid);
ex:
SetPlayerPosEx(playerid, "", 1634.1287, -1901.5577, 13.5528, 350.6504, 0);//se deixar "" sem nada ou com "_" nao aparecerб nenhuma mensagem! mбs ao contrario
na print usei o seguinte
SetPlayerPosEx(playerid, "Hard Jump", 1224.7327, -226.0129, 2741.6633, 144.2437, 0);
//stock
stock SetPlayerPosEx(playerid, string[], Float:X, Float:Y, Float:Z, Float:A, interior){
new
sk@_[129], sk_@[MAX_PLAYER_NAME];
GetPlayerName(playerid, sk_@, MAX_PLAYER_NAME);
SetPlayerPos( playerid, Float:X, Float:Y, Float:Z );
SetPlayerFacingAngle( playerid, Float:A );
SetPlayerInterior( playerid, interior );
if(strlen(string) > 1){
format( sk@_, 129, "{FF0000}| INFO | {%06x} %s {FFFFFF}Foi Teleportado para: {53AA33}%s", GetPlayerColor(playerid) >>> 8, sk_@, string );
SendClientMessageToAll( -1, sk@_);
}
return true;
}
// - OnGameModeInit Ou OnFilterScriptInit - //
SetTimer("TempoMutado",1000,true);
// - New's - //
new Floodando[MAX_PLAYERS],
TMutado[MAX_PLAYERS];
// - Forward's - //
forward ParouFlood(playerid);
forward TempoMutado();
// - Public's - //
public OnPlayerText(playerid, text[])
{
if(TMutado[playerid] > 0)
{
new string[60];
format(string, sizeof(string), "-AntFlood- Faltam %d segundos, para voce ser desmutado!", TMutado[playerid]);
SendClientMessage(playerid, -1, string);
return false;
}
Floodando[playerid]++;
if(Floodando[playerid] == 3)
{
Floodando[playerid] = 0;
TMutado[playerid] = 120;
SendClientMessage(playerid, -1, "-AntFlood- Vocк foi mutado por 120 Segundos.!");
return 1;
}
else
{
SetTimerEx("ParouFlood", 3000, false, "i", playerid);
}
return 1;
}
public TempoMutado()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(TMutado[i] == 1)
{
TMutado[i] = 0;
SendClientMessage(i, -1, "-AntFlood- Vocк foi desmutado!");
return 1;
}
if(TMutado[i] > 0)
{
TMutado[i]--;
}
}
return 1;
}
public ParouFlood(playerid)
{
Floodando[playerid] = 0;
return 1;
}
static h; gettime(h); SetWorldTime(h);
primeiro Gettimer nгo existe gettimer
e se vai getar somente a hora para que o uso de 3 variaveis? pawn Код:
|
seu cуdigo pode se resumir somente nisso:
pawn Код:
|
primeiro Gettimer nгo existe gettimer
e se vai getar somente a hora para que o uso de 3 variaveis? pawn Код:
|
#include <sscanf>
#include <dof2>
/* CORES */
#define VERDE 0x21DD00FF
#define VERMELHO 0xFF030FFF
#define VERMELHO_ESCURO 0xE60000FF
#define VERMELHO_CLARO 0xFB0000FF
#define AMARELO 0xFFFF00FF
#define LARANJA 0xF97804FF
#define AZUL_CLARO 0x00C2ECFF
#define ROXO 0xB360FDFF
#define BRANCO 0xFFFFFFFF
#define PRETO 0x000000FF
#define AZUL 0x1229FAFF
#define VERDE_CLARO 0x38FF06FF
#define ROSA_CHOQUE 0xE100E1FF
#define VERDE_ESCURO 0x008040FF
#define CINZA 0xCECECEFF
#define ROSA 0xD52DFFFF
#define CINZA_ESCURO 0x626262FF
#define VERDE_AGUA 0x03D687FF
command(jetpack, Jogador, params[])
{
#pragma unused params
SetPlayerSpecialAction(Jogador,2);
SendClientMessage(Jogador, 0xFFD700AA,"(Info)Vocк pegou sua jetpack!");
return true;
}
command(lc, Jogador, params[])
{
#pragma unused params
for(new t = 0; t < 100; ++t)
{
SendClientMessageToAll(-1, " ");
}
SendClientMessageToAll(BRANCO, "Chat Limpo.");
return true;
}
command(rpg, Jogador, params[])
{
new Ele;
if(sscanf(params, "u", Ele)) return SendClientMessage(Jogador, CINZA, "(Use) /RPG (ID/Nome) para dar uma RPG para algum player!");
if(!IsPlayerConnected(Ele)) return SendClientMessage(Jogador, CINZA, "(Erro) O Jogador estб offline!");
GivePlayerWeapon(Ele, 35, 9999);
SendClientMessage(Ele, 0xFFD700AA, "(Info)Vocк recebeu uma RPG, Use ela bem!");
return true;
}
command(setskin, Jogador, params[])
{
new Ele;
new Skin;
if(sscanf(params, "ui", Ele, Skin)) return SendClientMessage(Jogador, CINZA, "(Use): /setskin (ID) (Skin) para setar a skin de algum player");
if(!IsPlayerConnected(Ele)) return SendClientMessage(Jogador, CINZA, "(Erro) O Jogador estб offline!");
if(Skin < 0 || Skin > 299) return SendClientMessage(Jogador, CINZA, "[Erro] ID Invбlido, use IDs de 0 a 299!");
SendClientMessage(Ele, 0xFFD700AA,"(Info)Sua skin foi setada!");
SetPlayerSkin(Ele, Skin);
return true;
}
command(clima, Jogador, params[])
{
new
Clima,
Nome[MAX_PLAYER_NAME],
String[100];
if(sscanf(params, "d", Clima)) return SendClientMessage(Jogador, CINZA, "(Use) /clima [1 a 45]");
if(Clima <= 0 && Clima >= 46) return SendClientMessage(Jogador, CINZA, "(Erro) O clima precisa ser entre 1 a 45!");
if(Clima <= 0) return SendClientMessage(Jogador, CINZA, "(Erro) O clima precisa ser entre 1 a 45!");
if(Clima >= 1 && Clima < 46)
SetWeather(Clima);
GetPlayerName(Jogador, Nome, sizeof(Nome));
format(String, sizeof(String), "Aviso %s mudou o clima para (%d)", Nome,Clima);
SendClientMessageToAll(0x91FF00AA, String);
return true;
}
command(matar, Jogador, params[])
{
new Ele;
if(sscanf(params, "u", Ele)) return SendClientMessage(Jogador, CINZA, "(Use) /matar (ID/Nome) Para Matar um Player!");
if(!IsPlayerConnected(Ele)) return SendClientMessage(Jogador, CINZA, "(Erro) O Jogador estб offline!");
SetPlayerHealth(Ele, 0);
SendClientMessage(Ele, 0xFFD700AA, "(Info)Vocк foi morto usando o comando /matar!");
return true;
}
#include <a_samp>
#include <zcmd>
#define DIALOG_TEXTVEH 9891
new ExisteT;
CMD:textveh(playerid)
{
ShowPlayerDialog(playerid, DIALOG_TEXTVEH, DIALOG_STYLE_INPUT, "Car Text - Criador", "Insira o texto que vocк quer inserir na lateral do seu carro.", "Criar", "Cancelar");
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == DIALOG_TEXTVEH)
{
if(response)
{
if(ExisteT == 0)
{
SetPVarInt(playerid, "Text1",CreateObject(19327,0,0,0,0,0,0));
AttachObjectToVehicle(GetPVarInt(playerid, "Text1"), GetPlayerVehicleID(playerid), -1.104999, 0.000000, 0.180000, -4.020000, 0.000001, 269.340515);
SetObjectMaterialText(GetPVarInt(playerid, "Text1"), inputtext, 0, OBJECT_MATERIAL_SIZE_256x128 , "Gabriola", 50, 1, 0xFFFFFFFF, 0, OBJECT_MATERIAL_TEXT_ALIGN_CENTER);
SendClientMessage(playerid, 0xDEEE20FF, "Texto adicionado na lateral do seu veiculo..");
ExisteT = 1;
}
else {
ExisteT = 0;
DestroyObject(GetPVarInt(playerid, "Text1"));
SendClientMessage(playerid, -1, "Texto removido na lateral do seu veiculo!");
}
}
}
return 0;
}
CMD:ecarona(playerid, params[])
{
new plid, string[80];
if(!IsPlayerConnected(plid)) return SendClientMessage(playerid, COR_VERMELHO, "[ Erro ] Usuбrio nгo conectado.");
if(sscanf(params, "d",plid)) return SendClientMessage(playerid, COR_VERMELHO, "[ Erro ] /ecarona [id]");
if(plid == playerid) return SendClientMessage(playerid, COR_VERMELHO, "[ Erro ] Vocк nгo pode entrar de carona em seu prуpio veнculo.");
new VehicleID; VehicleID = GetPlayerVehicleID(plid);
PutPlayerInVehicle(playerid, VehicleID, 1);
format(string, sizeof(string), "O Administrador %s (%d) entrou de carona em seu veiculo!", gName(playerid), playerid);
SendClientMessage(plid, COR_AMSG , string);
return 1;
}
gName(playerid)
{
new Name[24];
GetPlayerName(playerid,Name, 24);
return Name;
}
if(!strcmp(cmdtext, "/sf", true))
{
// Criamos duas arrays, uma para armazenar o nome e outra para formatar a string;
static
string2[128],
nome[24]
;
// Formatamos a string com o nome do player
format(string2, 128, "[ ThuG Info ] %s foi Para san fierro (/sf)", (GetPlayerName(playerid, nome, 24), nome));
// Enviamos hб todos.
SendClientMessageToAll(0x88FF9FAA, string2);
// Mandamos mensagem na tela.
GameTextForPlayer(playerid,"~w~Bem Vindo a ~n~~r~San Fierro",5000,5);
// Setamos para o interior 0(default)
SetPlayerInterior(playerid,0);
/*
Parte importante, pois aqui verifica se o jogador estб em um veнculo
ou nгo, muito importante vocк seguir este raciocнnio "Mensagens depois Funзгo".
*Lembrando que as funзхes sгo executadas em sua sequкncia.
Func1
Func2
Func2
Como no exemplo acima, a primeira funзгo que serб utilizada й "Func1" depois й
a "Func2" por ъltimo a funзгo "Func2".
*/
// Verificamos se o player estб em um veнculo
if(IsPlayerInAnyVehicle(playerid))
{
// Setamos ele & o veнculo na posiзгo.
SetVehiclePos(GetPlayerVehicleID(playerid),-1498.8904,799.6949,7.1875);
// Setamos o вngulo do veнculo
SetVehicleZAngle(GetPlayerVehicleID(playerid), 179.0);
// Importante: Note que adicionei o "return true" que significa se a condiзгo "IsPlayerInAnyVehicle"
// estiver correta, serб executado tudo que estб no cуdigo entre os escopos, depois do ъltimo escopo
// serб terminado a funзгo, ou seja, o "return true" finaliza o comando e o resto nгo irб ser executado.
return true;
}
// Caso o player nгo estiver em um veнculo, exeuta oque estб abaixo:
// Seta o player para a posiзгo
SetPlayerPos(playerid,-1498.8904,799.6949,7.1875);
// Seta o вngulo do player:
SetPlayerFacingAngle(playerid,179.0);
return 1;
}
Lуgica PAWN
pawn Код:
|
Valew Drakon.
Comando de Dorgas XD pawn Код:
|
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(newkeys == 32 || newkeys == 40)
{
if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT)
{
if(PuloQueda[playerid] >= 0)
{
PuloQueda[playerid] += 1;
return 1;
}
if(PuloQueda[playerid] == 4)
{
new Float:Vida;
GetPlayerHealth(playerid, Vida);
SetPlayerHealth(playerid, Vida-2);
SendClientMessage(playerid, -1, "Vocк levou um tombo");
GameTextForPlayer(playerid, "~r~~h~-2 de Life", 3000, 1);
PuloQueda[playerid] = 0;
ApplyAnimation(playerid, "CARRY", "crry_prtial", 4.0, 0, 0, 0, 0, 0);
return 1;
}
}
}
return 1;
}
#define RetirarDinheiro(%0,%1) Info[%0][Dinheiro] -= %1
#define SetarDinheiro(%0,%1) Info[%0][Dinheiro] = %1
#define ResetarDinheiro(%0) Info[%0][Dinheiro] = 0;
#define DarDinheiro(%0,%1) Info[%0][Dinheiro] += %1
#define GetarDinheiro(%0) Info[%0][Dinheiro]
enum Informacoes
{
Dinheiro,
/*Aqui pode colocar paradas como Administrador, Level, ... */
};
static Info[MAX_PLAYERS][Informacoes];