s_utils.inc - Adiзгo de novas func. para scripting -
- Uma include que adiciona novas funзхes para simplificar e ajudar na hora de escrever alguns cуdigos.
- Funзгo para verificar estados do jogador.
- Funзгo para verificar distвncia do jogador entre algum objeto/jogador.
Код:
1.0: Primeira versгo.
1.1: Documentaзгo do cуdigo, novas funзхes: GetVehicleDistanceFromVehicle(),
RemovePlayerSlotWeapon(), GetVehicleDriver(), GetFreeVehicleSeat(),
IsValidSkin(), IsAValidRPName(), GetPlayerRPName(playerid),
IsPlayerSpectating() e IsPlayerPassenger(), correзхes e melhorias.
pawn Код:
native SetPlayerPosEx(playerid, Float:x, Float:y, Float:z, Float:a);
native IsPlayerInRangeOfVehicle(playerid, vehicleid, Float: radius);
native GetVehicleDistanceFromVehicle(vehicleid, vtargetid);
native GetPlayerDistanceFromVehicle(playerid, vehicleid);
native GetPlayerDistanceFromPlayer(playerid, targetid);
native TeleportPlayerToVehicle(playerid, vehicleid);
native TeleportPlayerToPlayer(playerid, targetid);
native SendAdminMessage(color, const message[]);
native RemovePlayerSlotWeapon(playerid, slotid);
native SetVehicleInterior(vehicleid, interior);
native GivePlayerWantedLevel(playerid, level);
native RemovePlayerWeapon(playerid, weaponid);
native GetVehicleEngineStatus(vehicleid);
native SetPlayerMoney(playerid, money);
native GetPlayerFacingAnglef(playerid);
native GetFreeVehicleSeat(vehicleid);
native GetPlayerWeaponName(playerid);
native GetVehicleHealthf(vehicleid);
native GetVehicleZAnglef(vehicleid);
native FreezePlayer(playerid, time);
native IsVehicleOccupied(vehicleid);
native IsPlayerPassenger(playerid);
native ClearPlayerScreen(playerid);
native GetVehicleDriver(vehicleid);
native GetPlayerArmourf(playerid);
native GetPlayerHealthf(playerid);
native IsPlayerSwimming(playerid);
native IsVehicleLocked(vehicleid);
native GetVehicleName(vehicleid);
native GetPlayerRPName(playerid);
native UnlockVehicle(vehicleid);
native GetWeaponNamef(weaponid);
native GetPlayerNamef(playerid);
native IsPlayerDriver(playerid);
native GetPlayerIpf(playerid);
native LockVehicle(vehicleid);
native FlipVehicle(vehicleid);
native IsAValidRPName(name);
native IsValidSkin(skinid);
Nome | Funзгo | Retorna |
SetPlayerPosEx | Adiciona parвmetros a funзгo SetPlayerPos | Esta funзгo nгo retorna um valor especнfico |
IsPlayerInRangeOfVehicle | Checar se jogador estб prуximo a um veнculo (radius) | 1 caso sim, 0 caso nгo |
GetVehicleDistanceFromVehicle | Obter a distвncia entre dois veнculos | A distвncia entre os veнculos (float) |
GetPlayerDistanceFromVehicle | Obter a distвncia entre um jogador e um veнculo | A distвncia entre ambos (float) |
GetPlayerDistanceFromPlayer | Obter a distвncia entre dois jogadores | A distвncia entre os jogadores (float) |
TeleportPlayerToVehicle | Teleporta um jogador p/ um veнculo | Esta funзгo nгo retorna um valor especнfico |
TeleportPlayerToPlayer | Teleporta um jogador p/ outro jogador. | Esta funзгo nгo retorna um valor especнfico |
SendAdminMessage | Envia uma mensagem para admins RCON | Esta funзгo nгo retorna um valor especнfico |
RemovePlayerSlotWeapon | Remove qualquer arma de um slot(0-12) do jogador | 0 caso jogador ou slot invбlido |
SetVehicleInterior | Redefiniзгo de LinkVehicleToInterior | Esta funзгo nгo retorna um valor especнfico |
GivePlayerWantedLevel | Acrescenta nнvel de procurado a um jogador | Esta funзгo nгo retorna um valor especнfico |
RemovePlayerWeapon | Remove uma arma(0-46) especнfica de um jogador | 0 caso jogador ou arma invбlida |
GetVehicleEngineStatus | Obter estado do motor do veнculo | 1 caso desligado, 0 caso desligado |
SetPlayerMoney | Define a quantia de dinheiro do jogador | Esta funзгo nгo retorna um valor especнfico |
GetPlayerFacingAnglef | Obtйm o вngulo do jogador, sem uma var. intermediбria | O вngulo do jogador (float) |
GetFreeVehicleSeat | Obter o prуximo assento livre de um veнculo | O prуximo assento livre de um veнculo (int) |
GetPlayerWeaponName | Obter o nome da arma atual do jogador | O nome da arma do jogador (string) |
GetVehicleHealthf | Obter a saъde de um veнculo, sem uma var. intermediбria | A saъde do veнculo (float) |
GetVehicleZAnglef | Obter a вngulo de um veнculo, sem uma var. intermediбria | O вngulo do veнculo (float) |
FreezePlayer | Congelar um jogador por um determinado perнodo (em ms) | Esta funзгo nгo retorna um valor especнfico |
IsVehicleOccupied | Verificar se um veнculo estб ocupado com algum jogador | 1 caso sim, 0 caso nгo |
IsPlayerPassenger | Verificar se um jogador й passageiro de algum veнculo | 1 caso sim, 0 caso nгo |
ClearPlayerScreen | Limpar o chat de algum jogador | Esta funзгo nгo retorna um valor especнfico |
GetVehicleDriver | Obter do id do motorista de algum veнculo | O id do motorista, INVALID_PLAYER_ID caso nenhum |
GetPlayerArmourf | Obter o colete de um jogador, sem uma var. intermediбria | O colete do jogador (float) |
GetPlayerHealthf | Obter a saъde de um jogador, sem uma var. intermediбria | A saъde do jogador (float) |
IsPlayerSwimming | Verificar se um jogador estб nadando (via anim) | 1 caso sim, 0 caso nгo |
IsVehicleLocked | Verificar se um veнculo estб trancado | 1 caso sim, 0 caso nгo |
GetVehicleName | Obter o nome de um veнculo | O nome do veнculo (string) |
GetPlayerRPName | Verificar se o nome do jogador й um nome RP vбlido | 1 caso sim. 0, 2, 3, 4, 5 caso nгo |
UnlockVehicle | Destrancar um veнculo | Esta funзгo nгo retorna um valor especнfico |
GetWeaponNamef | Obter o nome de uma arma, sem uma var. intermediбria | O nome da arma (string) 18,44,45 inclusos |
GetPlayerNamef | Obter o nome de um jogador, sem uma var. intermediбria | O nome do jogador (string) |
IsPlayerDriver | Verificar se um jogador й um motorista | 1 caso sim, 0 caso nгo |
GetPlayerIpf | Obter o IP de um jogador, sem uma var. intermediбria | O IP do jogador (string) |
LockVehicle | Trancar um veнculo | Esta funзгo nгo retorna um valor especнfico |
FlipVehicle | Desvirar um veнculo | Esta funзгo nгo retorna um valor especнfico |
IsAValidRPName | Verifica se um nome й um nome RP vбlido | 1 caso sim. 0, 2, 3, 4, 5 caso nгo |
IsValidSkin | Verifica se uma skin й vбlida | 1 caso sim. 0 caso nгo |
pawn Код:
#include <s_utils>
public OnPlayerConnect( playerid )
{
switch(GetPlayerRPName(playerid))
{
case 0: SendClientMessage(playerid, -1, "Seu nome nгo tem um underline!");
case 1: SendClientMessage(playerid, -1, "Seu estб ok!");
case 2: SendClientMessage(playerid, -1, "Seu nome contйm nъmeros!");
case 3: SendClientMessage(playerid, -1, "Seu nome precisar iniciar com letra maiuscula!");
case 4: SendClientMessage(playerid, -1, "Seu sobrenomenome precisar iniciar com letra maiuscula!");
case 5: SendClientMessage(playerid, -1, "Apenas as inicias de seu nome devem ser maнuscula!");
}
return 1;
}
CMD:setskin(playerid, params[])
{
if(!IsValidSkin(strval(params)))
SendClientMessage(playerid, -1, "Skin invбlida!");
SetPlayerSkin(playerid, strval(params));
return 1;
}
Re: s_utils.inc - Adiзгo de novas func. para scripting -
Re: s_utils.inc - Adiзгo de novas func. para scripting -
Re: s_utils.inc - Adiзгo de novas func. para scripting -
Nгo era necessбria a operaзгo ternбria, bastava retornar a condicional. Enfim, й bem ъtil. Parabйns.
Re: s_utils.inc - Adiзгo de novas func. para scripting -
Verdade, eu estava usando operador ternбrio em outros cуdigos e acabei usando aн tambйm, bom saber que tem gente que presta atenзгo no cуdigo, valeu.
Ъtil.
Re: s_utils.inc - Adiзгo de novas func. para scripting -
pawn Код:
if(!strfind(name[i], "_")) //Nгo precisava usar uma funзгo nesse caso.
if(name[i] == '_')
if(strfind(name, "0", true) != -1 ||
strfind(name, "1", true) != -1 ||
strfind(name, "2", true) != -1 ||
strfind(name, "3", true) != -1 ||
strfind(name, "4", true) != -1 ||
strfind(name, "5", true) != -1 ||
strfind(name, "6", true) != -1 ||
strfind(name, "7", true) != -1 ||
strfind(name, "8", true) != -1 ||
strfind(name, "9", true) != -1)
{
return 2;
} //Nгo precisava tudo isso para verificar se tinha nъmeros na String.
for(new p; p != strlen(name); ++p) if(name[p] < '0' || name[p] > '9') return 2;
name[++i]; // Para aumentar o valor que i, nгo й necessбrio usar name..
//Entre outros que resolvi nгo focar..