[Tutorial]Crear zonas de NO DM/Pacificas
#1

Antes de empezar agradezco a [L3th4l] por haberme guiado a como crear dichas zonas y al servidor de Camiloasc1 por la idea

Antes de empezar te recomiendo descargarte Este programa para que puedas sacar las coordenadas de tu zona.

Bien empecemos.




Los parбmetros y funciones que utilizarй son parte de "Streamer" y sуn los siguientes

pawn Код:
forward OnPlayerEnterDynamicArea(playerid, areaid);
forward OnPlayerLeaveDynamicArea(playerid, areaid);
native CreateDynamicRectangle(Float:minx, Float:miny, Float:maxx, Float:maxy, worldid = -1, interiorid = -1, playerid = -1);
Nota: Pueden ser de distintas maneras, para informarte mбs entra al Post Original de Incognito para ver sus funciones/parбmetros

Empezaremos en el callback

pawn Код:
new TuZona;

public OnGameModeInit()
{
        TuZona = CreateDynamicRectangle(minx, miny, maxx, maxy, -1, -1, -1);
 
    return 1;
}
En este crearemos un rectбngulo tal y como se ve ahн.

Nota: Cambia los parбmetros por las coordenadas y todo en -1 dйjalo como estб


Ahora para hacer que cuando un jugador entre a dicha бrea haga acciones contra el como Remover armas, dar, etc.


pawn Код:
public OnPlayerEnterDynamicArea(playerid, areaid)
{
if(areaid == TuZona)
    {
      GameTextForPlayer(playerid, "~w~Has entrado a una zona pacifica, ~r~todas tus armas fueron removidas!", 4000, 3);//texto que aparecerб en la pantalla del jugador
      ResetPlayerWeapons(playerid);//Le quitarб las armas
      }
    return 1;
}
Ahora para cuando el jugador salga de dicha area

pawn Код:
public OnPlayerLeaveDynamicArea(playerid, areaid)
{
     if(areaid == TuZona)
    {
        GameTextForPlayer(playerid, "~w~Has salido de la zona pacifica, ~b~armas permitidas!", 4000, 3);//Texto que aparecerб
        //puedes agregar mбs funciones como GivePlayerWeapon etc.
        }
    return 1;
}
Y eso serнa todo, es algo sencillo, debido a que muchos quizбs no puedan o no sepan, sуlo les quiero dar un apoyo (':

Saludos!

Nota: Pude haberme equivocado en cualquier cosa, por favor, si hay algo mal, hagamelo saber! :'D Todos aprendemos de errores, saludos!!De nuevo xd
Reply
#2

pawn Код:
public OnPlayerLeaveDynamicArea(playerid, areaid)
{
     if(areaid == TuZona)
    {
        GameTextForPlayer(playerid, "~w~Has salido de la zona pacifica, ~b~armas permitidas!", 4000, 3);//Texto que aparecerб
//puedes agregar mбs funciones como GivePlayerWeapon etc.
    return 1;
}
Es:

pawn Код:
public OnPlayerLeaveDynamicArea(playerid, areaid)
{
     if(areaid == TuZona)
    {
        GameTextForPlayer(playerid, "~w~Has salido de la zona pacifica, ~b~armas permitidas!", 4000, 3);//Texto que aparecerб
    }
//puedes agregar mбs funciones como GivePlayerWeapon etc.
    return 1;
}
Reply
#3

failx2: (te olvidaste de cerrar brakets)

pawn Код:
public OnPlayerLeaveDynamicArea(playerid, areaid)
{
    if(areaid == TuZona)
    {
        GameTextForPlayer(playerid, "~w~Has salido de la zona pacifica, ~b~armas permitidas!", 4000, 3);//Texto que aparecerб
        //puedes agregar mбs funciones como GivePlayerWeapon etc.
    }
    return 1;
}
pawn Код:
public OnPlayerEnterDynamicArea(playerid, areaid)
{
    if(areaid == TuZona)
    {
        GameTextForPlayer(playerid, "~w~Has entrado a una zona pacifica, ~r~todas tus armas fueron removidas!", 4000, 3);//texto que aparecerб en la pantalla del jugador
        ResetPlayerWeapons(playerid);//Le quitarб las armas
    }
    return 1;
}
Buen tuto aun que no 100% efectivo en servers con cmds de armas etc.
Reply
#4

Claro pero se podria hacer un sistema de blockeo.
pawn Код:
CMD:armas(playerid, params[])
{
if(IsPlayerInArea(playerid, TuZona)) return SendClientMessage(playerid, COLOR_RED, "No puedes suar este comando aqui");
ShowPlayerDialog...
return 1;
}
Reply
#5

Quote:
Originally Posted by leaNN!
Посмотреть сообщение
Claro pero se podria hacer un sistema de blockeo.
pawn Код:
CMD:armas(playerid, params[])
{
if(IsPlayerInArea(playerid, TuZona)) return SendClientMessage(playerid, COLOR_RED, "No puedes suar este comando aqui");
ShowPlayerDialog...
return 1;
}
con variables/arrays es mas efectivo
Reply
#6

Ya arreglo los brackets xD

P.D No puse el bloqueo de comandos ya que es algo no tan complicado pero se llevarнa su tiempo para restringir cada comando LOL XD
Reply
#7

Si chaoz, no se que flashie cuando puse eso.
Hoy lo pense y me di cuenta de que era cualquiera xD
Reply
#8

Gracias lunna! para cuando tenga un DM :P
Reply
#9

Quote:
Originally Posted by murdoxix
Посмотреть сообщение
Gracias lunna! para cuando tenga un DM :P
LOL XD No es tan complicado :P
Reply
#10

hola sucede q sigo todo bien y pues pasa que al spawnear me sale el mensaje y me quita las armas -.- y en segundos sale ya puedes usar armas y segui todo como decia
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)