Unas cuбntas ayudas de novato xD
#1

Hola , bueno la cosa es que estoy haciendo un map para mi Test Server , lo que quiero es que cuбndo un usuario pase por un Check Point por ejemplo un arma que le de esa arma , es que hace tiempo que no hago mucho y se me olvidan las cosas xD.

lo otro era їDуnde se pone el codigo de el map?

Perdonen por estas preguntas tan fбciles pero las cosas se me olvidan xD
Reply
#2

Para que te de un arma, puedes usar un PickUp y no un CheckPoint
pawn Код:
new arma;
public OnGameModeInit()
{
    arma = CreateDynamicPickup(IDARMA,8,X,Y,Z,mundo,interior,playerid,Float:distancia);
}
public OnPlayerPickUpDynamicPickup(playerid,pickupid)
{
    if(pickupid == arma)
    {
        GivePlayerWeapon(playerid,arma,ammo);
    }
    return 1;
}
Los mapas se ponen en OnGameModeInit o en OnFilterScriptInit
Reply
#3

Un pequeсo ejemplo para lo de pasar por un M4 y una AK47;

pawn Код:
new PickupM4, PickupAK47; // Creamos las variables del Pickup de M4 y AK-47.

public OnGameModeInit()
{
    PickupM4 = CreatePickup(356, 1, 0.0, 0.0, 0.0, -1); // Creamos el pickup de M4 y luego le asignamos la variable de M4 que creamos.
    PickupAK47 = CreatePickup(355, 1, 1.0, 1.0, 1.0, -1); // Creamos el pickup de AK47 y luego le asignamos la variable de M4 que creamos.
    // El ъltimo parбmetro es de mundo virtual (virtual world), al estar en -1 se ve en todos los mundos virtuales.
    // Al asignarle una variable a un Pickup, la variable se convierte en el "pickupid" que usaremos a continuaciуn.
    return 1;
}

public OnPlayerPickUpPickup(playerid, pickupid)
{
    if(pickupid == PickupM4) // Lo que pasarб al pasar por encima del Pickup.
    {
        GivePlayerWeapon(playerid, 31, 9999); // Da el arma 31 (M4) con 9999 balas.
    }
    else if(pickupid == PickupAK47) // Lo que pasarб al pasar por encima del Pickup.
    {
        GivePlayerWeapon(playerid, 30, 9999); // Da el arma 30 (AK-47) con 9999 balas.
    }
    // Si se van agregando mбs deben ir con else if, y no con if (sуlo el primero va con if).
    return 1;
}
Funciуn CreatePickup;
Код:
CreatePickup(modelo, tipo, Float:X, Float:Y, Float:Z, mundo virtual);
Funciуn GivePlayerWeapon;
Код:
GivePlayerWeapon(playerid, arma, municion);
El modelo (ID del pickup en SAMP) y el tipo se encuentran acб.
El arma (ID del arma en SAMP) se encuentra acб.
Reply
#4

Me podrias poner un ejemplo?
para poner por ejemplo = UZI en la posiciуn = 202.35, 1865.32, 13.14

EDITO: gracias a el ultimo tambien qe no me habнa dado cuenta xD ,
їCуmo puedo dar un vehiculo a un usuario?
Reply
#5

OnPlayerEnterCheckpoint y GivePlayerWeapon

Serнa asн (usando el streamer de Incognito)

pawn Код:
new Checkpoint[MAX_PLAYERS];

public OnGameModeInit()
{
Checkpoint[playerid] = CreateDynamicCP(Float:x, Float:y, Float:z, Float:size, worldid = -1, interiorid = -1, playerid = -1, Float:distance = 100.0);
return 1;
}

public OnPlayerEnterDynamicCP(playerid, checkpointid)
{
if (checkpointid == Checkpoint[playerid])
{
GivePlayerWeapon(playerid, ARMA, BALAS);
}
return 1;
}

Para el map hay varias opciones.

- Los CreateObject / CreateDynamicObject en OnGameModeInit() directamente o creando un stock y los RemoveBuildingForPlayer en OnPlayerConnect(playerid)


Asн:

pawn Код:
public OnGameModeInit()
{
CreateObject(modelid, Float:X, Float:Y, Float:Z, Float:rX, Float:rY, Float:rZ, Float:DrawDistance)
CreateObject(modelid, Float:X, Float:Y, Float:Z, Float:rX, Float:rY, Float:rZ, Float:DrawDistance)
CreateObject(modelid, Float:X, Float:Y, Float:Z, Float:rX, Float:rY, Float:rZ, Float:DrawDistance)
return 1;
}

public OnPlayerConnect(playerid)
{
RemoveBuildingForPlayer(playerid, modelid, Float:fX, Float:fY, Float:fZ, Float:fRadius)
RemoveBuildingForPlayer(playerid, modelid, Float:fX, Float:fY, Float:fZ, Float:fRadius)
RemoveBuildingForPlayer(playerid, modelid, Float:fX, Float:fY, Float:fZ, Float:fRadius)
return 1;
}
O asн:

pawn Код:
public OnGameModeInit()
{
CargarObjetos();
return 1;
}

public OnPlayerConnect(playerid)
{
CargarObjetosDestruidos(playerid);
return 1;
}

stock CargarObjetos()
{
CreateObject (modelid, Float:X, Float:Y, Float:Z, Float:rX, Float:rY, Float:rZ, Float:DrawDistance)
CreateObject (modelid, Float:X, Float:Y, Float:Z, Float:rX, Float:rY, Float:rZ, Float:DrawDistance)
CreateObject (modelid, Float:X, Float:Y, Float:Z, Float:rX, Float:rY, Float:rZ, Float:DrawDistance)
}

stock CargarObjetosDestruidos(playerid)
{
RemoveBuildingForPlayer(playerid, modelid, Float:fX, Float:fY, Float:fZ, Float:fRadius)
RemoveBuildingForPlayer(playerid, modelid, Float:fX, Float:fY, Float:fZ, Float:fRadius)
RemoveBuildingForPlayer(playerid, modelid, Float:fX, Float:fY, Float:fZ, Float:fRadius)
}

Saludos.
Reply
#6

Quote:
Originally Posted by Porta0123
Посмотреть сообщение
Me podrias poner un ejemplo?
para poner por ejemplo = UZI en la posiciуn = 202.35, 1865.32, 13.14

EDITO: gracias a el ultimo tambien qe no me habнa dado cuenta xD ,
їCуmo puedo dar un vehiculo a un usuario?
pawn Код:
new PickupUZI;

public OnGameModeInit()
{
    PickupUZI = CreatePickup(352, 1, 202.35, 1865.32, 13.14, -1);
    return 1;
}

public OnPlayerPickUpPickup(playerid, pickupid)
{
    if(pickupid == PickupUZI)
    {
        GivePlayerWeapon(playerid, 28, 9999);
    }
    return 1;
}
Si no utilizas el plugin streamer de Incognito, no deberнas usar la funciуn CreateDynamicPickup (es la funciуn que usу godoy). La diferencia es que el plugin hace que puedas poner pickups infinitos debido al streamer, pero con CreatePickup puedes crear hasta 4096 pickups, y dudo que alguien use mбs de eso. Otra diferencia es que con la funciуn del streamer puedes fijarle una distancia de visibilidad al pickup, y la posibilidad de crearlo en un interior.

PD: Para pickups que al pasar te den armaduras, armas o vida, usa el tipo 1.
Reply
#7

їCуmo hago para dar un Vehiculo a alguien?
Reply
#8

їMediante quй? їun comando? explнcate mбs, por ejemplo, que el vehнculo aparezca al usar un comando y el jugador automбticamente aparezca como conductor de йl, o crear el vehнculo con iniciar al servidor.
Reply
#9

Lo mismo pero usando CreateVehicle
Reply
#10

cuбndo un usuario use el comadno /vehicle le envie un turismo:
me da problemas el comando =
pawn Код:
if (strcmp("/vehicle", cmdtext, true, 10) == 0)
    {
      new Float:x, Float:y, Float:z, Float:angle
      GetPlayerPos(playerid, x, y, z, angle);
      CreateVehicle(451, x, y, z, angle, 6, 1, 100);
      SendClientMessage(playerid, yellow, "Has recivido un Turismo");
      return 1;
    }
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)