Cуdigos Ъteis #1

Quote:
Originally Posted by Day_
Посмотреть сообщение
PHP код:
GetVehicleFreeSeat(carro)
{
    new 
MaxSeats[212] = {
        
4222441224222422424244222144421912212942
        
4122241216121112224422222244224211221224
        
2143111422424122244222222224211211224221
        
1222222224111222200142222244224421222222
        
4422124410011212222442411422226122214442
        
222242111411
    
};
    new 
bool:Seat[9];
    foreach(
Playeri)
    {
        if(
IsPlayerConnected(i))
        {
            if(
IsPlayerInVehicle(icarro))
            {
                
Loop:s(0MaxSeats[carro 400])
                {
                    if(
GetPlayerVehicleSeat(i) == sSeat[s] = true;
                }
            }
        }
    }
    
Loop:s(0MaxSeats[carro 400])
    {
        if(
Seat[s] == false) return s;
    }
    return -
1;

Funзгo se auto explica..
Esse cуdigo nem esta funcional devido a vc nгo dizer as librarias necessбrias para ele funcionar.
Reply

Bem, tirei a base de um FS para pegar o objeto de algum lugar em 2014 que nem lembro mais.

Sistema de Neve simples que 'segue o player'.



PHP код:
// Topo
new Neve[MAX_PLAYERS];
new 
Float:XYZ[3];
// Em OnPlayerUpdate ou em algum timer de 1/2seg.
for(new ii<MAX_PLAYERS; ++i) {
     
GetPlayerPos(iXYZ[0], XYZ[1], XYZ[2]);
     
SetDynamicObjectPos(Neve[i], XYZ[0] + random(25), XYZ[1] + random(25), XYZ[2] - random(10));
}
// Final do GameMode
stock CriarNeve(playerid)
{
    
GetPlayerPos(playeridXYZ[0], XYZ[1], XYZ[2]);
    
Neve[playerid] = CreateDynamicObject(18864XYZ[0] + random(25), XYZ[1] + random (25), XYZ[2] - random(10), random(280), random(280), 0, -1, -1playerid);
    return 
true;
}
stock DeletarNeve(playerid)
     return 
DestroyDynamicObject(Neve[playerid]); 
Reply

Quote:
Originally Posted by JonathanFeitosa
Посмотреть сообщение
Bem, tirei a base de um FS para pegar o objeto de algum lugar em 2014 que nem lembro mais.

Sistema de Neve simples que 'segue o player'.



PHP код:
// Topo
new Neve[MAX_PLAYERS];
new 
Float:XYZ[3];
// Em OnPlayerUpdate ou em algum timer de 1/2seg.
for(new ii<MAX_PLAYERS; ++i) {
     
GetPlayerPos(iXYZ[0], XYZ[1], XYZ[2]);
     
SetDynamicObjectPos(Neve[i], XYZ[0] + random(25), XYZ[1] + random(25), XYZ[2] - random(10));
}
// Final do GameMode
stock CriarNeve(playerid)
{
    
GetPlayerPos(playeridXYZ[0], XYZ[1], XYZ[2]);
    
Neve[playerid] = CreateDynamicObject(18864XYZ[0] + random(25), XYZ[1] + random (25), XYZ[2] - random(10), random(280), random(280), 0, -1, -1playerid);
    return 
true;
}
stock DeletarNeve(playerid)
     return 
DestroyDynamicObject(Neve[playerid]); 
Supostamente o stock CriarNeve(playerid) deve ser no OnPlayerConnect e nao no OnGameModeInit assim como DeletarNeve deve ser no OnPlayerDisconnect...
Reply

Obrigado por complementar. Eu nгo mandei por em nenhum canto, acho que ia confundir alguns
Reply

Detect Oxigкnio infinito
PHP код:
// Topo GM 
forward CheckHack(); 
new 
HackOxygen[MAX_PLAYERS]; 
// Dentro da public OnPlayerConnect 
HackOxygen[playerid] = 0
// Dentro da public OnGameModeInit 
SetTimer("CheckHack"3500true); 
// Final do GM fora de qualquer funзгo ou Public 
public CheckHack()
{
    for(new 
0GetPlayerPoolSize(); <= ji++)//MAX_PLAYERS
    
{
        if(
IsPlayerConnected(i))
        {
            new 
Float:pos[3];
            
GetPlayerPos(ipos[0], pos[1], pos[2]);
            if (
pos[2]<-2.0 && IsPlayerInWater(i)) { if(HackOxygen[i] < 9){ HackOxygen[i]++; } }
            if (
pos[2]>=0.0) { if(HackOxygen[i] > 0){ HackOxygen[i]--; } }
            if(
HackOxygen[i] >= 9)
            {
                
SendClientMessage(i, -1"ANTICHEAT: Vocк estб usando Oxigкnio infinito ! ! !");
                
SetPlayerPos(i,pos[0], pos[1],0.05);
            }
        }
    }
    return 
1;
}
stock IsPlayerInWaterLocation(playerid

    static 
Float:fXFloat:fYFloat:fZGetPlayerPos(playeridfXfYfZ); 
    if((
fX >= 2044.6 && fX <= 2192.984 && fY >= 1206.358 && fY <= 1376.552) && fZ 0xA) return 1
    else if((
fX >= 2048.504 && fX <= 2185.174 && fY >= 1063.239 && fY <= 1202.49) && fZ 0xA) return 1
    else if((
fX >= 2204.698 && fX <= 2204.698 && fY >= 1426.837 && fY <= 1430.705) && fZ 0xA) return 1
    else if((
fX >= 2032.885 && fX <= 2114.887 && fY >= 1852.325 && fY <= 1991.575) && fZ 0xC) return 1
    else if((
fX >= 2517.086 && fX <= 2606.897 && fY >= 2316.493 && fY <= 2420.93) && fZ 0x16) return 1
    else if((
fX >= 2554.5996 && fX <= 2507.7683 && fY >= 1548.6178 && fY <= 1588.9154) && fZ 0xF) return 1
    else if((
fX >= -2043.628 && fX <= -1973.561 && fY >= -980.9415 && fY <= -724.0283) && fZ 0x20) return 1
    else if((
fX >= -2753.912 && fX <= -2665.071 && fY >= -522.3632 && fY <= -380.3444) && fZ 0x05) return 1
    else if((
fX >= 1219.864 && fX <= 1292.118 && fY >= -2435.881 && fY <= -2325.344) && fZ 0xF) return 1
    else if((
fX >= 1923.388 && fX <= 2010.854 && fY >= -1223.924 && fY <= -1168.656) && fZ 0x16) return 1
    else if((
fX >= 1269.301 && fX <= 1314.935 && fY >= -837.0452 && fY <= -781.7769) && fZ 0x5A) return 1
    else if((
fX >= 1087.3953 && fX <= 1102.3138 && fY >= -682.6734 && fY <= -663.0043) && fZ 0x71) return 1
    else if((
fX >= 1268.6118 && fX <= 1291.8774 && fY >= -784.2910 && fY <= -764.6104) && fZ 0x43D) return 1
    else if(
fZ 0xF) return 1
    return 
0

stock IsPlayerUsingSwimAnim(playerid

    if(
IsPlayerInAnyVehicle(playerid) || GetPlayerState(playerid) != PLAYER_STATE_ONFOOT) return 0
    static 
animlib[32], animname[32]; 
    
GetAnimationName(GetPlayerAnimationIndex(playerid),animlib,32,animname,32); 
    if(!
strcmp(animlib"SWIM"true) && !strcmp(animname"SWIM_GLIDE"true)) return 1
    else if(!
strcmp(animlib"SWIM"true) && !strcmp(animname"SWIM_BREAST"true)) return 1
    else if(!
strcmp(animlib"SWIM"true) && !strcmp(animname"SWIM_CRAWL"true)) return 1
    else if(!
strcmp(animlib"SWIM"true) && !strcmp(animname"SWIM_DIVE_UNDER"true)) return 1
    else if(!
strcmp(animlib"SWIM"true) && !strcmp(animname"SWIM_DIVE_GLIDE"true)) return 1
    else if(!
strcmp(animlib"SWIM"true) && !strcmp(animname"SWIM_UNDER"true)) return 1
    else if(!
strcmp(animlib"SWIM"true) && !strcmp(animname"SWIM_TREAD"true)) return 1
    return 
0

stock IsPlayerInWater(playerid

    if(
IsPlayerInWaterLocation(playerid) && IsPlayerUsingSwimAnim(playerid)) 
    { 
        return 
1
    } 
    return 
0

Crйditos funзгo IsPlayerInWater, IsPlayerInWaterLocation e IsPlayerUsingSwimAnim. By Synchro
Reply

Quote:
Originally Posted by lucas_mdr1235
Посмотреть сообщение
Detect Oxigкnio infinito
PHP код:
// Topo GM 
forward CheckHack(); 
new 
HackOxygen[MAX_PLAYERS]; 
// Dentro da public OnPlayerConnect 
HackOxygen[playerid] = 0
// Dentro da public OnGameModeInit 
SetTimer("CheckHack"3500true); 
// Final do GM fora de qualquer funзгo ou Public 
public CheckHack() 

    for(new 
0GetPlayerPoolSize(); <= ji++)//MAX_PLAYERS 
    

        new 
Float:pos[3]; 
        
GetPlayerPos(ipos[0], pos[1], pos[2]); 
        if (
pos[2]<-2.0 && IsPlayerInWater(i)) { if(HackOxygen[i] < 9){ HackOxygen[i]++; } } 
        if (
pos[2]>=0.0) { if(HackOxygen[i] > 0){ HackOxygen[i]--; } } 
        if(
HackOxygen[i] >= 9
        { 
            
SendClientMessage(i, -1"ANTICHEAT: Vocк estб usando Oxigкnio infinito ! ! !"); 
            
SetPlayerPos(i,pos[0], pos[1],0.05); 
        } 
    } 
    return 
1

stock IsPlayerInWaterLocation(playerid

    static 
Float:fXFloat:fYFloat:fZGetPlayerPos(playeridfXfYfZ); 
    if((
fX >= 2044.6 && fX <= 2192.984 && fY >= 1206.358 && fY <= 1376.552) && fZ 0xA) return 1
    else if((
fX >= 2048.504 && fX <= 2185.174 && fY >= 1063.239 && fY <= 1202.49) && fZ 0xA) return 1
    else if((
fX >= 2204.698 && fX <= 2204.698 && fY >= 1426.837 && fY <= 1430.705) && fZ 0xA) return 1
    else if((
fX >= 2032.885 && fX <= 2114.887 && fY >= 1852.325 && fY <= 1991.575) && fZ 0xC) return 1
    else if((
fX >= 2517.086 && fX <= 2606.897 && fY >= 2316.493 && fY <= 2420.93) && fZ 0x16) return 1
    else if((
fX >= 2554.5996 && fX <= 2507.7683 && fY >= 1548.6178 && fY <= 1588.9154) && fZ 0xF) return 1
    else if((
fX >= -2043.628 && fX <= -1973.561 && fY >= -980.9415 && fY <= -724.0283) && fZ 0x20) return 1
    else if((
fX >= -2753.912 && fX <= -2665.071 && fY >= -522.3632 && fY <= -380.3444) && fZ 0x05) return 1
    else if((
fX >= 1219.864 && fX <= 1292.118 && fY >= -2435.881 && fY <= -2325.344) && fZ 0xF) return 1
    else if((
fX >= 1923.388 && fX <= 2010.854 && fY >= -1223.924 && fY <= -1168.656) && fZ 0x16) return 1
    else if((
fX >= 1269.301 && fX <= 1314.935 && fY >= -837.0452 && fY <= -781.7769) && fZ 0x5A) return 1
    else if((
fX >= 1087.3953 && fX <= 1102.3138 && fY >= -682.6734 && fY <= -663.0043) && fZ 0x71) return 1
    else if((
fX >= 1268.6118 && fX <= 1291.8774 && fY >= -784.2910 && fY <= -764.6104) && fZ 0x43D) return 1
    else if(
fZ 0xF) return 1
    return 
0

stock IsPlayerUsingSwimAnim(playerid

    if(
IsPlayerInAnyVehicle(playerid) || GetPlayerState(playerid) != PLAYER_STATE_ONFOOT) return 0
    static 
animlib[32], animname[32]; 
    
GetAnimationName(GetPlayerAnimationIndex(playerid),animlib,32,animname,32); 
    if(!
strcmp(animlib"SWIM"true) && !strcmp(animname"SWIM_GLIDE"true)) return 1
    else if(!
strcmp(animlib"SWIM"true) && !strcmp(animname"SWIM_BREAST"true)) return 1
    else if(!
strcmp(animlib"SWIM"true) && !strcmp(animname"SWIM_CRAWL"true)) return 1
    else if(!
strcmp(animlib"SWIM"true) && !strcmp(animname"SWIM_DIVE_UNDER"true)) return 1
    else if(!
strcmp(animlib"SWIM"true) && !strcmp(animname"SWIM_DIVE_GLIDE"true)) return 1
    else if(!
strcmp(animlib"SWIM"true) && !strcmp(animname"SWIM_UNDER"true)) return 1
    else if(!
strcmp(animlib"SWIM"true) && !strcmp(animname"SWIM_TREAD"true)) return 1
    return 
0

stock IsPlayerInWater(playerid

    if(
IsPlayerInWaterLocation(playerid) && IsPlayerUsingSwimAnim(playerid)) 
    { 
        return 
1
    } 
    return 
0

Crйditos funзгo IsPlayerInArea, IsPlayerInWaterLocation e IsPlayerUsingSwimAnim. By Synchro
Bem interessante. Sу que seu loop passa por ids desconectados... Assim vai pegar posiзгo atй de quem nгo estб conectado .-.
Reply

@zSuYaNw isso ai gera realmente uma palavra ou uma string aleatуria?
Reply

string aleatуria..
Reply

Quote:
Originally Posted by FreeGells
View Post
@zSuYaNw isso ai gera realmente uma palavra ou uma string aleatуria?
A Funзгo Generate Password Random retorna uma string com uma palavra formada por caracteres aleatуrios.
Reply

Mъsica simpls
PHP Code:
    #define _fraseado "patinhos\nForam passear\nAlйm das montanhas\nPara brincar\nA mamгe gritou\nQuack quack quack\nMas sу quatro patinhos\nVoltaram de lб"

    
print("\n\n\n");

    for(new 
5!= 0; --i){
        
printf("%d %s\n\n"i_fraseado);
    }
    
    print(
#A mamгe patinha\nFoi procurar\nAlйm das montanhas\nNa beira do mar\nA mamгe gritou\nQuack quack quack\nE os cinco patinhos\nVoltaram de lб); 
:royaleyes:
Reply

Funзгo de rank:
Code:
stock Rank(Scor[], Top[], size, size2)
{
	new scortp;
	for(new tp = 0; tp < size2; tp++)
	{
	    scortp = 0;
	    for(new sp = 0; sp < size; sp++)
	    {
	        if(tp == 0)
	        {
	            if(Scor[sp] > scortp)
				{
					Top[tp] = sp;
					scortp = Scor[sp];
				}
			}
			else
			{
			    if(Scor[sp] > scortp)
			    {
			        if(Scor[sp] < Scor[Top[tp-1]])
			        {
			            Top[tp] = sp;
						scortp = Scor[sp];
			        }
			    }
			}
	    }
	}
	return 1;
}
Exemplo de uso:
Code:
#include <a_samp>
#include <zcmd>

CMD:rank(playerid)
{
	new Scor[MAX_PLAYERS], Top[10], str[600], name[MAX_PLAYER_NAME];
	for(new i = 0; i < MAX_PLAYERS; i++)
	{
	    if(IsPlayerConnected(i)) Scor[i] = GetPlayerScore(i);
	}
	Rank(Scor, Top, sizeof(Scor), sizeof(Top));
	for(new i = 0; i < 10; i++)
	{
		GetPlayerName(Top[i], name, sizeof(name));
	    format(str, sizeof(str), "%s\n%02dє - %s (%i) - %d scores", str, i+1, name, Top[i], Scor[Top[i]]);
	}
	ShowPlayerDialog(playerid, 2131, DIALOG_STYLE_MSGBOX, "Rank", str, "Fechar", "");
	return 1;
}
Reply

PHP Code:
changePlayerPos(playeridFloat:XFloat:YFloat:ZFloat:0.0bool:vehicle falseinterior 0virtualworld 0)
{
    if(
GetPlayerState(playerid) == && vehicle == true) {
        
SetVehiclePos(GetPlayerVehicleID(playerid), XYZ);
        
        if(
!= 0.0)
            
SetVehicleZAngle(GetPlayerVehicleID(playerid), A);
        
        if(
interior != 0) {
            
SetPlayerInterior(playeridinterior);
            
LinkVehicleToInterior(GetPlayerVehicleID(playerid), interior);
        }
        
        if(
virtualworld != 0) {
            
SetPlayerVirtualWorld(playeridvirtualworld);
            
SetVehicleVirtualWorld(GetPlayerVehicleID(playerid), virtualworld);
        }
    } 
    else {
        
SetPlayerPos(playeridXYZ);
    
        if(
!= 0.0)
            
SetPlayerFacingAngle(playeridA);
        
        if(
interior != 0)
            
SetPlayerInterior(playeridinterior);
        
        if(
virtualworld != 0)
            
SetPlayerVirtualWorld(playeridvirtualworld);
    }

Teleporta o player podendo setar o interior, angulo, virtualworld e se quer levar o veнculo junto.

Exemplo:

changePlayerPos(playerid, 1527.9451, -1678.0519, 5.8906, 271.1969, false, 6, 1);
Esse exemplo acima teleportarб o jogador para o interior da DP de Los Santos (interior 6), no Virtual World 1 e nгo levarб veнculos.
Reply

Nem todos os caracteres maiъsculos sгo convertidos em minъsculos. Isto irб resolver nos demais casos, e uma outra funзгo jб para converter uma string inteira.
PHP Code:
// de maiъscula para minъscula
stock new_tolower(c) {
    switch(
c) {
        case 
'Т': return 'т';
        case 
'Х': return 'х';
        case 
'У': return 'у';
        case 
'Г': return 'г';
        case 
'Б': return 'б';
        case 
'А': return 'а';
        case 
'З': return 'з';
        case 
'Ъ': return 'ъ';
        case 
'Щ': return 'щ';
        case 
'Ф': return 'ф';
        case 
'Ы': return 'ы';
        case 
'К': return 'к';
        case 
'Й': return 'й';
        case 
'И': return 'и';
        case 
'М': return 'м';
        case 
'Н': return 'н';
        case 
'В': return 'в';
        case 
'С': return 'с';
        case 
'О': return 'о';
    }
    return 
tolower(c);
}
stock convert_minusculas(string[]) {
    for(new 
istrlen(string); i++)
        
string[i] = new_tolower(string[i]);
    return 
string;
}
// de minъscula para maiъscula
stock new_toupper(c) {
    switch(
c) {
        case 
'у': return 'У';
        case 
'т': return 'Т';
        case 
'х': return 'Х';
        case 
'ф': return 'Ф';
        case 
'г': return 'Г';
        case 
'б': return 'Б';
        case 
'а': return 'А';
        case 
'в': return 'В';
        case 
'з': return 'З';
        case 
'ъ': return 'Ъ';
        case 
'щ': return 'Щ';
        case 
'ы': return 'Ы';
        case 
'к': return 'К';
        case 
'й': return 'Й';
        case 
'и': return 'И';
        case 
'о': return 'О';
        case 
'н': return 'Н';
        case 
'м': return 'М';
        case 
'с': return 'С';
    }
    return 
toupper(c);
}
stock convert_maiusculas(string[]) {
    for(new 
istrlen(string); i++)
        
string[i] = new_toupper(string[i]);
    return 
string;

Exemplos de uso
PHP Code:
public OnPlayerText(playeridtext[]) {
    static 
Name[24], Msg[144];
    
GetPlayerName(playeridName24);
    
format(Msg144"%s [%i]: %s"Nameplayeridconvert_minusculas(text)); // convertendo todo o texto para minusculo
    
SendClientMessageToAll(GetPlayerColor(playerid), Msg);
    return 
0;

Reply

Nick, me permita te dar uma dica?

Veja o cуdigo ASCII. Basicamente

A tem valor 65
a tem valor 97

B tem valor 66
b tem valor 98
...

Z tem valor 90
z tem valor 122

** valores em decimais **

Qual padrгo disto? O padrгo e que para cada letra maiscula. Basta adicionar +32 para obter-se uma letra minuscula.


Portanto


printf("%c", 'A' + 32) ;

vocк transformou A em a

Agora sу pega essa lуgica e aplica na funзгo new_toupper e new_tolower. Com certeza nгo precisaria tantos if, cases, switch.

@EDIT

Vi que tu sу tб convertendo acentuaзгo. Mas a lуgica se encaixa tambйm. A distancia entre os caracteres com acentos й proporcional.

з = 231
З = 199

32 diferenзa denovo. Б б mesmo caso, Н e н tambйm e por assim vai

Abraзo!
Reply

Quote:
Originally Posted by NicK_
View Post
Nem todos os caracteres maiъsculos sгo convertidos em minъsculos. Isto irб resolver nos demais casos, e uma outra funзгo jб para converter uma string inteira.
PHP Code:
// de maiъscula para minъscula
stock new_tolower(c) {
    switch(
c) {
        case 
'Т': return 'т';
        case 
'Х': return 'х';
        case 
'У': return 'у';
        case 
'Г': return 'г';
        case 
'Б': return 'б';
        case 
'А': return 'а';
        case 
'З': return 'з';
        case 
'Ъ': return 'ъ';
        case 
'Щ': return 'щ';
        case 
'Ф': return 'ф';
        case 
'Ы': return 'ы';
        case 
'К': return 'к';
        case 
'Й': return 'й';
        case 
'И': return 'и';
        case 
'М': return 'м';
        case 
'Н': return 'н';
        case 
'В': return 'в';
        case 
'С': return 'с';
        case 
'О': return 'о';
    }
    return 
tolower(c);
}
stock convert_minusculas(string[]) {
    for(new 
istrlen(string); i++)
        
string[i] = new_tolower(string[i]);
    return 
string;
}
// de minъscula para maiъscula
stock new_toupper(c) {
    switch(
c) {
        case 
'у': return 'У';
        case 
'т': return 'Т';
        case 
'х': return 'Х';
        case 
'ф': return 'Ф';
        case 
'г': return 'Г';
        case 
'б': return 'Б';
        case 
'а': return 'А';
        case 
'в': return 'В';
        case 
'з': return 'З';
        case 
'ъ': return 'Ъ';
        case 
'щ': return 'Щ';
        case 
'ы': return 'Ы';
        case 
'к': return 'К';
        case 
'й': return 'Й';
        case 
'и': return 'И';
        case 
'о': return 'О';
        case 
'н': return 'Н';
        case 
'м': return 'М';
        case 
'с': return 'С';
    }
    return 
toupper(c);
}
stock convert_maiusculas(string[]) {
    for(new 
istrlen(string); i++)
        
string[i] = new_toupper(string[i]);
    return 
string;

Exemplos de uso
PHP Code:
public OnPlayerText(playeridtext[]) {
    static 
Name[24], Msg[144];
    
GetPlayerName(playeridName24);
    
format(Msg144"%s [%i]: %s"Nameplayeridconvert_minusculas(text)); // convertendo todo o texto para minusculo
    
SendClientMessageToAll(GetPlayerColor(playerid), Msg);
    return 
0;

Te apresento tolower & toupper nгo sei o poque isso tudo, pois eu fiz os testes aqui com esses exemplos de letras que vocк informou e deu certo
Reply

Quote:
Originally Posted by lucas_mdr1235
View Post
Te apresento tolower & toupper nгo sei o poque isso tudo, pois eu fiz os testes aqui com esses exemplos de letras que vocк informou e deu certo
Pra min estes nunca funcionaram com acentos e alguns caracteres maiusculos. Ex
Code:
CONEXГO
AЗAН
Convertendo
Code:
conexГo
aЗaН
#edit
Desculpe, jб sei porque vocк obteve estes dados.
Infelizmente em Linux, o resultado й este acima mostrado... Pelo menos quando usamos no chat. Em log, fica assim por exemplo
Code:
[10:39:10] ▒▒▒▒▒▒▒▒▒
[10:39:10] ▒▒▒▒▒▒▒▒▒
Em windows:
Code:
[10:34:00] бйнуъзсгх
[10:34:00] БЙНУЪЗСГХ
Script: http://pastebin.com/3sqMTW4j

Em Windows:

Code:
[chat] [Locky]: CONEXГO PROBLEMБTICA
Em Linux:

Code:
[chat] [Locky]: CONEXГO PROBLEMБTICA MIGГO
Em teoria nгo deveria acontecer este problema, mas... Algumas coisas em Windows sгo diferentes em Linux.
Reply

Quote:
Originally Posted by tonisantolia
Посмотреть сообщение
Cуdigo simples para gerar nъmero de telefones com prefixos das operadores TIM e CLARO.
PHP код:
enum
{
    
TIM,
    
CLARO
};
stock GerarNumero(operadora)
{
    new 
phone_number[9];
    new 
prefix;
    
prefix operadora ? (94) : (99);
    
format(phone_numbersizeof(phone_number), "%d%d%d%d%d%d%d"prefixrandom(9), random(9), random(9), random(9), random(9), random(9), random(9));
    return 
strval(phone_number);

Exemplo de resultado:
Код:
[03:18:18] [TIM 1]: 99775736
[03:18:18] [TIM 2]: 99150535
[03:18:18] [TIM 3]: 99208176
[03:18:18] [CLARO 1]: 94233012
[03:18:18] [CLARO 2]: 94300513
[03:18:18] [CLARO 3]: 94427561
Nгo seria totalmente funcional... pois varia de cada regiгo, e alйm disto as pessoas podem mudar de operadora sem trocar de nъmero.

Aqui na minha regiгo por ex:
Код:
TIM: 981
Claro: 992/993
Vivo: 999/998
Oi: 988
Reply

Quote:
Originally Posted by NicK_
Посмотреть сообщение
Nгo seria totalmente funcional... pois varia de cada regiгo, e alйm disto as pessoas podem mudar de operadora sem trocar de nъmero.

Aqui na minha regiгo por ex:
Код:
TIM: 981
Claro: 992/993
Vivo: 999/998
Oi: 988
Por sinal nгo compreendeu, o cуdigo em questгo й para ser utilizado em servidores RP/RPG para criaзгo de um sistema telefфnico mais "realista" e nгo um nъmero de telefone aleatуrio para vocк telefonar na vida real.

Abraзos.
Reply

Muitas pessoas conhece o tipico ant de AMX hoje trago um que pode trazer seguranзa adicional para seu server...

Usando a include HTTP e pastebin
PHP код:
#include a_http
public OnGameModeInit()
{
    
HTTP(1003HTTP_GET"link(pastebin)""""Sua_Public"); //Link exemplo: pastebin.com/raw/5DxFYapP (USE O /raw/)
    
return 1;
}
forward Sua_Public(indexresponse_codedata[]);
public 
Sua_Public(indexresponse_codedata[])
{
    if(
response_code == 200)
    {
        print(
"Parabens voce tem autorizaзгo para usar o Script ");
    }
    else
    {
        print(
"Sem Conexгo com a internet/link off");
        
SendRconCommand("exit");//desligar o server caso nao tenha conexao com internet
    
}
    if(
strfind(data"sim"true) != -1//  "sim" й o texto que vai estar no link do pastebin
    
{
    }
    else
    {
           
SendRconCommand("exit");// caso no link nao tiver a palavra "sim" o sv vai desligar
    
}
    return 
1;

Crйditos Explicaзгo HTTP: https://sampwiki.blast.hk/wiki/HTTP
Reply

Adicionando data de compilaзгo ao script
Obtenha a ultima versгo do Pawncc: https://github.com/Zeex/pawn/releases/

Em seu script, adicione:
Код:
__date = irб mostrar a data
__time = irб mostrar a hora
__file = irб mostrar o arquivo
Exemplo
PHP код:
public OnFilterScriptInit() {
    
printf("Compilaзгo: %s %s"__date__time);

Resultado:
Код:
Compilaзгo: 25 Apr 2017 23:58:41
Caso queira exibir de maneira diferente:
PHP код:
public OnFilterScriptInit()
{
    new 
bd[6];
    
unformat(__date"dk<mes>d"bd[0], bd[1], bd[2]);
    
unformat(__time"p<:>ddd"bd[3],bd[4],bd[5]);
    
printf("%02d/%02d/%d em %02d:%02d:%02d"bd[0], bd[1], bd[2], bd[3], bd[4], bd[5]);
}
SSCANF:mes(string[]) {
    if(!
strcmp(string"Jan"true)) return 1;
    if(!
strcmp(string"Fev"true)) return 2;
    if(!
strcmp(string"Mar"true)) return 3;
    if(!
strcmp(string"Apr"true)) return 4;
    if(!
strcmp(string"May"true)) return 5;
    if(!
strcmp(string"Jun"true)) return 6;
    if(!
strcmp(string"Jul"true)) return 7;
    if(!
strcmp(string"Aug"true)) return 8;
    if(!
strcmp(string"Sep"true)) return 9;
    if(!
strcmp(string"Oct"true)) return 10;
    if(!
strcmp(string"Nov"true)) return 11;
    if(!
strcmp(string"Dez"true)) return 12;
    return -
1;

Resultado:
Код:
25/04/2017 em 23:58:41
Com esta atualizaзгo do pawncc e .dll tambйm й possнvel obter a versгo utilizada pelo compilador. Neste, hб correзхes de bugs tambйm. ^^
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)