TogglePlayerSpectating(playerid, true);
#include <a_samp>
#include "../include/gl_common.inc"
#include Dini
// Dialogs
#define DIALOG_LOGAR 1000
#define DIALOG_CADASTRAR 1001
#define DIALOG_BOLSA 1002
// Pastas
#define PastaP "Server/Players/%s.ini"
// Cargos
#define Player 0
#define Vip 1
#define OrgEventos 2
#define Ajudante 3
#define Moderador 4
#define Administrador 5
#define Sкnior 6
#define Programador 7
// Cores
#define Branco 0xFFFFFFAA
#define Preto 0x000000AA
#define Cinza 0xA1A1A1AA
#define CinzaClaro 0xE3E3E3AA
#define Azul 0x0011FFAA
#define AzulClaro 0x00C8FFAA
#define AzulEscuro 0x0004DBAA
#define Esverdeado 0x25FA89AA
#define Azulado 0x4985BAAA
#define Verde 0x00FF00AA
#define VerdeEscuro 0x06B500AA
#define Vermelho 0xFF0000AA
#define VermelhoClaro 0xFF6B6BAA
#define VemelhoEscuro 0xBA0000AA
#define Roxo 0xCD00D4AA
#define Laranja 0xFFA600AA
#define Amarelo 0xFFF000AA
#define VerdeCeu 0x2BB5ACAA
#define PRETO "{000000}"
#define BRANCO "{FFFFFF}"
#define CINZACLARO "{E3E3E3}"
#define CINZA "{A1A1A1}"
#define AZUL "{0011FF}"
#define AZULCLARO "{00C8FF}"
#define AZULESCURO "{0004DB}"
#define ESVERDEADO "{25FA89}"
#define AZULADO "{4985BA}"
#define VERDE "{00FF00}"
#define VERDEESCURO "{60B500}"
#define ROXO "{CD00D4}"
#define VERMELHO "{FF0000}"
#define VERMELHOCLARO "{FF6B6B}"
#define AMARELO "{FFF000}"
#define LARANJA "{FFA600}"
#define VERDECEU "{2BB5AC}"
new
bool:Canal[MAX_PLAYERS],
Admin[MAX_PLAYERS],
String[800];
forward msg();
public msg()
{
SendClientMessageToAll(Vermelho, "> "VERDE"sua presenзa em nosso servidor й muito boa.");
return 1;
}
main()
{
print("\n----------------------------------");
print(" Racer Better Life");
print("----------------------------------\n");
}
public OnGameModeInit()
{
EnableStuntBonusForAll(0);
SetGameModeText("RBL(RACER)");
return 1;
}
public OnGameModeExit()
{
return 1;
}
public OnPlayerRequestClass(playerid, classid)
{
return 1;
}
public OnPlayerConnect(playerid)
{
format(String, sizeof(String), "Olб "BRANCO"%s"AZULADO", seja bem-vindo.", pName(playerid));
SendClientMessage(playerid, Azulado, String);
SetPlayerCameraPos(playerid, 1997.1031494141, -2493.8444824219, 14.259727478027);
SetPlayerCameraLookAt(playerid, 1897.0999755859, -2494.1000976563, 15.10000038147);
format(String, sizeof(String), PastaP, pName(playerid));
if(!dini_Exists(String))
{
Cadastrar(playerid);
return 1;
}
Logar(playerid);
SetTimer("msg", 50000, true);
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
SalvarDados(playerid);
return 1;
}
public OnPlayerSpawn(playerid)
{
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
return 1;
}
public OnVehicleSpawn(vehicleid)
{
return 1;
}
public OnVehicleDeath(vehicleid, killerid)
{
return 1;
}
public OnPlayerText(playerid, text[])
{
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
new
idx,
cmd[256];
cmd = strtok(cmdtext, idx);
if(strcmp(cmd, "/Canal", true) == 0) // Entrar e Sair
{
cmd = strtok(cmdtext, idx);
if(!strlen(cmd))
{
SendClientMessage(playerid, Vermelho, "- > Vocк deve digitar /Canal Entrar/Sair.");
return 1;
}
if(strcmp(cmd, "Entrar", true) == 0)
{
if(!Canal[playerid])
{
Canal[playerid] = true;
SendClientMessage(playerid, Verde, "- > Vocк entrou no canal ajuda.");
return 1;
}
if(Canal[playerid] == true)
{
SendClientMessage(playerid, Amarelo, "- > Vocк jб estб no canal.");
return 1;
}
return 1;
}
if(strcmp(cmd, "Sair", true) == 0)
{
if(Canal[playerid] == true)
{
Canal[playerid] = false;
SendClientMessage(playerid, Verde, "- > Vocк saiu do canal ajuda.");
return 1;
}
if(Canal[playerid] == false)
{
SendClientMessage(playerid, Amarelo, "- > Vocк nгo estб no canal ajuda.");
return 1;
}
return 1;
}
return 1;
}
if(strcmp(cmd, "/Duvida", true) == 0)
{
if(!Canal[playerid])
{
SendClientMessage(playerid, Vermelho, "- > Vocк nгo estб no canal ajuda.");
return 1;
}
if(Canal[playerid] == true)
{
new
ajuda[256];
ajuda = strrest(cmdtext, idx);
if(strlen(ajuda))
{
SendClientMessage(playerid, Vermelho, "- > Vocк deve digitar /Dъvida [SUA DЪVIDA].");
return 1;
}
format(String, sizeof(String), "Dъvida %s:%s", pName(playerid), ajuda);
SendClientMessageCanal(Azulado, String);
return 1;
}
return 1;
}
if(strcmp(cmd, "/cv", true) == 0)
{
if(IsPlayerInAnyVehicle(playerid))
{
SendClientMessage(playerid, -1, "Vocк nгo pode estб em um veiculo");
return 1;
}
new
id,
c1,
c2;
cmd = strtok(cmdtext, idx);
id = strval(cmd);
if(!strlen(cmd))
{
SendClientMessage(playerid, Vermelho, " - > Comando correto: /cv [ID] [COR 1] [COR 2]");
return 1;
}
if(id < 400 || id > 611)
{
SendClientMessage(playerid, Vermelho, " - > Id dos veiculos de 400 atй 611");
return 1;
}
cmd = strtok(cmdtext, idx);
c1 = strval(cmd);
if(!strlen(cmd))
{
SendClientMessage(playerid, Vermelho, " - > Use /Cv [ID] [Cor 1] [Cor 2]");
return 1;
}
cmd = strtok(cmdtext, idx);
c2 = strval(cmd);
if(!strlen(cmd))
{
SendClientMessage(playerid, Vermelho, " - > Use /Cv [ID] [Cor 1] [Cor 2]");
return 1;
}
new
v,
Float:P[4];
GetPlayerPos(playerid, P[0], P[1], P[2]);
GetPlayerFacingAngle(playerid, P[3]);
v = CreateVehicle(id, P[0], P[1], P[2]+1, P[3], c1, c2, 0);
PutPlayerInVehicle(playerid, v, 0);
SendClientMessage(playerid, Verde, "- > Veнculo criado.");
return 1;
}
if(strcmp(cmd, "/c", true) == 0)
{
RepairVehicle(GetPlayerVehicleID(playerid));
SendClientMessage(playerid, Verde, "- > Veiculo consertado.");
return 1;
}
return 0;
}
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
return 1;
}
public OnPlayerExitVehicle(playerid, vehicleid)
{
return 1;
}
public OnPlayerStateChange(playerid, newstate, oldstate)
{
return 1;
}
public OnPlayerEnterCheckpoint(playerid)
{
return 1;
}
public OnPlayerLeaveCheckpoint(playerid)
{
return 1;
}
public OnPlayerEnterRaceCheckpoint(playerid)
{
return 1;
}
public OnPlayerLeaveRaceCheckpoint(playerid)
{
return 1;
}
public OnRconCommand(cmd[])
{
return 1;
}
public OnPlayerRequestSpawn(playerid)
{
return 1;
}
public OnObjectMoved(objectid)
{
return 1;
}
public OnPlayerObjectMoved(playerid, objectid)
{
return 1;
}
public OnPlayerPickUpPickup(playerid, pickupid)
{
return 1;
}
public OnVehicleMod(playerid, vehicleid, componentid)
{
return 1;
}
public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
{
return 1;
}
public OnVehicleRespray(playerid, vehicleid, color1, color2)
{
return 1;
}
public OnPlayerSelectedMenuRow(playerid, row)
{
return 1;
}
public OnPlayerExitedMenu(playerid)
{
return 1;
}
public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
{
return 1;
}
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
return 1;
}
public OnRconLoginAttempt(ip[], password[], success)
{
return 1;
}
public OnPlayerUpdate(playerid)
{
return 1;
}
public OnPlayerStreamIn(playerid, forplayerid)
{
return 1;
}
public OnPlayerStreamOut(playerid, forplayerid)
{
return 1;
}
public OnVehicleStreamIn(vehicleid, forplayerid)
{
return 1;
}
public OnVehicleStreamOut(vehicleid, forplayerid)
{
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == DIALOG_CADASTRAR)
{
if(!response)
{
SendClientMessage(playerid, -1, ";(");
return 1;
}
if(strlen(inputtext) < 4 || strlen(inputtext) > 15)
{
SendClientMessage(playerid, Vermelho, " - > Senha muito PEQUENA/EXTENSA.");
return 1;
}
format(String, sizeof(String), PastaP, pName(playerid));
dini_Create(String);
dini_Set(String, "Senha", inputtext);
Bolsa(playerid);
return 1;
}
if(dialogid == DIALOG_LOGAR) // Logar-se
{
if(!response)
{
SendClientMessage(playerid, Verde, " - > Volte sempre!");
Kick(playerid);
return 1;
}
if(!strlen(inputtext))
{
SendClientMessage(playerid, Vermelho, " - > Senha invбlida!");
Logar(playerid);
return 1;
}
format(String, sizeof(String), PastaP, pName(playerid));
if(strcmp(inputtext, dini_Get(String, "Senha"), false) != 0)
{
SendClientMessage(playerid, Vermelho, " - > Senha incorreta!");
return 1;
}
SendClientMessage(playerid, Verde, " - > Logado com sucesso!");
SetarDados(playerid);
return 1;
}
return 1;
}
public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
return 1;
}
stock Bolsa(playerid)
{
SetPlayerPos(playerid, 0, 0, 0);
GivePlayerMoney(playerid, 5000);
SendClientMessage(playerid, -1, "~~~~~~~~~~~~~~");
SendClientMessage(playerid, Verde, "- > Conta criada com sucesso!");
SendClientMessage(playerid, Amarelo, "- > Comandos ъteis: /Comandos /Regras /Admins /Ajuda.");
SendClientMessage(playerid, -1, "~~~~~~~~~~~~~~");
return 1;
}
stock SalvarDados(playerid)
{
new
Float:Colete,
Float:Vida,
Float:P[4];
GetPlayerArmour(playerid, Colete);
GetPlayerHealth(playerid, Vida);
GetPlayerPos(playerid, P[0], P[1], P[2]);
GetPlayerFacingAngle(playerid, P[3]);
format(String, sizeof(String), PastaP, pName(playerid));
dini_FloatSet(String, "X", P[0]);
dini_FloatSet(String, "Y", P[1]);
dini_FloatSet(String, "Z", P[2]);
dini_FloatSet(String, "A", P[3]);
dini_IntSet(String, "Dinheiro", GetPlayerMoney(playerid));
dini_IntSet(String, "Level", GetPlayerScore(playerid));
dini_FloatSet(String, "Vida", Vida);
dini_FloatSet(String, "Colete", Colete);
dini_IntSet(String, "Skin", GetPlayerSkin(playerid));
dini_IntSet(String, "Admin", Admin[playerid]);
return 1;
}
stock SetarDados(playerid)
{
format(String, sizeof(String), PastaP, pName(playerid));
SetPlayerHealth(playerid, dini_Float(String, "Vida"));
SetPlayerArmour(playerid, dini_Float(String, "Colete"));
GivePlayerMoney(playerid, dini_Int(String, "Dinheiro"));
Admin[playerid] = dini_Int(String, "Admin");
SetPlayerPos(playerid, dini_Float(String, "X"), dini_Float(String, "Y"), dini_Float(String, "Z"));
SetPlayerFacingAngle(playerid, dini_Float(String, "A"));
SetPlayerScore(playerid, dini_Int(String, "Level"));
SetPlayerSkin(playerid, dini_Int(String, "Skin"));
return 1;
}
stock Logar(playerid)
{
format(String, sizeof(String), "Olб, seja bem vindo.");
ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "Logue-se", String, "Logar", "Sair");
return 1;
}
stock Cadastrar(playerid)
{
format(String, sizeof(String), "Olб, seja bem vindo.");
ShowPlayerDialog(playerid, DIALOG_CADASTRAR, DIALOG_STYLE_INPUT, "Cadastre-se", String, "Cadastrar", "Sair");
return 1;
}
stock SendClientMessageCanal(cor, msg[])
{
for(new i; i < MAX_PLAYERS; i++)
{
if(Canal[i])
{
SendClientMessage(i, cor, msg);
}
}
return 1;
}
stock pName(id)
{
new
n[MAX_PLAYER_NAME];
GetPlayerName(id, n, sizeof(n));
return n;
}
a funзгo de chamar o dialog do login esta aonde ? esta na public onplayerrequestclass ?
|
public OnPlayerRequestClass(playerid, classid)
{
//Chame o dialog aqui.
return true;
}
public OnPlayerRequestSpawn(playerid)
{
return false;
}
Sу uma dъvida, esse OnPlayerRequestSpawn й a mesma coisa que OnPlayerSpawn ?
@edit Deu certo, mas depois que eu logo Fica na setas <> Spawn e quando clico em Spawn nгo aparece nada |
Sу uma dъvida, esse OnPlayerRequestSpawn й a mesma coisa que OnPlayerSpawn ?
@edit Deu certo, mas depois que eu logo Fica na setas <> Spawn e quando clico em Spawn nгo aparece nada |
Deu certo, mas depois que eu logo Fica na setas <> Spawn e quando clico em Spawn nгo aparece nada
|