RE: Códigos Úteis - Lightz/Conta nova - 04/09/2021
Teleportar-se para um local marcando pelo mapa.
Código PHP: public OnPlayerClickMap(playerid, Float:fX, Float:fY, Float:fZ) { SetPlayerPosFindZ(playerid, fX, fY, fZ); return 1; }
Tag's Administrativas - Brvay - 13/12/2021
Tags administrativas no chat.
Troque as variaveis pelas suas criadas em sua gamemode.
Código PHP: public OnPlayerText(playerid, text[]) { new str[90];
if(Player[playerid][Admin] > 0 || Player[playerid][AdminTemp] > 0) { format(str, 90, "%s(%d) [%s{FFFFFF}]: %s", Nome(playerid), playerid, NomeAdmin(Player[playerid][Admin] || Player[playerid][AdminTemp]), text); SendClientMessageToAll(0xffffffff, str); return 0; } else { format(str, 90, "%s(%d): %s", Nome(playerid), playerid, text); SendClientMessageToAll(0xffffffff, str); } return 0; }
Código PHP: NomeAdmin(niveladmin) { new str[25];
switch(niveladmin) { case 1: format(str, 25, "{6960EC}Ajudante"); case 2: format(str, 25, "{6960EC}Moderador"); case 3: format(str, 25, "{6960EC}Administrador"); case 4: format(str, 25, "{6960EC}Gerente"); case 5: format(str, 25, "{6960EC}Dono"); default: format(str, 25, ""); } return str; }
sistema de algemar e prender por id fixo - hey - 14/12/2021
Ola Eu Sei q é um Comando Simples Para Pessoas Mais Experientes no Samp Mas Pode Ser Util Para Iniciantes
Vc Pode Adaptar Do Jeito q Quiser
Como Ainda n Testei Este Codigo Pode Ser q Tenha Lacunas Mas Coisa Basica q um Novato pd Consertar
Código: #include <Zcmd>
#include <sscanf2>
#include <streamer>
new gang[MAX_PLAYERS]; // pode colocar profissoes se quiser
#define policia 0
CMD:algemar(playerid, params[])
{
new ID, Motivo;
new Float:x, Float:y, Float:z;
GetPlayerPos(ID, x,y,z);
if(IsPlayerInRangeOfPoint(playerid, 2.0, x,y,z))
{
if(gang[playerid] == policia)
{
if(sscanf(params,"ds", ID, Motivo)) return SendClientMessage(playerid, 0xFF0000AA, "Modo de Uso: /algemar [ID] [Motivo]");
SetPlayerAttachedObject(ID, 4, 19418, 6, -0.031999, 0.024000, -0.024000, -7.900000, -32.000011, -72.299987, 1.115998, 1.322000, 1.406000);
SetPlayerSpecialAction(ID, 24);
TogglePlayerControllable(ID, 0);
}
}
GameTextForPlayer(ID, "~r~ ALGEMADO!", 5000, 5);
return 1;
}
Desalgemar
Código: CMD:desalgemar(playerid, params[])
{
if(gang[playerid] == policia)
{
new Float:x, Float:y, Float:z;
new id;
GetPlayerPos(id, x,y,z);
if(IsPlayerInRangeOfPoint(playerid, 2.0, x,y,z))
{
new ID, Motivo[23];
if(sscanf(params,"ds", ID, Motivo)) return SendClientMessage(playerid, 0xFF0000AA, "Modo de Uso: /desalgemar [ID] [Motivo]");
ClearAnimations(ID);
RemovePlayerAttachedObject(ID,4);
SetPlayerSpecialAction(ID, SPECIAL_ACTION_NONE);
TogglePlayerControllable(ID, 1);
GameTextForPlayer(ID, "~g~ DESALGEMADO!", 5000, 5);
}
}
return 1;
}
agora o sistema de prender Eu optei Por n Colocar Timer pra o codigo n ficar extenso mas vc pode adaptar o sistema de colocar timer.
Código: CMD:prender(playerid, params[])
{
new ID, Motivo[23];
new Float:x, Float:y, Float:z;
GetPlayerPos(ID, x,y,z);
if(IsPlayerInRangeOfPoint(playerid, 2.0, x,y,z))
{
new pname[MAX_PLAYER_NAME], string[22 + MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, sizeof(pname));
format(string, sizeof(string), "O Policial %s Fez Uma Prisão.", pname);
SendClientMessageToAll(COR_POLICIA, string);
if(gang[playerid] == policia)
{
SetPlayerInterior(ID, 6);
SetPlayerPos(ID, 265.0008,77.6659,1001.0391);
GameTextForPlayer(ID, "~g~ PRESO!", 5000, 5);
TogglePlayerControllable(ID, 1);
SetPlayerHealth(ID, 54546546556484);
}
}
{
if(sscanf(params,"ds", ID, Motivo)) return SendClientMessage(playerid, 0xFF0000AA, "Modo de Uso: /prender [ID] [Motivo]");
}
return 1;
}
mensagem de comando invalido - hey - 14/12/2021
este é um comando q eu quando era iniciante sofri bastante pra criar mas tá ai vi q muita gente tem duvida sobre isso ate hoje então porq n ajudar neh
Código: public OnPlayerCommandPerformed(playerid, cmdtext[], success) // esta callback n e padrao do samp entao crie no fim da gm
{
new string [124];
format(string,sizeof(string), "{FF0000}| ERRO | Este Comando Não Existe No Servidor!", cmdtext);
if(!success) return SendClientMessage(playerid, -1, string);
return true;
}
espero ter ajudado
RE: Códigos Úteis - AztecaJr - 19/12/2021
Vejo que vários APKs não tem chatkill, ou então quando tem é invertido.
Pensando nisso, resolvi desenvolver esse sisteminha básico:
Código PHP: //CHAT KILL PARA ANDROID public OnPlayerDeath(playerid,killerid,reason) { new dm[200],nomek[MAX_PLAYER_NAME+1],nomem[MAX_PLAYER_NAME+1],weapon[78], arma = GetWeaponName(reason, weapon, sizeof weapon); if(IsPlayerConnected(killerid)) //verifica se o player não se suicidou { for(new i; i < MAX_PLAYERS; i++) { if(IsPlayerConnected(i) && IsPlayerAndroid(i)) {
GetPlayerName(killerid, nomek, sizeof(nomek)); GetPlayerName(playerid, nomem, sizeof(nomem)); format(dm,200,"%s matou %s [%s]",nomek,nomem,arma); SendClientMessage(i,-1, dm); } } } return 1; }
RE: Códigos Úteis - Sysner - 31/12/2021
Código: // Essa função pesquisa os Nicks de jogador logado, retorna o ID do jogador se encontrar... senão acha retorna -1
stock findnomeplayer(nickplayer[]){
new stringCmp[24], IntnameCmp = 0, MaxIntnameCmp = 0;
new nameCmp[24];
for(new i = 0; i < MAX_PLAYERS; i++){
if(IsPlayerConnected(i)){
//SendClientMessageToAll(0xEBEB00F6, nickplayer);
format(nameCmp, 24, "%s", InfoPlayer[i][nome]);
//SendClientMessageToAll( 0xEBEB00F6, nameCmp);
if(strfind(nameCmp, nickplayer, true) != -1){
IntnameCmp = strfind(nameCmp, nickplayer, true);
//format(stringCmp, 24,"%i",IntnameCmp);
//SendClientMessageToAll(0xEBEB00F6, stringCmp);
MaxIntnameCmp = strlen(nickplayer);
//format(stringCmp, 24,"%i",MaxIntnameCmp);
//SendClientMessageToAll(0xEBEB00F6, stringCmp);
strmid(stringCmp, nameCmp, IntnameCmp, MaxIntnameCmp);
//SendClientMessageToAll(0xEBEB00F6, stringCmp);
return i;
}
}
}
return -1;
}
// By Sysner
Útil para procurar um ID pelo Nick, sem ser necessário informar o Nick inteiro
Isso pode ser usado no seu comando /id por exemplo...
RE: Códigos Úteis - White_Blue - 25/03/2022
Vim trazer um código que nunca vi em nenhum lugar um código para pegar determinado dia da semana pode ser útil para um sistema de payday por exemplo a cada segunda você da o payday mas tá ai: stock GetWeekDay()
{
new WeekDay[20];
switch(((gettime()+334800)/86400-(gettime()+334800)/86400/7*7))
{
case 0: WeekDay = "Domingo";
case 1: WeekDay = "Segunda-Feira";
case 2: WeekDay = "Terça-Feira";
case 3: WeekDay = "Quarta-Feira";
case 4: WeekDay = "Quinta-Feira";
case 5: WeekDay = "Sexta-Feira";
case 6: WeekDay = "Sábado";
}
return WeekDay;
}
RE: Códigos Úteis - Carlos Victor - 26/03/2022
Função para remover uma arma específica de um jogador.
Código PHP: RemovePlayerWeaponID(playerid, weaponid) { new weapons[13][2];
for(new i; i < 13; i++) GetPlayerWeaponData(playerid, i, weapons[i][0], weapons[i][1]);
ResetPlayerWeapons(playerid);
for(new i; i < 13; i++) if(weapons[i][0] != 0 && weapons[i][0] != weaponid) GivePlayerWeapon(playerid, weapons[i][0], weapons[i][1]); return 1; }
Uso:
RemovePlayerWeaponID(playerid, 24) > Removerá a arma ID 24(Desert Eagle) do playerid.
by: nyft
SetPlayerVehiclePos - Rodrigo - 17/04/2022
Bom, fiz uma stock em que consiste você setar um jogador em um determinado veiculo, pelo seu ID. Recomendo utilizar em servidores como de exemplo um que seja no estilo DAYZ, pois você deverá colocar um ID de veiculo válido para ir até ele, é bom para usar em caso de perdas de veículos pelo mapa, ou algum tipo de hack.
Código: stock SetPlayerVehiclePos(playerid, vehicleid)
{
new Float:pos[3];
if(!IsValidVehicle(vehicleid)) return SetPlayerPos(playerid, 0.0, 0.0, 0.0);
GetVehiclePos(vehicleid, pos[0], pos[1], pos[2]);
SetPlayerPos(playerid, pos[0], pos[1], pos[2]+1);
SetPlayerVirtualWorld(playerid, GetVehicleVirtualWorld(vehicleid));
return 1;
}
Caso apareça algum erro dizendo que a função IsValidVehicle está indefinida, ponha a seguinte linha de código em sua gamemode:
Código: #if !defined IsValidVehicle
native IsValidVehicle(vehicleid);
#endif
RE: Códigos Úteis - White_Blue - 21/04/2022
função para admins teleportaram para a localização marcada no mapa
[quote pid="6078" dateline="1630762336"]
Código PHP: public OnPlayerClickMap(playerid, Float:fX, Float:fY, Float:fZ) { SetPlayerPosFindZ(playerid, fX, fY, fZ); return 1; }
[/quote]
Código: public OnPlayerClickMap(playerid, Float:fX, Float:fY, Float:fZ)
{
if(!IsPlayerInAnyVehicle(playerid))
{
if(!IsPlayerAdmin(playerid)) return 1;
SetPlayerPos(playerid, fX, fY, fZ), SetPlayerInterior(playerid, 0);
} else
{
SendClientMessage(playerid, -1, "| ERRO | Saia do seu veículo para teleportar-se a localização marcada no mapa!");
}
return 1;
}
Funciona sem o bug do SetPlayerPosFindZ que o player atravessa o chão e 1 pouco melhorado com a função funcionando somente para admins logados na rcon e alguma melhoria ali
código para criar callbacks sem precisar dar o foward
Código PHP: #define function%0(%1) forward %0(%1); public %0(%1)
exemplo:
Código PHP: public OnPlayerSpawn(playerid) { SetTimer("spawn", 1000, false); return 1; }
function spawn(playerid) { SpawnPlayer(playerid); SendClientMessage(playerid, -1, "Você spawnou :)"); return 1; }
|