12.08.2012, 14:00
Cуdigos Ъteis #1
12.08.2012, 17:39
pawn Код:
em C>> atan2(y,x)
em Pawn>> atan2(x,y)
pawn Код:
stock Float:latan(Float:y, Float:x)
{
x = atan2(y, x) - 90.0;
if(x < 0.0) return x + 90.0;
else return x;
}
// teste do latan.
public OnFilterScriptInit()
{
printf(#meu: %f --- outro: %f,latan(4.0,2.0),atan2(4.0,2.0));
}
12.08.2012, 17:50
Quote:
pawn Код:
pawn Код:
|
"warning 208: function with tag result used before definition, forcing reparse"
12.08.2012, 22:45
Quote:
pawn Код:
pawn Код:
|
Essa й a ъnica diferenзa entre essas funзхes.
Vocк deve ter se enganado devido ao modo como as includes do SA-MP declaram essa funзгo :
pawn Код:
native Float:atan2(Float:x, Float:y);
Sendo que na realidade, isto faria mais sentido:
pawn Код:
native Float:atan2(Float:y, Float:x);
A partir disso, conclui-se que foi um erro do autor das includes .
Ele provavelmente se confundiu com o par ordenado de representaзгo de coordenadas de um ponto no plano cartesiano: (x, y).
Para consertar sua funзгo, resolva a seguinte regra de trкs :
Considere a como o retorno do atan2 de Pawn e b como o do de C .
Quote:
Firecat, funзхes com retorno assim devem ser colocadas na parte de cima do cуdigo, na parte de baixo dб este erro.
|
pawn Код:
#include <a_samp>
forward Float:Funcao();
main()
{
printf("%f", Funcao());
}
stock Float:Funcao()
{
new Float:Var = floatsin(30, degrees);
return Var;
}
Essa dica й ъtil para alguns tipos de organizaзгo de GM.
OMaior
Esse cуdigo retorna uma array contendo o maior valor que hб em determinada variбvel array e o нndice da parte dela na qual estб armazenado .
Crйditos: rjjj ou Ken pela feitura dos cуdigos.
Aqui estб :
pawn Код:
stock OMaior(array[], tamanho = sizeof(array))
{
new Elemento, Ultimo, Valor, Indice;
for(new x = 0; x < tamanho; x++)
{
Elemento = array[x];
if(Elemento > Ultimo)
{
Valor = Elemento;
Indice = x;
}
Ultimo = Elemento;
}
new Final[2];
Final[0] = Valor;
Final[1] = Indice;
return Final;
}
Exemplo de uso:
pawn Код:
new Var[2];
new Lista[] = {2, 5, 1, 10, 3};
Var = OMaior(Lista);
printf("[O Maior] Valor: %d. Нndice: %d.", Var[0], Var[1]); //Mostraria o nъmero 10 (maior valor da array Lista) e o nъmero 3 (нndice da parte da array Lista que contйm o maior valor).
Espero ter ajudado .
14.10.2012, 02:26
Quote:
Ah Te Amooooooo,,,
Enviar Mensagem ao Player pawn Код:
pawn Код:
pawn Код:
pawn Код:
pawn Код:
pawn Код:
pawn Код:
pawn Код:
pawn Код:
pawn Код:
pawn Код:
pawn Код:
My Userbars |
14.10.2012, 07:37
Quote:
apenas um aviso no seu comando de reparar o carro ^.^ os veiculos pra fica com 100 de vida tem q bota 1000 kkk se vc bota 100 vc vai ta dando 10 de vida pro carro,ai...fufu xD
|
Quote:
Garfiel nгo recomendo ninguйm a usar isto. imagina isso pra pegar uma string completa. |
Mas enfim, o cуdigo pode ser muito melhorado de qualquer maneira
PHP код:
new ateCaractere[] = "," ; // usando virgulas
new strng[] = "bla,ble,bli,blo,blu"; // string que vamos retirar
new ateNumero = 2 ; // pegar apуs 0,1,2 virgulas. Ou seja "BLO"
new string[0xff]; // string para colocar a parte retirada
static i; // variбvel para fazer loop com strfind
while ( (i = strfind( strng, ateCaractere, true, ( i + 1 ) ) ) != -1 ) { // ir procurando por "," virgulas
if( ! ateNumero ) { // caso as virgulas que deveriam ser achadas, chegarem a "zero". Achou as virgulas que deveria, entгo vamos cortar a strng
ateNumero = strfind( strng, ateCaractere, true, ( i + 1 )); // pega a prуxima virgula para cortar
if( ateNumero == -1) { // caso nгo achou uma prуxima virgula
ateNumero = strlen(strng); // colocar o ponteiro para o final da strng
// isso ocorre por exemplo se fosse: "bla,ble,bli,blo" daн nгo teria virgula apуs o "blo"
}
strmid(string, strng, (i + 1), ateNumero); // cortar a strng da primeira virgula atй a ultima e passar para a nova "string"
}
ateNumero -- ; // quando encontra uma, diminui o nъmero de virgulas para achar
}
print(string); // "BLO"
Funciona, e й bem otimizado. Sу faz ago
14.10.2012, 19:45
Quote:
Se botar 100 vai ficar 10? Foda-se
sscanf farб dezenas de comparaзхes na entrada "strng" que realmente serб mais lenta que o "getParam" do Garfield. Recomendo usar isto. Mas enfim, o cуdigo pode ser muito melhorado de qualquer maneira PHP код:
Funciona, e й bem otimizado. Sу faz ago |
Pegar informaзхes do servidor via php
PHP код:
<?php
$HostName = "";
$GameMode = "";
$Map = "";
$Ping = "";
$PlayersOn = "";
$MaxPlayers = "";
$Senha = 0;
$IP_Servidor = "64.251.25.191";
$Porta_Servidor = "26000";
$fp = fsockopen('udp://' . $IP_Servidor, $Porta_Servidor, $errno, $errstr,0.0);
if (!$fp)
{
echo " offline";
}
else
{
$packet = 'SAMP';
$packet .= chr(strtok($IP_Servidor, '.'));
$packet .= chr(strtok('.'));
$packet .= chr(strtok('.'));
$packet .= chr(strtok('.'));
$packet .= chr($Porta_Servidor & 0xFF);
$packet .= chr($Porta_Servidor >> 8 & 0xFF);
fwrite($fp, $packet.'i');
fread($fp, 11);
$Senha = ord(fread($fp, 1));
$PlayersOn = ord(fread($fp, 2));
$MaxPlayers = ord(fread($fp, 2));
$strlen = ord(fread($fp, 4));
$HostName = htmlentities(fread($fp, $strlen));
$strlen = ord(fread($fp, 4));
$GameMode = htmlentities(fread($fp, $strlen));
$strlen = ord(fread($fp, 4));
$Map = htmlentities(fread($fp, $strlen));
$Ping = GetPing($IP_Servidor);//exec("ping ping -n 3 -l 64 $IP_Servidor ");
fwrite($fp, $packet.'c');
fread($fp, 11);
fclose($fp);
}
function GetPing($ip=NULL)
{
if(getenv("OS")=="Windows_NT") {
$exec = exec("ping -n 3 -l 64 ".$ip);
return end(explode(" ", $exec ));
}
else
{
$exec = exec("ping -c 3 -s 64 -t 64 ".$ip);
$array = explode("/", end(explode("=", $exec )) );
return ceil($array[1]) . 'ms';
}
$Show = "";
$Show .= "<table><tr>";
$Show .= "<tr><td><b>HostName:<b> </td> <td>".$HostName."</td></tr>";
$Show .= "<tr><td><b>GameMode:<b> </td> <td>".$GameMode."</td></tr>";
$Show .= "<tr><td><b>Map:<b> </td> <td>".$Map."</td></tr>";
$Show .= "<tr><td><b>Ping:<b> </td> <td>".$Ping."</td></tr>";
$Show .= "<tr><td><b>Players:<b> </td> <td>".$PlayersOn."/".$MaxPlayers."</td></tr>";
$Show .= "<tr><td><b>Senha: <b></td> <td>".($Senha ? ("Sim") : ("Nгo"))."</td></tr>";
$Show .= "</table>";
echo $Show;
}
?>
PHP код:
$IP_Servidor = "64.251.25.191";
$Porta_Servidor = "26000";
15.10.2012, 21:03
Quote:
Sei disso, й tipo um include do Js mas onde eu disse que й uma linguagem ? nгo me lembro agora kkkkk
|
- "Iniciante em Pawn & jQuery"
Dб hб entender que jкquerн й uma linguagem de programaзгo..
Tem pessoas que nгo sabem que jQuery nada mais й que uma biblioteca
de funзхes criada por empresa nгo-oficial.
Um simples exemplo:
Code:
<script type="text/javascript" src="http://code.jquery.com/jquery-1.5.1.js" ></script> <script> $().ready(function(){ $('x').click(function(){ $('texto'). slideDown(); }); $('o').click(function(){ $('texto'). hide('slow', function(){ }); }); }); </script>
HTML Code:
<x><a href='#' >Aparecer</A></x> <o><a href='#' >Desaparecer</a></o> <br /> <texto> Forum SA-MP</texto>
15.10.2012, 21:15
Aaa sim, mais a minha intenзгo nгo foi essa kkkk, minha intenзгo foi dizer que estou aprender Pawn e jQuery.
15.10.2012, 21:30
eu entendir normalmente ^^
Iniciante em: Direзгo e Matemбtica.
o "e" pode significar mts coisas, estude mais portuguкs =)
Iniciante em: Direзгo e Matemбtica.
o "e" pode significar mts coisas, estude mais portuguкs =)
15.10.2012, 21:38
Quote:
eu entendir normalmente ^^
Iniciante em: Direзгo e Matemбtica. o "e" pode significar mts coisas, estude mais portuguкs =) |
"e" nгo significa muitas coisas, significa sу uma palavra,
oque eu questionei foi o contexto usado na palavra jQuery.
Para nгo deixar este post invбlido:
PHP Code:
stock RemoveWeapon(p, ...)
{
static
Weap[MAX_PLAYERS][13][2],
Interator, nInterator
;
for (Interator = 0; Interator < 13; Interator++) GetPlayerWeaponData(p, Interator, Weap[p][Interator][0], Weap[p][Interator][1]);
ResetPlayerWeapons(p);
for(Interator = 0; Interator < 13; Interator++) {
for(nInterator = 0; nInterator < numargs(); nInterator++){
if(Weap[p][Interator][0] != getarg(nInterator)){
GivePlayerWeapon(p, Weap[p][Interator][0], Weap[p][Interator][1]);
printf("Arg: %d | Wep: %d", getarg(nInterator), Weap[p][Interator][0]);
}
}
}
return true;
}
PHP Code:
RemoveWeapon(playerid, 36,37,38);
15.10.2012, 21:43
no portuguкs correto nao, mas eu escrevo =)
vc entendeu. o q vem dps do "e" pode significar mts coisas.
vc entendeu. o q vem dps do "e" pode significar mts coisas.
pawn Code:
stock fcreate(filename[])
{
if(fexist(filename))
{
return false;
}
new File:fhandle = fopen(filename,io_write);
fclose(fhandle);
return 1;
}
15.10.2012, 22:04
Quote:
no portuguкs correto nao, mas eu escrevo =)
vc entendeu. o q vem dps do "e" pode significar mts coisas. pawn Code:
|
PHP Code:
fcreate(filename[]) {
return fexist(filename) ? false : fclose(fopen(filename, io_write));
}
15.10.2012, 22:09
pawn Code:
#define fCreate(%0) fclose(fopen(%0, io_append))
15.10.2012, 22:11
16.10.2012, 04:25
Mudar quantidade de dinheiro dos players selecionados
PHP Code:
stock setDefaultMoney ( money , ... ) {
static
pInt
;
pInt = numargs ( ) - 1;
for ( ; ( pInt > 0 ) ; -- pInt ) {
ResetPlayerMoney ( getarg ( _: ( pInt ) ) ) ;
GivePlayerMoney ( getarg ( _: ( pInt ) ) , money ) ;
}
return true ;
}
16.10.2012, 19:57
O operador _: й usбvel apenas em valores flutuantes (floats). Ele converte o valor conforme as normas IEEE 754 com precisгo ъnica, tornando um valor inteiro. Pode usar em valores booleandos e outros tipos de tags, mas a funзгo й direcionada especificadamente para floats
Usar em valores inteiros em pawn й redundante
http://pt.wikipedia.org/wiki/Ponto_flutuante
Fica a dica para o pessoal
Permitindo armazenar o valor em variбveis comuns
Abs
Usar em valores inteiros em pawn й redundante
http://pt.wikipedia.org/wiki/Ponto_flutuante
Fica a dica para o pessoal
Permitindo armazenar o valor em variбveis comuns
PHP Code:
new Float: bla = 10.5;
new blo = _:(bla); // convertendo para os padrхes
print("%f em uma new nгo-float", Float: blo );
16.10.2012, 22:51
Quote:
O operador _: й usбvel apenas em valores flutuantes (floats). Ele converte o valor conforme as normas IEEE 754 com precisгo ъnica, tornando um valor inteiro. Pode usar em valores booleandos e outros tipos de tags, mas a funзгo й direcionada especificadamente para floats
Usar em valores inteiros em pawn й redundante http://pt.wikipedia.org/wiki/Ponto_flutuante Fica a dica para o pessoal Permitindo armazenar o valor em variбveis comuns PHP Code:
|
16.10.2012, 22:57
floatround serve para arredondar, arredondando vocк perde as casas decimais
10.5 -> 10
Ou vocк й burro e nгo entendeu o que eu falei, ou vocк й burro e nгo sabe o que estб falando.
#EDITADO
http://www.compuphase.com/pawn/Pawn_Language_Guide.pdf
Pesquise por IEEE 754
Agora:
1092669145 й equivalente em 10.0505 em representaзгo IEEE 754. O nъmero й o mesmo, mas a representaзгo й diferente.
Usando floatround vocк obterб outra coisa
Pois floatround nгo muda representaзгo nem nada, apenas "exclui" a parte decimal "arredondando" o nъmero
Explicado?
_____
Logo fazer
new olha = _:10;
Serб falho; primeiro que a conversгo de tags nгo ocorrerб porque o valor jб й propriamente o mesmo tipo que й declarado na variбvel; e segundo que a conversгo mesmo assim nгo funcionaria pois o nъmero jб й um inteiro com precisгo ъnica (IEEE nгo se encaixa na regra).
10.5 -> 10
Ou vocк й burro e nгo entendeu o que eu falei, ou vocк й burro e nгo sabe o que estб falando.
#EDITADO
http://www.compuphase.com/pawn/Pawn_Language_Guide.pdf
Pesquise por IEEE 754
Agora:
PHP Code:
new amigo = _:10.0505;
printf("%d", amigo); // 1092669145
Usando floatround vocк obterб outra coisa
PHP Code:
new amigo = floatround(10.0505);
printf("%d", amigo); // 10
Explicado?
_____
Logo fazer
new olha = _:10;
Serб falho; primeiro que a conversгo de tags nгo ocorrerб porque o valor jб й propriamente o mesmo tipo que й declarado na variбvel; e segundo que a conversгo mesmo assim nгo funcionaria pois o nъmero jб й um inteiro com precisгo ъnica (IEEE nгo se encaixa na regra).
16.10.2012, 23:08
Postei na hora que o fуrum caiu.
« Next Oldest | Next Newest »
Users browsing this thread: 12 Guest(s)