SA-MP Forums Archive
[Ajuda]comandos de teleportes - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda]comandos de teleportes (/showthread.php?tid=111789)



[Ajuda]comandos de teleportes - Smigol - 03.12.2009

Tenho um gm aqui ele tem varios teleportes, so que os teleportes quando o player digita o comando o player e teleportado na hora, e tem muitos players que se aproveitгo disso em batalhas quando estгo morrendo, gostaria que alguem me ajuda-se queria que o player levase uns 5 seg depois de digita o comando, e gostaria de bota que o player nao poderia se mover nesses 5 seg.

Se alguem souber me ajuda eu agradeзo xD.


Re: [Ajuda]comandos de teleportes - -xy! - 03.12.2009

nгo entendi muito bem, vocк quer que quando o player entre em um x1, qualquer comando que tenha como funзгo teleportar, nгo funcione?


Re: [Ajuda]comandos de teleportes - Smigol - 03.12.2009

Nгo eu quero que funcione mais demore tipo 5 segundos para ele ser teleportado, e durrante esses 5 segundos o player noa pode se mover.
Por exemplo ele digita /x1 dae aparece uma mensagem no chat "Nгo se mova vocк sera teleportado".


Re: [Ajuda]comandos de teleportes - .Unnamed - 12.11.2011

No comeзo do Gamemode:

Code:
new Float: posX, Float: posY,Float: posZ;
forward Teleportando(playerid);
OnPlayerCommandText:

Code:
if(strcmp(cmdtext,"/teleport",true) == 0)
{
   GetPlayerPos(playerid,posX,posY,posZ);
   SetTimerEx("Teleportando",5000,false,"d",playerid);
   SendClientMessage(playerid,0xFFFF56,"Teleportando em 5 segundos. Nгo se mova nestes instantes!");
   return 1;
}
Fim do GameMode:

Code:
public Teleportando(playerid)
{
   new Float:x,Float:y,Float:z;
   GetPlayerPos(x,y,z);
   if(posX,posY,posZ != x,y,z) return SendClientMessage(playerid,0xFFFFFF,"Vocк nгo ficou na mesma posiзгo e nгo foi teleportado.");
   else
   {
       SetPlayerPos(playerid,Coordenada Desejada aqui);
       SendClientMessage(playerid,0xFFFFFF,"Teleportado com sucesso!");
   }
   return 1;
}
Espero Ter ajudado


Re: [Ajuda]comandos de teleportes - [BVE]Lucas_Locate - 12.11.2011

Quote:
Originally Posted by Smigol
View Post
Tenho um gm aqui ele tem varios teleportes, so que os teleportes quando o player digita o comando o player e teleportado na hora, e tem muitos players que se aproveitгo disso em batalhas quando estгo morrendo, gostaria que alguem me ajuda-se queria que o player levase uns 5 seg depois de digita o comando, e gostaria de bota que o player nao poderia se mover nesses 5 seg.

Se alguem souber me ajuda eu agradeзo xD.
Pra mim nгo existe,Nem ferrando,Nem tem como

Vamos ver se outra pessoa sabe para te ajudar


Re: [Ajuda]comandos de teleportes - [O.z]Caroline - 12.11.2011

pawn Code:
new tTemp[MAX_PLAYERS char];

stock OnTele(pid, txt[])
{
    if(tTemp{pid} != 0 && tTemp{pid} - gettime() < 5)
        return SendClientMessage(pid, -1,"Espere 5 Segundos!");
       
    SendClientMessage(pid, -1,"Espere alguns seguindos para ir stй o seu teleporte.");
    SetTimerEx("ToTele", 5000, false, "is", pid, txt);
    tTemp{pid} = gettime();
    return 1;
}

ToTele(pl, tel[]);
public ToTele(pl, tel[])
{
    if(IsPlayerConnected(pl))
    {
        #if !defined _zcmd_included
        CallLocalFunction("OnPlayerCommandText", "is", pl, tel);
        #else
        static
            str[128];
        format(str, sizeof(str),"cmd_%s(%i, %i)", tel, pl, "params");
        CallLocalFunction(str, "");
        #endif
        tTemp{pl} = 0;
    }
    return 1;
}
Coloque isto "OnTele(playerid, cmdtext);" Dentro do comando que for executado.
Crйditos: meol.


Re: [Ajuda]comandos de teleportes - ReDKiiL - 12.11.2011

Duvida

Caroline o Que й char?

que voce criou ali new tTemp[MAX_PLAYERS char];



Re: [Ajuda]comandos de teleportes - rjjj - 12.11.2011

Quote:
Originally Posted by ReDKiiL
View Post
Duvida

Caroline o Que й char?

que voce criou ali new tTemp[MAX_PLAYERS char];

Usa-se char para transformar o nъmero de cells de uma variбvel array no menor nъmero de cells capaz de armazenar a mesma quantidade de valores que aquela mas usando 8 bits (1/4 da cell) para cada valor .


A variбvel array abaixo, que tem 1 cell :


pawn Code:
new x[1];

Pode armazenar apenas 1 letra/nъmero normal e 4 valores packed (valores armazenados por partнculas de 8 bits, ou seja, por 1/4 (um quarto) de cell).




Mas como isso й possнvel ? .



Bem, cada cell de uma array tem 4 bytes de tamanho e cada letra ou nъmero tem 1 byte de tamanho .



Entгo vocк pensa, se 1 byte de uma cell de array pode armazenar 1 byte de valor numйrico ou alfabйtico, entгo pra que os outros 3 bytes ? .



Os outros 3 bytes (ou uma parcela deles) serгo utilizados quando o valor numйrico ou alfabйtico que se quer armazenar for maior que 255 (as letras/nъmeros que citei antes eram os menores ou iguais a 255/da Tabela ASCII ), pois nesse caso, ele terб um nъmero de bits em sua composiзгo binбria maior, e consequentemente, um tamanho maior .


Entгo, ao armazenar valores daquele tipo a cell apenas passa a usar 100% de sua capacidade .


Em compensaзгo, elas acabam podendo armazenar apenar valores menores ou iguais a 255, incluindo todos os valores da tabela ASCII .



Exemplo:


pawn Code:
new o[4 char];  //Ou new o[1];  pois basicamente o char divide a quantidade atual de cells por 4.
o{0} = 5;
o{1} = 6;
o{2} = 7;
o{3} = 8;
//o{4} geraria um error, pois todas as partes (de 1/4 cada uma) da cell jб teriam sido utilizadas.
printf("%i", o{2});  //Imprimirб o nъmero 7


Espero ter ajudado .


Re: [Ajuda]comandos de teleportes - PlueX - 12.11.2011

Bom no caso do ".Unnamed" ocorreu os seguintes erros.

pawn Code:
(4222) : warning 213: tag mismatch
(4222) : warning 202: number of arguments does not match definition
Callback(public):

pawn Code:
public Teleportando(playerid)
{
   new Float:x,Float:y,Float:z;
   GetPlayerPos(x,y,z); //Linha do erro.
   if(posX,posY,posZ != x,y,z) return SendClientMessage(playerid,0xFFFFFF,"Vocк nгo ficou na mesma posiзгo e nгo foi teleportado.");
   else
   {
       SendClientMessage(playerid,0xFFFFFF,"Teleportado com sucesso!");
   }
   return 1;
}



Re: [Ajuda]comandos de teleportes - Dolby - 12.11.2011

pawn Code:
public Teleportando(playerid)
{
   new Float:x,Float:y,Float:z;
   GetPlayerPos(playerid,x,y,z); //Linha do erro.
   if(posX != x && posY != y && posZ !=z) return SendClientMessage(playerid,0xFFFFFF,"Vocк nгo ficou na mesma posiзгo e nгo foi teleportado.");
   SendClientMessage(playerid,0xFFFFFF,"Teleportado com sucesso!");
   SetPlayerPos(playerid,Coordenada Desejada aqui);
   return 1;
}