Como são projetos antigos alguns como pegar a distância do jogador, correção de laços de repetição por jogador conectado, salvamento de dados, correção contra bugs ou exploits já são obsoletos, porém outros ainda são usados até hoje, se você ainda usa o foreach em algum projeto antigo substitua pelo y_interate ou uma das opções abaixo. https://github.com/pawn-lang/YSI-Include...iterate.md
forward Float:GetPlayerHealthEx(playerid);
public Float:GetPlayerHealthEx(playerid)
{
new Float:pVida;
GetPlayerHealth(playerid, pVida);
VBPlayer[playerid][vbVida] = pVida;
return Float:pVida;
}
C:\Users\AngolaScripter\Desktop\GameMods\FactualRJNOVA\gamemodes\SGNT.pwn(21069) : warning 208: function with tag result used before definition, forcing reparse
Ultimamente resolvi aprender o mysql para salvar dados da gamemode, quando aprendi pawn, o sistema de salvamento que aprendi inicialmente foi o ini(DOF2) resolvi criar uma gamemode mais complexas e percebi que utilizando o dof2 como único método de salvamento comecei a ficar limitado em muitas coisas.
Bom estudei faz um tempinho a linguagem SQL e já tenho um conhecimento do funcionamento da mesma, o que me deixou muitas duvidas foi ao implementar no samp, tem muitos exemplos nos fóruns que giram em torno de sistemas de login e registro porem sabemos que uma gamemode não é só login e registro, bom peguei uma gamemode em mysql para estudar que é a Paradise RPG é uma gamemode muito boa para estudos.
bom minhas duvidas são:
- Sou muito preso em DOF2 e queria saber quais funções do mysql "substituiriam" essas funções do DOF2:
- funções para obter dados salvos:
Código PHP:
DOF2::GetInt DOF2::GetString DOF2::GetBool
- funções para salvar dados:
Código PHP:
DOF2::SetInt DOF2::SetString DOF2::SetBool
- Se puderem me dar exemplos de códigos de salvamento em DOF2 e outro análogo só que em MySQL ajudará muito!
Obs: a questão das query eu ja sei como extrair do banco de dados o que me deixou confuso foram funções que aparentemente elas têm a mesma funcionalidade porem de nomenclaturas diferentes por exemplo:
- Aparentemente estas funções abaixo retornam valores inteiro dos bancos de dados:
Eu tenho um filterscript aqui que faz tempo que uso em meus projetos.. ele funciona basicamente quando um player tiver com uma arma proibida ele será kickado.
Código:
#include <a_samp>
new ArmaProibidaIDs[] = {9, 14, 15, 16, 17, 18, 26, 33, 35, 36, 37, 38, 39, 40}; // Lista de IDs de armas proibidas
public OnPlayerConnect(playerid)
{
return 1;
}
public OnPlayerUpdate(playerid)
{
if (EstaSegurandoArmaProibida(playerid))
{
SendClientMessage(playerid, -1, "Você está segurando uma arma proibida! Você foi expulso!");
Kick(playerid);
}
return 1;
}
forward EstaSegurandoArmaProibida(playerid);
public EstaSegurandoArmaProibida(playerid)
{
new idArma = GetPlayerWeapon(playerid);
for (new i = 0; i < sizeof(ArmaProibidaIDs); i++)
{
if (idArma == ArmaProibidaIDs[i])
return true;
}
Olá, hoje venho trazer um sistema que uso em meus projetos. O sistema detecta quando um jogador pega uma arma, como funciona? Você irá colocar o isWeaponPicked[playerid] = true; em algum comando que puxe arma, se caso alguém puxar uma arma sem ter usado o comando ele avisará resetara a arma do mesmo. Modifique o script conforme o necessário pro seu servidor! Espero ter ajudado.
Código:
#include <a_samp>
new isWeaponPicked[MAX_PLAYERS];
public OnPlayerConnect(playerid)
{
isWeaponPicked[playerid] = false; // Inicializa a variável para o jogador como falso
return 1;
}
public OnPlayerPickUpPickup(playerid, pickupid)
{
isWeaponPicked[playerid] = true; // Marca que o jogador pegou uma arma
return 1;
}
public OnPlayerUpdate(playerid)
{
if (!isWeaponPicked[playerid])
{
if (GetPlayerWeapon(playerid) != 0) // Verifica se o jogador tem uma arma na mão
{
SendClientMessageToAll(playerid, "[ANTI-CHEAT] O player pegou uma arma por metodo desconhecidos!");
ResetPlayerWeapons(playerid);
}
}
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
isWeaponPicked[playerid] = false; // Reinicializa a variável quando o jogador morre
return 1;
}
CMD:pegararma(playerid)
{
SendClientMessage(playerid, "Voce pego uma arma pelo comando: teste");
isWeaponPicked[playerid] = true; // Funcao True para liberar a arma do player que puxo pelo comando
return 1:
Sou um novato no mundo da programação, estou apreendendo aos poucos as funções e me deparei com o tal do foreach e do iterator.
Eu sei que não são nativos da linguagem pawn, foram desenvolvidos pela comunidade, mas eu queria saber sobre eles.
O que é um Foreach, quais seus parâmetros para ser usado, e por que usa-lo.
O que é um Iterator, quais seus parâmetros para ser usado, e por que usa-lo.
Amigos, eu queria saber as funções da biblioteca y_ini, porém não achei nada no GitHub, não tem nenhuma informação...
Alguém tem disponível, esta documentação?
Eu queria saber para que as funções servem, explicando os parâmtros.