Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Não adianta mudar os creditos não foi você que fez!
- Warp System Versão 1.1
- Não use espaços na warp
- Obs: para usar /setwarp precisa estar logado na RCON
- */
- #include a_samp // By SA-MP Team
- #include zcmd // by Zeex
- #include sscanf2 // by
- #include bini // By ipsBruno
- #define save "warps.ini" // local do arquivo onde as warps são salvas
- #define WARPPREFIX "{FFFF00}[WARP]:{00FF00} " // Prefix das mensagens do sistema
- /////////////////////////////////////////////////////////////////////////////////
- static string[256]; // não reclame de ter tantas celulas! lembrece do ~/warps
- /////////////////////////////////////////////////////////////////////////////////
- public OnFilterScriptInit()
- {
- if(!fexist(save)) // verifica se o arquivo onde se salva as warps existe
- {
- print("\n--------------------------------------");
- INI_Create(save); // se não existe ele vai criar o arquivo
- INI_WriteString(save, "WARPLISTALL", "Warps: ");
- INI_Save(); // salva o arquivo criado
- printf("[WARP]: %s / Criado",save); // se ele for criado vai aparecer isto no log
- print("\n--------------------------------------");
- }
- print("\n--------------------------------------");
- print(" Warp System By [$]_Red_[MF] Loaded");
- print(" Server 167.114.42.20:7762"); // meu server :D
- print("--------------------------------------\n");
- return 1;
- }
- /////////////////////////////////////////////////////////////////////////////////
- public OnFilterScriptExit()
- {
- INI_Exit();// salvar arquivos não salvos OBS: acho que e isso ne!
- return 1;
- }
- /////////////////////////////////////////////////////////////////////////////////
- CMD:setwarp(playerid, params[])
- {
- if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, ""#WARPPREFIX"Há malandro você não tem permisão para usar este comando!");
- if(IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, -1, ""#WARPPREFIX"Por favor saia do veiculo!");
- new warp[50]; // não pode ser static
- if(sscanf(params, "s[50]", warp)) return SendClientMessage(playerid, -1, ""#WARPPREFIX"Use: /SetWarp <WarpName>");
- INI_Open(save);
- INI_WriteInt(save, warp, 1);
- // atualiza a lista de warps
- format(string, sizeof string, "%s, %s", INI_ReadString(save, "WARPLISTALL"), warp);
- INI_WriteString(save, "WARPLISTALL", string);
- // seta as cordenas
- static Float:x, Float:y, Float:z, ST[50];
- GetPlayerPos(playerid, x, y, z);
- format(ST, sizeof ST, "%s_WARPPOS_X", warp);
- INI_WriteFloat(save, ST, x);
- format(ST, sizeof ST, "%s_WARPPOS_Y", warp);
- INI_WriteFloat(save, ST, y);
- format(ST, sizeof ST, "%s_WARPPOS_Z", warp);
- INI_WriteFloat(save, ST, z);
- format(ST, sizeof ST, "%s_INTERIOR_W", warp);
- INI_WriteFloat(save, ST, GetPlayerInterior(playerid));
- format(ST, sizeof ST, "%s_WORLD_W", warp);
- INI_WriteFloat(save, ST, GetPlayerVirtualWorld(playerid));
- INI_Save();// salva o arquivo
- format(string, sizeof string, ""#WARPPREFIX"Warp {FF0000}%s {00FF00}criada use {FFFFFF}/warp %s {00FF00} para ir ate ela!", warp, warp);
- SendClientMessage(playerid, -1, string);//avisa que a warp foi feita
- return 1;
- }
- /////////////////////////////////////////////////////////////////////////////////
- CMD:warp(playerid, params[])
- {
- new warp[50]; // não pode ser static
- if(sscanf(params, "s[50]", warp)) return SendClientMessage(playerid, -1, ""#WARPPREFIX"Use: /Warp <WarpName>");
- if(INI_ReadInt(save, warp) == 0) return SendClientMessage(playerid, -1, ""#WARPPREFIX"Essa warp não existe {FFFFFF}use: /warps {00FF00}para ver a lista de warps");
- static Float:x, Float:y, Float:z, ST[50], Interior, World;
- // geta as cordenasdas
- format(ST, sizeof ST, "%s_WARPPOS_X", warp);
- x = INI_ReadFloat(save, ST);
- format(ST, sizeof ST, "%s_WARPPOS_Y", warp);
- y = INI_ReadFloat(save, ST);
- format(ST, sizeof ST, "%s_WARPPOS_Z", warp);
- z = INI_ReadFloat(save, ST);
- format(ST, sizeof ST, "%s_INTERIOR_W", warp);
- Interior = INI_ReadInt(save, ST);
- format(ST, sizeof ST, "%s_WORLD_W", warp);
- World = INI_ReadInt(save, ST);
- if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)// se o player estiver em um carro o carro e teleportado
- {
- SetVehiclePos(GetPlayerVehicleID(playerid),x ,y, z+3);
- SetVehicleVirtualWorld(GetPlayerVehicleID(playerid), World);
- SetPlayerInterior(playerid, Interior);
- SetCameraBehindPlayer(playerid);
- }
- else // se não tiver so ela vai ser teleportada
- {
- SetPlayerPos(playerid,x, y, z+1);
- SetPlayerInterior(playerid, Interior);
- SetCameraBehindPlayer(playerid);
- }
- format(string, sizeof string, ""#WARPPREFIX"Teleportado para warp {FF0000}%s{FFFFFF}!", warp);
- SendClientMessage(playerid, -1, string);
- return 1;
- }
- /////////////////////////////////////////////////////////////////////////////////
- CMD:warps(playerid, params[])
- {
- SendClientMessage(playerid, -1, "{00FF00}===============================================================================");
- format(string, sizeof string, "%s", INI_ReadString(save, "WARPLISTALL"));
- SendClientMessage(playerid, -1, string);
- SendClientMessage(playerid, -1, "{00FF00}===============================================================================");
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement