[Pedido] Conversгo de strcmp para zcmd
#1

Encontrei um sistema de radar aqui no forum muito massa em strcmp, porem, o meu GM possui proteзгo contra cheater de dinheiro, e com isso, o FS de radar nгo consegue multar as pessoas, pois o nгo consegue modificar o dinheiro do player com a funзгo GivePlayerMoney. Baixei um programa que converte de strcmp para zcmd,tambem aqui do forum, mas ele sу faz conversхes do comando "/exemplo" e nгo do cуdigo completo.
E estou tendo dificuldade para converte-lo, alguem poderia converter para min e deixar anotaзхes para quando eu precisar, possa eu mesmo converter?
Obs: vou jogar o FS completo para nгo faltar nada.

Codigo:
PHP код:
#include <a_samp>
// SISTEMA FEITO POR: DESCONHECIDO
// SISTEMA DE EDITADO E TRADUZIDO POR Pedro_Felipe - Pedro_Tilambucu
//----------------------------------------
new UpdateSeconds 2// Nгo Mecher
new maxobject 4;
//----------------------------------------
public OnFilterScriptInit() {
print(
"\n----------------------------------");
print(
"[FS] Radar Automatico Carregado");
print(
"----------------------------------\n");
SetTimer("UpdateSpeed"UpdateSeconds*10001);
}
public 
OnFilterScriptExit() {
print(
"\n----------------------------------");
print(
"[FS] Radar Automatico Desativado");
print(
"----------------------------------\n");
}
forward UpdateSpeed(playerid);
enum SavePlayerPosEnum {
Float:LastX,
Float:LastY,
Float:LastZ
}
#define COLOR_YELLOW 0xFFFF00AA
#define LARANJA 0xFF8000FF
#define SLOTS 500
new objectcreated;
new 
SavePlayerPos[SLOTS][SavePlayerPosEnum];
new 
distance1[MAX_PLAYERS];
//---
//---
public UpdateSpeed(playerid)
{
    new 
Float:x,Float:y,Float:z;
    new 
Float:distance,value;
    for(new 
i=0i<SLOTSi++)
    {
        if(
IsPlayerConnected(i))
        {
            
GetPlayerPos(ixyz);
            
distance floatsqroot(floatpower(floatabs(floatsub(x,SavePlayerPos[i][LastX])),2)+floatpower(floatabs(floatsub(y,SavePlayerPos[i][LastY])),2)+floatpower(floatabs(floatsub(z,SavePlayerPos[i][LastZ])),2));
            
value floatround(distance 3600);
            if(
UpdateSeconds 1)
            {
                
value floatround(value UpdateSeconds);
            }
            
distance1[i] = floatround(value/1600);
            
SavePlayerPos[i][LastX] = x;
            
SavePlayerPos[i][LastY] = y;
            
SavePlayerPos[i][LastZ] = z;
            
/* Para colocar Coordenada no lugar que voce quer , basta colocar a Coordenada X,Y,Z no lugar dos 00000 ,
            o 40 й o raio que o radar pega, e o 50 , й a velocidade maxima*/
            
AddFlitsPaal(i12781493.76245, -1726.9561812.462644050); // Radar Prefeitura
            
AddFlitsPaal(i12781164.81750, -1717.7019012.842274050); // Radar Spawn Civil
            
AddFlitsPaal(i12781283.88025, -1846.9608212.443314050); // Radar GCM
            
AddFlitsPaal(i1278929.60498, -1779.5065912.422634050); // Radar DETRAN
            
AddFlitsPaal(i12781330.62366, -1389.8535212.396424050); // Radar Arena
            //AddFlitsPaal(i, 1278, 1322.60229, -1726.49963, 12.36440, 70, 50); // Radar 24/7
            
AddFlitsPaal(i12780000.0000,0000.0000,0000.00004050); // VAGO
            
AddFlitsPaal(i12780000.0000,0000.0000,0000.00004050); // VAGO
            
AddFlitsPaal(i12780000.0000,0000.0000,0000.00004050); // VAGO
            
AddFlitsPaal(i12780000.0000,0000.0000,0000.00004050); // VAGO
        
}
    }
}
public 
OnPlayerEnterVehicle(playeridvehicleidispassenger)
{
    return 
1;
}
public 
OnPlayerExitVehicle(playeridvehicleid)
{
   return 
1;
}
IsPlayerInCircle(playerid,Float:x,Float:y,radius)
{
    if(
GetPlayerDistanceToPoint(playerid,Float:x,Float:y) < radius)
    {
        return 
1;
    }
    return 
0;
}
GetPlayerDistanceToPoint(playerid,Float:x,Float:y)
{
    new 
Float:x1,Float:y1,Float:z1GetPlayerPos(playerid,x1,y1,z1);
    new 
Float:tmpdis floatsqroot(floatpower(floatabs(floatsub(x,x1)),2)+
    
floatpower(floatabs(floatsub(y,y1)),2));
    return 
floatround(tmpdis);
}
stock AddFlitsPaal(playeridmodelidFloat:xxFloat:yyFloat:zzradiusspeed)
{
    new 
fine[MAX_PLAYERS];
     new 
str[256];
     if(
objectcreated!=maxobject)
      {
        
CreateObject(modelidxxyyzz0.00.010);
         
objectcreated++;
      }
      if((
distance1[playerid])>speed)
      {
        if(
IsPlayerInCircle(playeridxxyyradius)  && GetPlayerState(playerid)== PLAYER_STATE_DRIVER)
        {
            
fine[playerid]=((distance1[playerid]*17/10)-speed);
            
GivePlayerMoney(playerid, -2000);
            
format(str,sizeof(str), "[RADAR S.C.T.D] O Limite de velocidade й %d KM/h Voce Passou a %d KM/h e foi multado!",speeddistance1[playerid] ,fine[playerid]);
            
// Caso queira mudar o nome do radar , й so mudar o xXx pelo nome que quiser. e o -2000 й o valor da multa.
            
SendClientMessage(playeridLARANJAstr);
            
PlayerPlaySound(playerid11320.00.00.0);
        }
    }

Reply
#2

cara...
ZCMD & STRCMP й processador de comandos
ex:

strcmp
PHP код:
public OnPlayerCommandText(playeridcmdtext[])
{
     if(!
strcmp("/test"cmdtext))
     {
         print(
"Hello");
         return 
1;
     }
     return 
0;

zcmd
PHP код:
CMD:setarvida(playeridparams[])
{
    new 
Float:vidastring[60];
    if(
sscanf(params"f"vida)) return SendClientMessage(playerid, -1"Use /setarvida [1-100].");
    
    if(
vida || vida 100) return SendClientMessage(playerid, -1"Escolha apenas valores entre 1 e 100.");

    
format(stringsizeof(string), "Vocк setou sua vida para %.f"vida);
    
SendClientMessage(playerid, -1string);    
    
SetPlayerHealth(playeridvida);
    return 
1;

Reply
#3

Eu sei, й que meu GM й inteiro em zcmd, e esse sistema que quero converter й em strcmp. por isso preciso de ajuda para converter de strcmp para zcmd
Reply
#4

Quote:
Originally Posted by MtPlayerZ
Посмотреть сообщение
Eu sei, й que meu GM й inteiro em zcmd, e esse sistema que quero converter й em strcmp. por isso preciso de ajuda para converter de strcmp para zcmd
o que esta em strcmp nesse sistema ?
Reply
#5

Ah... Mano nгo hб oque converter no seu sistema, simplesmente copie oque tem dentro de cana public, e cole devidamente nas public do gamemode ou, no caso do ant cheater, caso seja uma include, coloque na no FS copile e teste, tinha uma include de money aqui no forum que era show, nгo lembro o nome!
Reply
#6

Quote:
Originally Posted by AdrianoStk
Посмотреть сообщение
Ah... Mano nгo hб oque converter no seu sistema, simplesmente copie oque tem dentro de cana public, e cole devidamente nas public do gamemode ou, no caso do ant cheater, caso seja uma include, coloque na no FS copile e teste, tinha uma include de money aqui no forum que era show, nгo lembro o nome!
tambйm estou procurando o que ele quer converter kkk
Reply
#7

Use CallRemoteFunction para chamar uma funзгo de dentro do seu gamemode em um filterscript (no caso, a de dar dinheiro).

OBS: a funзгo a ser chamada precisa ser declarada com forward e public.

Exemplo:
PHP код:
CallRemoteFunction("DarDinheiro""ii"playerid, -2000); //substitua DarDinheiro pela funзгo do seu gamemode 
Reply
#8

Quote:
Originally Posted by Meck
Посмотреть сообщение
cara...
ZCMD & STRCMP й processador de comandos
ex:

strcmp
PHP код:
public OnPlayerCommandText(playeridcmdtext[])
{
     if(!
strcmp("/test"cmdtext))
     {
         print(
"Hello");
         return 
1;
     }
     return 
0;

zcmd
PHP код:
CMD:setarvida(playeridparams[])
{
    new 
Float:vidastring[60];
    if(
sscanf(params"f"vida)) return SendClientMessage(playerid, -1"Use /setarvida [1-100].");
    
    if(
vida || vida 100) return SendClientMessage(playerid, -1"Escolha apenas valores entre 1 e 100.");
    
format(stringsizeof(string), "Vocк setou sua vida para %.f"vida);
    
SendClientMessage(playerid, -1string);    
    
SetPlayerHealth(playeridvida);
    return 
1;

Entгo, na verdade nгo... strcmp й uma funзгo para comparaзгo de strings. Jб ZCMD й sim um processador de comandos. Sгo bem distintos um do outro.
Reply
#9

Quote:
Originally Posted by Meck
Посмотреть сообщение
cara...
ZCMD & STRCMP й processador de comandos
Strcmp й um comparador de strings cara

leia a wiki https://sampwiki.blast.hk/wiki/Strcmp_PT
Reply
#10

Quote:
Originally Posted by AdrianoStk
Посмотреть сообщение
Ah... Mano nгo hб oque converter no seu sistema, simplesmente copie oque tem dentro de cana public, e cole devidamente nas public do gamemode ou, no caso do ant cheater, caso seja uma include, coloque na no FS copile e teste, tinha uma include de money aqui no forum que era show, nгo lembro o nome!
Pois bem, ja havia feito isso e surgiram alguns erros que nгo entendi, por isso achei que o sistema precisava ser convertido.Mas na verdade eu tinha esquecido de colocar um timer do Fs na GM, mas ja corrigi e deu esses erros:

ERROS:
PHP код:
C:\Users\Cliente\Desktop\[] GTA SA []\Servidor\Brasil Game Fire\gamemodes\BPS.pwn(577) : error 017undefined symbol "SavePlayerPosEnum"
C:\Users\Cliente\Desktop\[] GTA SA []\Servidor\Brasil Game Fire\gamemodes\BPS.pwn(577) : error 009invalid array size (negativezero or out of bounds)
C:\Users\Cliente\Desktop\[] GTA SA []\Servidor\Brasil Game Fire\gamemodes\BPS.pwn(7723) : warning 213tag mismatch
C
:\Users\Cliente\Desktop\[] GTA SA []\Servidor\Brasil Game Fire\gamemodes\BPS.pwn(7723) : warning 213tag mismatch
C
:\Users\Cliente\Desktop\[] GTA SA []\Servidor\Brasil Game Fire\gamemodes\BPS.pwn(7723) : warning 213tag mismatch
C
:\Users\Cliente\Desktop\[] GTA SA []\Servidor\Brasil Game Fire\gamemodes\BPS.pwn(7731) : warning 213tag mismatch
C
:\Users\Cliente\Desktop\[] GTA SA []\Servidor\Brasil Game Fire\gamemodes\BPS.pwn(7732) : warning 213tag mismatch
C
:\Users\Cliente\Desktop\[] GTA SA []\Servidor\Brasil Game Fire\gamemodes\BPS.pwn(7733) : warning 213tag mismatch
C
:\Users\Cliente\Desktop\[] GTA SA []\Servidor\Brasil Game Fire\gamemodes\BPS.pwn(7765) : warning 219local variable "xx" shadows a variable at a preceding level
C
:\Users\Cliente\Desktop\[] GTA SA []\Servidor\Brasil Game Fire\gamemodes\BPS.pwn(7765) : warning 219local variable "yy" shadows a variable at a preceding level
C
:\Users\Cliente\Desktop\[] GTA SA []\Servidor\Brasil Game Fire\gamemodes\BPS.pwn(7765) : warning 219local variable "zz" shadows a variable at a preceding level
Pawn compiler 3.2.3664              Copyright 
(c1997-2006ITB CompuPhase
2 Errors

Linha do ERRO: 7723
PHP код:
distance floatsqroot(floatpower(floatabs(floatsub(x,SavePlayerPos[i][LastX])),2)+floatpower(floatabs(floatsub(y,SavePlayerPos[i][LastY])),2)+floatpower(floatabs(floatsub(z,SavePlayerPos[i][LastZ])),2)); 
577
PHP код:
new SavePlayerPos[SLOTS][SavePlayerPosEnum]; 
7731,7732,7733
PHP код:
SavePlayerPos[i][LastX] = x;
            
SavePlayerPos[i][LastY] = y;
            
SavePlayerPos[i][LastZ] = z
7765
PHP код:
stock AddFlitsPaal(playeridmodelidFloat:xxFloat:yyFloat:zzradiusspeed
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)