GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Szkript kérések => A témát indította: Zippanto - 2016. február 29. - 07:03:31

Cím: Teleport funkció hiba
Írta: Zippanto - 2016. február 29. - 07:03:31
Sziasztok! Könnyíteni akartam a munkámon és elkezdtem egy teleport funkciót írni, amit beírtam az OnPlayerUpdate alá, de mindig az adott kordinátára dob :SS
 
forward Teleport(playerid,Float:range,Float:ax,Float:ay,Float:az,Float:bx,Float:by,Float:bz,interior);

 

public Teleport(playerid,Float:range,Float:ax,Float:ay,Float:az,Float:bx,Float:by,Float:bz,interior)
{
    if(IsPlayerInRangeOfPoint(playerid, range, ax, ay, az))
    {
        SetPlayerPos(playerid,bx,by,bz);
        SetPlayerInterior(playerid,interior);
        PlayerInfo[playerid][PosInt] = interior;
        PlayerInfo[playerid][PosX] = bx;
        PlayerInfo[playerid][PosX] = by;
        PlayerInfo[playerid][PosX] = bz;
    }
    return 1;
}

 
az A betűvel kezdődő kordináták az ahol éppen áll a player, a B ahova rakja le.
Cím: Teleport funkció hiba
Írta: Brian Harris - 2016. február 29. - 09:57:27
public Teleport(playerid,Float:range,Float:ax,Float:ay,Float:az,Float:bx,Float:by,Float:bz,interior)
{
    if(IsPlayerInRangeOfPoint(playerid, range, ax, ay, az))
    {
        SetPlayerPos(playerid,bx,by,bz);
        SetPlayerInterior(playerid,interior);
        PlayerInfo[playerid][PosInt] = interior;
        PlayerInfo[playerid][PosX] = bx;
        PlayerInfo[playerid][PosX] = by;
        PlayerInfo[playerid][PosX] = bz;
    }
    return 1;
}

 
így is használod?
 
public OnPlayerUpdate(playerid)
{
     new Float:Poz[3];
     GetPlayerPos(playerid, Poz[0], Poz[1], Poz[2]);
     Teleport(playerid,5.0,Poz[0], Poz[1], Poz[2], 0 ,0 ,3,0);
     return true;
}
Cím: Teleport funkció hiba
Írta: Zippanto - 2016. február 29. - 16:02:27
Nem így csináltam, teljesen máshogy de így nekem is jobban tetszik, még valami, ha többet akarok akkor azt hogy csináljam meg?
Így jó lenne?
 
public OnPlayerUpdate(playerid)
{
     new Float:Poz[3];
     GetPlayerPos(playerid, Poz[0], Poz[1], Poz[2]);
     Teleport(playerid,5.0,Poz[0], Poz[1], Poz[2], 0 ,0 ,3,0);
     Teleport(playerid,5.0,Poz[0],Poz[1],Poz[2],500,500,500,0);
     return true;
}
Cím: Teleport funkció hiba
Írta: BVZS - 2016. február 29. - 16:15:15
        PlayerInfo[playerid][PosX] = bx;
        PlayerInfo[playerid][PosX] = by;
        PlayerInfo[playerid][PosX] = bz;

 
Szerintem ne ugyan abba a változóba ments 3 koordinátát :D ([PosX] van mindegyiknél)
Cím: Teleport funkció hiba
Írta: Zippanto - 2016. február 29. - 16:17:00
Figyelmetlenség volt, köszi h szóltál.
Amúgy első hozzászóló: annak sok értelme nem lenne, mivel lekéri a pozt, és ha annál a poznál van (ezesetben amit lekért) akkor elteleportálja, lehet én értelmezem rosszul de szerintem az van ott.

Dupla hozzászólás automatikusan összefûzve. ( 2016. február 29. - 16:34:22 )

Sikerült megcsinálnom. Azért köszi szépen a segítségeteket, 1. hozzászóló adott egy ötletet egy másik script elkészítésében a 2. meg egy figyelmetlenségre hívta fel a figyelmem!