Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //===========================================//
- //** System: GameMode Base DOF2 v1.5 ( http://forum.sa-mp.com/showthread.php?p=3824052 )
- //** Credits: Pedro Eduardo
- //===========================================//
- //======================================[ INCLUDE ]====================================||
- #include a_samp
- #include DOF2
- #include zcmd
- #include sscanf2
- #include Streamer
- //======================================[ DEFINE ]====================================||
- #undef MAX_PLAYERS
- #define MAX_PLAYERS 50
- #define DarMoney(%0,%1) ResetPlayerMoney(%0) && GivePlayerMoney(%0,%1)
- //======================================[ DIALOG ]====================================||
- #define DIALOG_REGISTER 0
- #define DIALOG_LOGIN 1
- //======================================[ Start ]======================================||
- main(){}
- enum pInfo
- {
- pAdmin,
- pSkin,
- pScore,
- pMoney,
- Float:pPosX,
- Float:pPosY,
- Float:pPosZ,
- Float:pPosA,
- pInterior,
- pVW,
- bool:pLogado
- }
- new
- Player[MAX_PLAYERS][pInfo],reset[pInfo],
- Conta[256]
- ;
- //=====================================[ CALLBACKS ]====================================||
- public OnGameModeInit()
- {
- print("\n ====================================================================");
- print(" | |");
- print(" | GameMode Base DOF2 Version 1.5 Started... |");
- print(" | |");
- print(" | * By Pedro Eduardo. * |");
- print(" | |");
- print(" ====================================================================\n");
- SetGameModeText("by Pedro Eduardo");
- UsePlayerPedAnims();
- ShowPlayerMarkers(PLAYER_MARKERS_MODE_STREAMED);
- ShowNameTags(1);
- SetNameTagDrawDistance(100.0);
- return 1;
- }
- public OnGameModeExit()
- {
- DOF2_Exit();
- return 1;
- }
- public OnPlayerRequestClass(playerid, classid)
- {
- IsPlayerLogged(playerid);
- return false;
- }
- public OnPlayerRequestSpawn(playerid) return IsPlayerLogged(playerid);
- IsPlayerLogged(playerid)
- {
- if(Player[playerid][pLogado] == true)
- {
- SetSpawnInfo(playerid,-1,Player[playerid][pSkin],Player[playerid][pPosX],Player[playerid][pPosY],Player[playerid][pPosZ],Player[playerid][pPosA],0,0,0,0,0,0);
- SpawnPlayer(playerid);
- SetPlayerInterior(playerid, 0);
- SetCameraBehindPlayer(playerid);
- }
- return 1;
- }
- public OnPlayerDeath(playerid, killerid, reason) //ao player morrer
- {
- //hospital
- Player[playerid][pPosX]=2034.1435;
- Player[playerid][pPosY]=-1402.1190;
- Player[playerid][pPosZ]=16.6299;
- Player[playerid][pPosA]=90.0;
- return 1;
- }
- public OnPlayerText(playerid, text[ ]) //player digitar um texto
- {
- if(Player[playerid][pLogado] == false) return SendClientMessage(playerid, 0x800040AA,"[>] Voce nao se conectou na cidade!"),false;
- if(strlen(text) > 100) return SendClientMessage(playerid, 0x800040AA,"[>] Nao escreva um texto muito longo!"),false;
- return 1;
- }
- public OnPlayerConnect(playerid) //ao player logar
- {
- Player[playerid][pLogado]=false;
- //=================================[ LOGIN/REGISTRO ]===============================||
- format(Conta, sizeof(Conta), "Contas/%s.ini", Name(playerid));
- if(!DOF2_FileExists(Conta))
- {
- ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, "Sign-up", "Digite uma senha, para fazer seu registro na cidade!", "Registrar", "Sair");
- }
- else
- {
- ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Sign-in", "Bem vindo ao LonqKase RP! \nEscreva uma senha abaixo para efetuar o login em sua conta.", "Entrar", "Sair");
- }
- //==================================================================================||
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason) //ao player deslogar
- {
- SalvarConta(playerid);
- //reset in variable's
- Player[playerid] = reset;
- return 1;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) //o que fazer quando clicar na opcao da dialog>
- {
- //=================================[ DIALOG_REGISTER ]==============================||
- if(dialogid == DIALOG_REGISTER)
- {
- if(!response) return Kick(playerid);
- if(strlen(inputtext) < 4) return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, "Sign-up", "Digite uma senha, para fazer seu registro na cidade!", "registrar", "sair");
- if(response)
- {
- if(strlen(inputtext))
- {
- format(Conta, sizeof(Conta), "Contas/%s.ini", Name(playerid));
- DOF2_CreateFile(Conta);
- DOF2_SetString(Conta, "Password", inputtext);
- DOF2_SaveFile();
- CriarConta(playerid);
- CarregarConta(playerid);
- }
- else ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, "Sign-up", "Digite uma senha, para fazer seu registro na cidade!", "registrar", "Sair");
- }
- return 1;
- }
- //=================================[ DIALOGO LOGIN ]==============================||
- if(dialogid == DIALOG_LOGIN)
- {
- if(!response) return Kick(playerid);
- if(response)
- {
- if(!strlen(inputtext))
- {
- return ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, "Sign-in", "Bem vindo ao LonqKase RP! \nEscreva uma senha abaixo para efetuar o login em sua conta.","entrar", "sair");
- }
- format(Conta, sizeof(Conta), "Contas/%s.ini", Name(playerid));
- if(strcmp(inputtext, DOF2_GetString(Conta, "Password"), true))
- {
- ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, "Sign-in", "Bem vindo ao LonqKase RP! \nEscreva uma senha abaixo para efetuar o login em sua conta.","entrar", "sair");
- SendClientMessage(playerid, 0x800040AA, "[>] A senha esta incorreta, tente novamente!");
- }
- else //se acertar a senha
- {
- CarregarConta(playerid);
- }
- }
- return 1;
- }
- return 1;
- }
- public OnPlayerSpawn(playerid)
- {
- SetPlayerSkin(playerid, Player[playerid][pSkin]);
- DarMoney(playerid,Player[playerid][pMoney]);
- TogglePlayerControllable(playerid,true);
- return 1;
- }
- //=============================[Comandos]==============================================||
- CMD:mudarsenha(playerid,params[])
- {
- new KinG1[48 + 42];
- if(isnull(params)) return SendClientMessage(playerid, 0xC0C0C0AA, "[>] Use: /mudarsenha [nova senha]");
- format(Conta, sizeof(Conta), "Contas/%s.ini", Name(playerid));
- DOF2_SetString(Conta, "Password", params);
- DOF2_SaveFile();
- format(KinG1, sizeof(KinG1), "[>] Sua nova senha e {12FF05}'%s'",params);
- SendClientMessage(playerid, -1, KinG1);
- return 1;
- }
- CMD:mudarnick(playerid,params[])
- {
- new KinG1[46+24+24], KinG2[40];
- if(isnull(params)) return SendClientMessage(playerid, 0xC0C0C0AA, "[>] Use: /mudarnick [novo nick]");
- format(Conta, sizeof(Conta), "Contas/%s.ini", Name(playerid));
- if(!DOF2_FileExists(Conta))
- {
- format(KinG1, sizeof(KinG1), "[>] O Jogador '%s' mudou o nome para '%s'", Name(playerid),params);
- SendClientMessageToAll(-1, KinG1);
- format(KinG2, sizeof(KinG2), "Contas/%s.ini", params);
- DOF2_RenameFile(Conta, KinG2);
- SetPlayerName(playerid, params);
- }
- else SendClientMessage(playerid, 0xC0C0C0AA, "[>] Desculpe.. mais este nome já está sendo utilizado");
- return 1;
- }
- CMD:setadming(playerid, params[])
- {
- new id;
- if(sscanf(params, "ud", id, Player[id][pAdmin])) return SendClientMessage(playerid, 0xC0C0C0AA,"[>] Use: /setadming [ID] [level-admin]");
- if(!IsPlayerConnected(id)) return SendClientMessage(playerid, 0x800040AA,"[>] O Jogador nao esta conectado");
- if(Player[id][pAdmin] > 3) return SendClientMessage(playerid, 0xC0C0C0AA,"[>] level-admin [0-3]");
- SendClientMessage(id, 0x008000AA,"[>] Agora voce e um administrador! :D");
- return 1;
- }
- CMD:setskin(playerid ,params[])
- {
- if(Player[playerid][pAdmin] == 0) return SendClientMessage(playerid, 0x800040AA, "[>] Voce nao pode utilizar este comando!");
- new id,KinG1[38 + 4];
- if(sscanf(params, "ud", id, Player[id][pSkin])) return SendClientMessage(playerid,-1,"[ ERROR ] Use: /SetSkin [ID] [skin]");
- if(!IsPlayerConnected(id)) return SendClientMessage(playerid, 0xC0C0C0AA,"[>] O Jogador nao esta conectado");
- if(Player[id][pSkin] > 311) return SendClientMessage(playerid, 0x800040AA,"[>] Skin validas [0-311]");
- format(KinG1, sizeof(KinG1), "[>] sua skin mudou para %d", Player[id][pSkin]);
- SendClientMessage(id, -1, KinG1);
- return SetPlayerSkin(id,Player[id][pSkin]);
- }
- CMD:setscore(playerid ,params[])
- {
- if(Player[playerid][pAdmin] == 0) return SendClientMessage(playerid, 0x800040AA, "[>] Voce nao pode utilizar este comando!");
- new id,KinG2[32 + 11];
- if(sscanf(params, "ud", id, Player[id][pScore])) return SendClientMessage(playerid, 0xC0C0C0AA,"[>] Use: /setscore [ID] [score]");
- if(!IsPlayerConnected(id)) return SendClientMessage(playerid, 0xC0C0C0AA,"[>] O Jogador nao esta conectado");
- format(KinG2, sizeof(KinG2), "[>] você recebeu %d Score", Player[id][pScore]);
- SendClientMessage(id, -1, KinG2);
- return SetPlayerScore(id,Player[id][pScore]);
- }
- CMD:setmoney(playerid, params[])
- {
- if(Player[playerid][pAdmin] == 0) return SendClientMessage(playerid, 0x800040AA, "[>] Voce nao pode utilizar este comando!");
- new id,KinG1[28 + 11];
- if(sscanf(params, "ud", id, Player[id][pMoney])) return SendClientMessage(playerid, 0xC0C0C0AA,"[>] Use: /setmoney [ID] [money]");
- if(!IsPlayerConnected(id)) return SendClientMessage(playerid, 0xC0C0C0AA,"[>] O Jogador nao esta conectado!");
- format(KinG1, sizeof(KinG1), "[ SERVER ] você recebeu %d R$", Player[id][pMoney]);
- SendClientMessage(id, -1, KinG1);
- DarMoney(id,Player[id][pMoney]);
- return 1;
- }
- CMD:limparchat(playerid)
- {
- if(Player[playerid][pAdmin] == 0) return SendClientMessage(playerid, 0x800040AA, "[>] Voce nao pode utilizar este comando!");
- for(new i = 0; i < 50; i++) SendClientMessageToAll(-1,"");
- return 1;
- }
- public OnPlayerCommandReceived(playerid, cmdtext[])
- {
- if(Player[playerid][pLogado] == false) return SendClientMessage(playerid, 0x800040AA, "[>] Voce nao esta logado!"),false;
- return 1;
- }
- public OnPlayerCommandPerformed(playerid, cmdtext[], success)
- {
- if(!success) return SendClientMessage(playerid, 0x800040AA, "[>] Voce digitou um comando nao existente, tente /ajuda para ve os comandos.");
- return 1;
- }
- CMD:ajuda(playerid)
- {
- new ajudaz[500];
- strcat(ajudaz,"Comando para jogadores\n");
- strcat(ajudaz,"/ajuda, /mudarSenha, /relatorio\n\n");
- strcat(ajudaz,"Comando para Roleplay\n");
- strcat(ajudaz,"/me (acao), /do (descrever, /b (ooc), /limparchat\n\n");
- return ShowPlayerDialog(playerid,7984, DIALOG_STYLE_MSGBOX, "comandos",ajudaz, "fechar", "");
- }
- //=====================================================================================||
- CriarConta(playerid)
- {
- format(Conta, sizeof(Conta), "Contas/%s.ini", Name(playerid));
- DOF2_SetInt(Conta, "Admin", 0);
- DOF2_SetInt(Conta, "Skin", 98);
- DOF2_SetInt(Conta, "Money", 500);
- DOF2_SetInt(Conta, "Score", 0);
- DOF2_SetFloat(Conta, "PosX", 2069.8767);
- DOF2_SetFloat(Conta, "PosY", -1766.6870);
- DOF2_SetFloat(Conta, "PosZ", 13.5621);
- DOF2_SetFloat(Conta, "PosA", 90.0);
- DOF2_SetInt(Conta, "Interior", 0);
- DOF2_SetInt(Conta, "VW", 0);
- DOF2_SaveFile();
- }
- CarregarConta(playerid)
- {
- format(Conta, sizeof(Conta), "Contas/%s.ini", Name(playerid));
- Player[playerid][pAdmin] = DOF2_GetInt(Conta, "Admin");
- Player[playerid][pSkin] = DOF2_GetInt(Conta, "Skin");
- Player[playerid][pMoney] = DOF2_GetInt(Conta, "Money");
- Player[playerid][pScore] = DOF2_GetInt(Conta, "Score");
- Player[playerid][pPosX] = DOF2_GetInt(Conta, "PosX");
- Player[playerid][pPosY] = DOF2_GetInt(Conta, "PosY");
- Player[playerid][pPosZ] = DOF2_GetInt(Conta, "PosZ");
- Player[playerid][pPosA] = DOF2_GetInt(Conta, "PosA");
- Player[playerid][pInterior] = DOF2_GetInt(Conta, "Interior");
- Player[playerid][pVW] = DOF2_GetInt(Conta, "VW");
- Player[playerid][pLogado]=true;
- SetPlayerScore(playerid, Player[playerid][pScore]);
- DarMoney(playerid, Player[playerid][pMoney]);
- SetPlayerInterior(playerid, Player[playerid][pInterior]);
- SetPlayerVirtualWorld(playerid, Player[playerid][pVW]);
- SetSpawnInfo(playerid, -1, Player[playerid][pSkin], Player[playerid][pPosX], Player[playerid][pPosY], Player[playerid][pPosZ], Player[playerid][pPosA],0,0,0,0,0,0);
- SpawnPlayer(playerid);
- }
- SalvarConta(playerid)
- {
- format(Conta, sizeof(Conta), "Contas/%s.ini", Name(playerid));
- GetPlayerPos(playerid, Player[playerid][pPosX], Player[playerid][pPosY], Player[playerid][pPosZ]);
- GetPlayerFacingAngle(playerid,Player[playerid][pPosA]);
- DOF2_SetInt(Conta, "Admin", Player[playerid][pAdmin]);
- DOF2_SetInt(Conta, "Skin", Player[playerid][pSkin]);
- DOF2_SetInt(Conta, "Money", Player[playerid][pMoney]);
- DOF2_SetInt(Conta, "Score", Player[playerid][pScore]);
- DOF2_SetFloat(Conta, "PosX", Player[playerid][pPosX]);
- DOF2_SetFloat(Conta, "PosY", Player[playerid][pPosY]);
- DOF2_SetFloat(Conta, "PosZ", Player[playerid][pPosZ]);
- DOF2_SetFloat(Conta, "PosA", Player[playerid][pPosA]);
- DOF2_SetInt(Conta, "Interior", GetPlayerInterior(playerid));
- DOF2_SetInt(Conta, "VW", GetPlayerVirtualWorld(playerid));
- DOF2_SaveFile();
- }
- Name(playerid)
- {
- new pNome[MAX_PLAYER_NAME];
- GetPlayerName(playerid, pNome, 24);
- return pNome;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement