02.04.2015, 21:33
To tentando tentando e nгo sei '-'
Bom e asim quando o player loga de primeiro ou quando morrer e voltar para o spawn, ser um spawn randonomico
E quando o player voltar no server sem ser morto e ja fo registrado voltar para codernada de onde deslogo
Bom e isso mais nгo to conseguindo fazer
Aguem ajuda ae ?
Bom e asim quando o player loga de primeiro ou quando morrer e voltar para o spawn, ser um spawn randonomico
E quando o player voltar no server sem ser morto e ja fo registrado voltar para codernada de onde deslogo
Bom e isso mais nгo to conseguindo fazer
Aguem ajuda ae ?
PHP код:
#include <a_samp>
#include <DOF2>
//Cores
#define COLOR_LBLUE 0x1E90FFFF
#define COLOR_ERROR 0xFF0000FF
//Kick & ban
#define KickP(%0) SetTimerEx("KickPlayer", 500, false, "i", %0)
//Player configs
#define CONTASS "Contas/%s.ini"
//Dialogs
#define D_Registrar 100
#define D_Logar 101
#define D_Sexo 102
// news
new Float:LugarX[MAX_PLAYERS];
new Float:LugarY[MAX_PLAYERS];
new Float:LugarZ[MAX_PLAYERS];
enum PlayerInfo
{
Skin,
Spawn,
Errosenha,
StatsSpawn,
};
new pInfo[MAX_PLAYERS][PlayerInfo];
//==================[VEICULOS ]================
//==================Spawns variados================
new Float:Spawnrandonplayers[11][3] = {
{690.2013,-467.9773,16.5363},
{-1546.1204,-2731.1055,48.5391},
{-1271.9763,2712.9788,50.2663},
{1354.9606,475.5364,20.1606},
{-41.8467,1179.1769,19.3797},
{-227.3263,985.0326,19.5998},
{1580.0342,-1635.5411,13.5604},
{1608.0400,-1670.4852,6.2188},
{-1617.0948,685.4459,7.1875},
{-1598.6437,734.0104,-4.9063},
{2264.9048,2445.0249,10.8203}
};
//================================================
main() { }
public OnGameModeInit()
{
AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
return 1;
}
public OnGameModeExit()
{
DOF2_Exit();
return 1;
}
public OnPlayerConnect(playerid)
{
pInfo[playerid][Errosenha] = 0;
SetPlayerColor(playerid, 0xFFFFFFFF);
//========================================
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
SalvarPlayer(playerid);
pInfo[playerid][Spawn] = 0;
pInfo[playerid][StatsSpawn] = 0;
pInfo[playerid][Errosenha] = 0;
return 1;
}
public OnPlayerRequestClass(playerid, classid)
{
//Login e registro
new pArquivos[50], String[256];
format(pArquivos, sizeof(pArquivos), CONTASS, PegarNome(playerid));
if(!DOF2_FileExists(pArquivos))
{
format(String, sizeof(String), "{FFFFFF}Bem vindo ao Essence DayZ \n\n{FFFFFF}Nome: {FF0000}%s \n\n{FFFFFF}Status: {FF0000}Registrado(a)", PegarNome(playerid));
ShowPlayerDialog(playerid, D_Registrar, DIALOG_STYLE_INPUT, "Registro (x)", String, "Registrar", "");
}
else
{
format(String, sizeof(String), "{FFFFFF}Bem vindo ao Essence DayZ \n\n{FFFFFF}Nome: {00FF04}%s \n\n{FFFFFF}Status: {00FF04}Registrado(a)", PegarNome(playerid));
ShowPlayerDialog(playerid, D_Logar, DIALOG_STYLE_PASSWORD, "Logando (x)", String, "Entrar", "Sair");
pInfo[playerid][Spawn] = 0;
}
return 1;
}
public OnPlayerRequestSpawn(playerid)
{
if(pInfo[playerid][StatsSpawn] == 0)
{
SendClientMessage(playerid, COLOR_ERROR, "Spere carregar ai Viado!");
return 0;
}
else
{
SpawnPlayer(playerid);
}
return 1;
}
public OnPlayerSpawn(playerid)
{
SetPlayerSkin(playerid, pInfo[playerid][Skin]);
switch(pInfo[playerid][Spawn])
{
case 0:
{
SetPlayerPos(playerid, LugarX[playerid], LugarY[playerid], LugarZ[playerid]);
SetPlayerVirtualWorld(playerid, 0);
SetCameraBehindPlayer(playerid);
}
case 1:
{
new Splay = random(sizeof(Spawnrandonplayers));
SetPlayerPos(playerid, Spawnrandonplayers[Splay][0], Spawnrandonplayers[Splay][1], Spawnrandonplayers[Splay][2]);
SetPlayerVirtualWorld(playerid, 0);
SetCameraBehindPlayer(playerid);
}
}
return 1;
}
//======================
public OnPlayerDeath(playerid, killerid, reason)
{
pInfo[playerid][Spawn] = 1;
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
//Registro
new pArquivos[50];
format(pArquivos, sizeof(pArquivos), CONTASS, PegarNome(playerid));
if(dialogid == D_Registrar)
{
if(response)
{
if(!strlen(inputtext)) return ShowPlayerDialog(playerid, D_Registrar, DIALOG_STYLE_PASSWORD, "{FFFFFF}Bem vindo ao Essence DayZ \n\n{FFFFFF}Nome: {FF0000}%s \n\n{FFFFFF}Status: {FF0000}Nao Registrado(a)", "Registro", "", PegarNome(playerid));
DOF2_CreateFile(pArquivos);
DOF2_SetString(pArquivos, "Senha", inputtext);
DOF2_SaveFile();
SalvarPlayer(playerid);
SpawnPlayer(playerid);
pInfo[playerid][Spawn] = 1;
ShowPlayerDialog(playerid, D_Sexo, DIALOG_STYLE_MSGBOX,"> Escolha seu Sexo <","Escolha seu Sexo:","Masculino","Feminino");
return 1;
}
SendClientMessage(playerid, COLOR_ERROR, "Voce foi kickado por nao se registrar!");
KickP(playerid);
}
//Login
if(dialogid == D_Logar)
{
if(response)
{
if(!strlen(inputtext))return ShowPlayerDialog(playerid,D_Logar,DIALOG_STYLE_PASSWORD, "{FFFFFF}Bem vindo ao Essence DayZ \n\n{FFFFFF}Nome: {00FF04}%s \n\n{FFFFFF}Status: {00FF04}Registrado(a)", "Entrar", "Sair", PegarNome(playerid));
if(!strcmp(DOF2_GetString(pArquivos, "Senha"), inputtext))
{
SendClientMessage(playerid, 0x00FF00FF, "Logado com susesso!");
CarregarPlayer(playerid);
SpawnPlayer(playerid);
pInfo[playerid][Spawn] = 0;
SetPlayerPos(playerid, LugarX[playerid], LugarY[playerid], LugarZ[playerid]);
return 1;
}
if(pInfo[playerid][Errosenha] == 2)
{
SendClientMessage(playerid, COLOR_ERROR, "Voce sera kickado apos errar 3 vezes!");
KickP(playerid);
return 1;
}
pInfo[playerid][Errosenha]++;
ShowPlayerDialog(playerid, D_Logar, DIALOG_STYLE_PASSWORD, "Logando (x)", "{FFFFFF}A senha esta errada.\nPor Favor tente novamente!", "Entrar", "Sair");
return 1;
}
KickP(playerid);
}
if(dialogid == D_Sexo)
{
if(response)
{
SendClientMessage(playerid,-1,"{261BF7}Voce escolheu o Sexo Masculino.");
SetPlayerSkin(playerid, 144);
}
else
{
SendClientMessage(playerid,-1,"{F71BDE}Voce escolheu o Sexo Feminino.");
SetPlayerSkin(playerid, 56);
}
}
return 1;
}
//=====================================================
//=================[STOCKS DO SERVIDOR]================
stock PegarNome(playerid)
{
new Name[MAX_PLAYER_NAME];
GetPlayerName(playerid, Name, MAX_PLAYER_NAME);
return Name;
}
stock SalvarPlayer(playerid)
{
new pArquivos[50];
format(pArquivos, sizeof(pArquivos), CONTASS, PegarNome(playerid));
if(DOF2_FileExists(pArquivos))
{
DOF2_SetInt(pArquivos, "Level", GetPlayerScore(playerid));
DOF2_SetInt(pArquivos, "Skin", GetPlayerSkin(playerid));
DOF2_SetInt(pArquivos, "Spawn", pInfo[playerid][Spawn]);
GetPlayerPos(playerid, LugarX[playerid], LugarY[playerid], LugarZ[playerid]);
DOF2_SetInt(pArquivos, "PozicaoX", LugarX[playerid]);
DOF2_SetInt(pArquivos, "PozicaoY", LugarY[playerid]);
DOF2_SetInt(pArquivos, "PozicaoZ", LugarZ[playerid]);
DOF2_SaveFile();
}
return 1;
}
stock CarregarPlayer(playerid)
{
new pArquivos[50];
format(pArquivos, sizeof(pArquivos), CONTASS, PegarNome(playerid));
if(DOF2_FileExists(pArquivos))
{
SetPlayerScore(playerid, DOF2_GetInt(pArquivos, "Level"));
SetPlayerSkin(playerid, DOF2_GetInt(pArquivos, "Skin"));
pInfo[playerid][Spawn] = DOF2_GetInt(pArquivos, "Spawn");
LugarX[playerid] = DOF2_GetInt(pArquivos, "PozicaoX");
LugarY[playerid] = DOF2_GetInt(pArquivos, "PozicaoY");
LugarZ[playerid] = DOF2_GetInt(pArquivos, "PozicaoZ");
}
return 1;
}
forward KickPlayer(playerid);
public KickPlayer(playerid)
{
Kick(playerid);
return 1;
}