| Welcome, Guest |
You have to register before you can post on our site.
|
| Forum Statistics |
» Members: 7,759
» Latest member: LCSLaces
» Forum threads: 2,366
» Forum posts: 12,318
Full Statistics
|
| Online Users |
There are currently 520 online users. » 2 Member(s) | 514 Guest(s) Yandex, Google, Bing, Baidu, marion2brune, LCSLaces
|
| Latest Threads |
Infamous Roleplay
Forum: Advertisements
Last Post: JakeFalcone
11 hours ago
» Replies: 0
» Views: 26
|
The server didn't respond...
Forum: Support
Last Post: HELLHOUND
Yesterday, 01:17 PM
» Replies: 1
» Views: 163
|
Grand Gang War (GGW)
Forum: Advertisements
Last Post: piroballu
2025-12-09, 01:16 PM
» Replies: 1
» Views: 227
|
PROJECT: LOS ANGELES — TH...
Forum: Advertisements
Last Post: DevonH
2025-12-06, 01:43 AM
» Replies: 3
» Views: 708
|
Zona América del Sur DM+ ...
Forum: Advertisements
Last Post: kevinberriosflores
2025-12-05, 10:59 PM
» Replies: 0
» Views: 59
|
Real-time pathfinder, opt...
Forum: Pawn Scripting
Last Post: ejtamovic
2025-12-05, 02:06 PM
» Replies: 0
» Views: 101
|
The size of the output am...
Forum: Questions and Suggestions
Last Post: scandalfive
2025-12-01, 07:07 PM
» Replies: 0
» Views: 107
|
Garsiono's, Ricardo's, Tr...
Forum: Advertisements
Last Post: drwnrbbt
2025-12-01, 10:15 AM
» Replies: 0
» Views: 96
|
After School Roleplay [ R...
Forum: Advertisements
Last Post: cosminupgaming
2025-11-29, 09:39 PM
» Replies: 1
» Views: 356
|
Voltage Roleplay [English...
Forum: Advertisements
Last Post: JamesC
2025-11-29, 09:27 PM
» Replies: 0
» Views: 94
|
|
|
| Open Roleplay | AI Actors (2.0) |
|
Posted by: Corne - 2025-01-03, 06:31 PM - Forum: Videos and Screenshots
- No Replies
|
 |
Started out with some actors that had the ability to talk back to the player like in this video:
[Video: https://www.youtube.com/watch?v=ZoWpUR5I7V8]
Now, in the latest update, the actors can also use commands such as /me and /do to roleplay, and they can also interact with other actors. It needs more work to be stable, but for now I'm using it to make the login/registration screen more interesting.
[Video: https://www.youtube.com/watch?v=RMHRkCpbA9A]
Right now, it's still a work in progress, I'm not confident enough to let players interact with it because it is still somewhat unstable and can break down and become gibberish (even now it still isn't always perfect), but if I can get this to a more stable state, I could see so many interesting possibilities for interactions with actors/NPCs, especially in a roleplay setting. Imagine going to the store and literally telling the actor what you want, or going to a car dealership and talking to the salesman, or even needing to do an actual interview for a job, and the actor can hire you based on that interview. So many possibilities.
|
|
|
|
| Toggleable HUD / Underground MP changes |
|
Posted by: Corne - 2025-01-01, 09:52 PM - Forum: Questions and Suggestions
- Replies (1)
|
 |
So, my main suggestion was that it would be very nice to be able to toggle the HUD (cash, health, weapon, minimap, etc). Underground Multiplayer has done this in the past as an extension to SA-MP as well.
But then I was thinking, while we're at it, why not look into all the changes that Underground MP did? Other changes like being able to give cars any color you want are pretty amazing too. Has there ever been any communication from the Open MP team with the former Underground MP dev team about this?
It would/could break compatibility with SA-MP clients, but this could be a config setting like 0.3.7 compatibility, right?
|
|
|
|
| Open Roleplay | Biome Generator V3 |
|
Posted by: Corne - 2025-01-01, 09:24 PM - Forum: Videos and Screenshots
- No Replies
|
 |
I've posted some videos and photos of this in the past, but after many years I've picked up on this project again for my upcoming roleplaying server.
Current history so far:
V1: Was written in PAWN, world generation took 30 - 60 minutes and during that time you couldn't join the server.
V2: Was written in .NET using spaghetti code, world generation took roughly 15 minutes and during that time you could play on the server and see it happen in front of you, see Young Fir Forest & Dense Fir Forest video.
V3: Fully refactored the code in .NET and made it organized, clean and now partially supports multi-threading. World generation now takes roughly 100 seconds, does give a bit of a lag spike on the server while it is generating.
Little disclaimer: This is not yet actually for the entire world. Red County and Whetstone are near fully implemented, Flint County and Bone County still have to be done. I also have plans to add way more biomes in the future, and even underwater biomes, all of which will increase the generation time.
[Video: https://www.youtube.com/watch?v=fF0cSdKCPnw]
[Video: https://www.youtube.com/watch?v=0Q5gp7N4M0M]
[Video: https://www.youtube.com/watch?v=KvREbFi6sb0]
[Video: https://www.youtube.com/watch?v=c5YGdkrZHsE]
I also have plans for a V4 in the future. I believe I can get the world generation time down even more, but for now I am satisfied and working on other more important features for the server. The biome generator is not just meant to be a gimmick but have an actual purpose for RPG elements like crafting, gathering, hunting, woodcutting, mining, etc.
|
|
|
|
| ayuda con sistema de zonas |
|
Posted by: Nikolay_Staggs - 2024-12-31, 07:40 AM - Forum: Programaci?n
- No Replies
|
 |
hola amigos me preguntaba si me podían pasarme un sistema de conquistar zonas basico como no le entiendo aun me cerbiria mucho plis lo cambio por otro sistema que tenga tengo robo a banco tengo sistema vip tengo sistema cambiar color Random a un vehiculo tengo sistema de bombas de aera lo cambio por una de esas solo necesito el sistema de conquistar zonas plis
|
|
|
|
| Problema con sistema de casa |
|
Posted by: Nikolay_Staggs - 2024-12-28, 09:50 AM - Forum: Programaci?n
- Replies (2)
|
 |
tengo un problema con mi sistema de casas por ejemplo compro la casa ID 0 y la ID 1 bueno entro a la ID 1 y cuando salGO de la ID 1 salgo en la ID 0 no se si es porque mi servidor TDM
CMD:entrar(jugador, params[])
{
para (new i = 0; i < MAX_PROPERTY; i++) //- Sistema de casas
{
if(IsPlayerInRangeOfPoint(playerid, 1.0, INFO_PROPERTY[i][p_POS_EXT][0], INFO_PROPERTY[i][p_POS_EXT][1], INFO_PROPERTY[i][p_POS_EXT][2]))
{
if(INFO_PROPERTY[i][p_CLOSED] == 0)
{
¡¡¡¡si(INFO_PROPERTY[i][p_BOUGHT] == 1 && !strcmp(PlayerName(playerid), INFO_PROPERTY[i][p_OWNER]))
{
SetPlayerPosEx(playerid, INFO_PROPERTY[i][p_POS_INT][0], INFO_PROPERTY[i][p_POS_INT][1], INFO_PROPERTY[i][p_POS_INT][2], 0.0, INFO_PROPERTY[i][p_INTERIOR], i+10);
TEMPORAL_PLAYER[playerid][t_AT_HOME] = i;
SetCameraBehindPlayer(jugador);
TogglePlayerControlable(reproductor, falso);
GameTextForPlayer(jugador, "~g~Cargando~n~ ~w~~h~~h~Objetos", 3000, 1);
TEMPORAL_PLAYER[playerid][t_TIMER][2] = SetTimerEx("RemoverObjectos", 3000, false, "i", playerid);
regreso 1;
}
otra cosa
{
ShowPlayerMessage(jugador, "~y~No eres el dueño de esta propiedad", 3);
}
}
otra cosa
{
ShowPlayerMessage(jugador, "~r~Cerrado", 3);
}
regreso 1;
}
}
regreso 1;
}
CMD:salir(jugador, params[])
{
para (new i = 0; i < MAX_PROPERTY; i++) //- Sistema de casas
{
if(IsPlayerInRangeOfPoint(playerid, 1.0, INFO_PROPERTY[i][p_POS_INT][0], INFO_PROPERTY[i][p_POS_INT][1], INFO_PROPERTY[i][p_POS_INT][2]))
{
SetPlayerPosEx(playerid, INFO_PROPERTY[i][p_POS_EXT][0], INFO_PROPERTY[i][p_POS_EXT][1], INFO_PROPERTY[i][p_POS_EXT][2], 0.0, 0, 0);
TEMPORAL_PLAYER[playerid][t_AT_HOME] = -1;
SetCameraBehindPlayer(jugador);
TogglePlayerControlable(reproductor, falso);
GameTextForPlayer(jugador, "~g~Cargando~n~ ~w~~h~~h~Objetos", 3000, 1);
TEMPORAL_PLAYER[playerid][t_TIMER][2] = SetTimerEx("RemoverObjectos", 3000, false, "i", playerid);
regreso 1;
}
}
regreso 1;
}
CMD:crearcasa(jugador, params[])
{
nuevo tipo, precio, str[250];
if(sscanf(params, "dd", type, price)) volver SendClientMessage(playerid, -1, "Syntax: /crearcasa [tipo de casa] [price]");
¿si (tipo < 1 || tipo > 5) devolver SendClientMessage(playerid, -1, "Las casas est?n entre 1 y 5 espacios.");
para (nuevo cid = 0; cid < MAX_PROPERTY; cid++)
{
¡si (!INFO_PROPERTY[cid][p_TIPO])
{
GetPlayerPos(playerid, INFO_PROPERTY[cid][p_POS_EXT][0], INFO_PROPERTY[cid][p_POS_EXT][1], INFO_PROPERTY[cid][p_POS_EXT][2])
INFO_PROPERTY[cid][p_TYPE] = tipo;
INFO_PROPERTY[cid][p_BOUGHT] = 0;
INFO_PROPERTY[cid][p_CERRADO] = 0;
switch(tipo)
{
caso 1:
{
INFO_PROPERTY[cid][p_POS_INT][0] = 446.7660;
INFO_PROPERTY[cid][p_POS_INT][1] = 507.1065;
INFO_PROPERTY[cid][p_POS_INT][2] = 1001.4206;
INFO_PROPERTY[cid][p_PRICE] = precio;
INFO_PROPERTY[cid][p_INTERIOR] = 12;
}
caso 2:
{
INFO_PROPERTY[cid][p_POS_INT][0] = 2495.9719;
INFO_PROPERTY[cid][p_POS_INT][1] = -1693.5554;
INFO_PROPERTY[cid][p_POS_INT][2] = 1014.8061;
INFO_PROPERTY[cid][p_PRICE] = precio;
INFO_PROPERTY[cid][p_INTERIOR] = 3;
}
caso 3:
{
INFO_PROPERTY[cid][p_POS_INT][0] = 2455.6968;
INFO_PROPERTY[cid][p_POS_INT][1] = -1698.3298;
INFO_PROPERTY[cid][p_POS_INT][2] = 1013.5068;
INFO_PROPERTY[cid][p_PRICE] = precio;
INFO_PROPERTY[cid][p_INTERIOR] = 2;
}
caso 4:
{
INFO_PROPERTY[cid][p_POS_INT][0] = 2524.9165;
INFO_PROPERTY[cid][p_POS_INT][1] = -1679.4109;
INFO_PROPERTY[cid][p_POS_INT][2] = 1015.4873;
INFO_PROPERTY[cid][p_PRICE] = precio;
INFO_PROPERTY[cid][p_INTERIOR] = 1;
}
caso 5:
{
INFO_PROPERTY[cid][p_POS_INT][0] = 2807.5103;
INFO_PROPERTY[cid][p_POS_INT][1] = -1174.0422;
INFO_PROPERTY[cid][p_POS_INT][2] = 1025.5898;
INFO_PROPERTY[cid][p_PRICE] = precio;
INFO_PROPERTY[cid][p_INTERIOR] = 8;
}
}
formato(str,sizeof(str),"{00A8FF}EN VENTA\n {FFFFFF}Precio:{00A8FF}%d\n {FFFFFF}ID casa:{00A8FF}%d\n {FFFFFF}Usa{00A8FF}/comprarcasa", precio, cid);
INFO_PROPERTY[cid][p_LABEL] = Create3DTextLabel(str, -1, INFO_PROPERTY[cid][p_POS_EXT][0], INFO_PROPERTY[cid][p_POS_EXT][1], INFO_PROPERTY[cid][p_POS_EXT][2], 10.0, 0, 0);
CreateDynamicMapIcon(INFO_PROPERTY[cid][p_POS_EXT][0], INFO_PROPERTY[cid][p_POS_EXT][1], INFO_PROPERTY[cid][p_POS_EXT][2], 31, -1, 0, 0);
ActualizarCasa(cid);
cid = MAX_PROPERTY;
}
}
regreso 1;
}
no se que hacer porfa ayuda
|
|
|
|
| Problema con sistema de casa |
|
Posted by: Nikolay_Staggs - 2024-12-28, 08:17 AM - Forum: Programaci?n
- No Replies
|
 |
tengo un problema con mi sistema de casas por ejemplo compro la casa ID 0 y la ID 1 bueno entro a la ID 1 y cuando salGO de la ID 1 salgo en la ID 0 no se si es porque mi servidor TDM
CMD:entrar(jugador, params[])
{
para (new i = 0; i < MAX_PROPERTY; i++) //- Sistema de casas
{
if(IsPlayerInRangeOfPoint(playerid, 1.0, INFO_PROPERTY[i][p_POS_EXT][0], INFO_PROPERTY[i][p_POS_EXT][1], INFO_PROPERTY[i][p_POS_EXT][2]))
{
if(INFO_PROPERTY[i][p_CLOSED] == 0)
{
¡¡¡¡si(INFO_PROPERTY[i][p_BOUGHT] == 1 && !strcmp(PlayerName(playerid), INFO_PROPERTY[i][p_OWNER]))
{
SetPlayerPosEx(playerid, INFO_PROPERTY[i][p_POS_INT][0], INFO_PROPERTY[i][p_POS_INT][1], INFO_PROPERTY[i][p_POS_INT][2], 0.0, INFO_PROPERTY[i][p_INTERIOR], i+10);
TEMPORAL_PLAYER[playerid][t_AT_HOME] = i;
SetCameraBehindPlayer(jugador);
TogglePlayerControlable(reproductor, falso);
GameTextForPlayer(jugador, "~g~Cargando~n~ ~w~~h~~h~Objetos", 3000, 1);
TEMPORAL_PLAYER[playerid][t_TIMER][2] = SetTimerEx("RemoverObjectos", 3000, false, "i", playerid);
regreso 1;
}
otra cosa
{
ShowPlayerMessage(jugador, "~y~No eres el dueño de esta propiedad", 3);
}
}
otra cosa
{
ShowPlayerMessage(jugador, "~r~Cerrado", 3);
}
regreso 1;
}
}
regreso 1;
}
CMD:salir(jugador, params[])
{
para (new i = 0; i < MAX_PROPERTY; i++) //- Sistema de casas
{
if(IsPlayerInRangeOfPoint(playerid, 1.0, INFO_PROPERTY[i][p_POS_INT][0], INFO_PROPERTY[i][p_POS_INT][1], INFO_PROPERTY[i][p_POS_INT][2]))
{
SetPlayerPosEx(playerid, INFO_PROPERTY[i][p_POS_EXT][0], INFO_PROPERTY[i][p_POS_EXT][1], INFO_PROPERTY[i][p_POS_EXT][2], 0.0, 0, 0);
TEMPORAL_PLAYER[playerid][t_AT_HOME] = -1;
SetCameraBehindPlayer(jugador);
TogglePlayerControlable(reproductor, falso);
GameTextForPlayer(jugador, "~g~Cargando~n~ ~w~~h~~h~Objetos", 3000, 1);
TEMPORAL_PLAYER[playerid][t_TIMER][2] = SetTimerEx("RemoverObjectos", 3000, false, "i", playerid);
regreso 1;
}
}
regreso 1;
}
CMD:crearcasa(jugador, params[])
{
nuevo tipo, precio, str[250];
if(sscanf(params, "dd", type, price)) volver SendClientMessage(playerid, -1, "Syntax: /crearcasa [tipo de casa] [price]");
¿si (tipo < 1 || tipo > 5) devolver SendClientMessage(playerid, -1, "Las casas est?n entre 1 y 5 espacios.");
para (nuevo cid = 0; cid < MAX_PROPERTY; cid++)
{
¡si (!INFO_PROPERTY[cid][p_TIPO])
{
GetPlayerPos(playerid, INFO_PROPERTY[cid][p_POS_EXT][0], INFO_PROPERTY[cid][p_POS_EXT][1], INFO_PROPERTY[cid][p_POS_EXT][2])
INFO_PROPERTY[cid][p_TYPE] = tipo;
INFO_PROPERTY[cid][p_BOUGHT] = 0;
INFO_PROPERTY[cid][p_CERRADO] = 0;
switch(tipo)
{
caso 1:
{
INFO_PROPERTY[cid][p_POS_INT][0] = 446.7660;
INFO_PROPERTY[cid][p_POS_INT][1] = 507.1065;
INFO_PROPERTY[cid][p_POS_INT][2] = 1001.4206;
INFO_PROPERTY[cid][p_PRICE] = precio;
INFO_PROPERTY[cid][p_INTERIOR] = 12;
}
caso 2:
{
INFO_PROPERTY[cid][p_POS_INT][0] = 2495.9719;
INFO_PROPERTY[cid][p_POS_INT][1] = -1693.5554;
INFO_PROPERTY[cid][p_POS_INT][2] = 1014.8061;
INFO_PROPERTY[cid][p_PRICE] = precio;
INFO_PROPERTY[cid][p_INTERIOR] = 3;
}
caso 3:
{
INFO_PROPERTY[cid][p_POS_INT][0] = 2455.6968;
INFO_PROPERTY[cid][p_POS_INT][1] = -1698.3298;
INFO_PROPERTY[cid][p_POS_INT][2] = 1013.5068;
INFO_PROPERTY[cid][p_PRICE] = precio;
INFO_PROPERTY[cid][p_INTERIOR] = 2;
}
caso 4:
{
INFO_PROPERTY[cid][p_POS_INT][0] = 2524.9165;
INFO_PROPERTY[cid][p_POS_INT][1] = -1679.4109;
INFO_PROPERTY[cid][p_POS_INT][2] = 1015.4873;
INFO_PROPERTY[cid][p_PRICE] = precio;
INFO_PROPERTY[cid][p_INTERIOR] = 1;
}
caso 5:
{
INFO_PROPERTY[cid][p_POS_INT][0] = 2807.5103;
INFO_PROPERTY[cid][p_POS_INT][1] = -1174.0422;
INFO_PROPERTY[cid][p_POS_INT][2] = 1025.5898;
INFO_PROPERTY[cid][p_PRICE] = precio;
INFO_PROPERTY[cid][p_INTERIOR] = 8;
}
}
formato(str,sizeof(str),"{00A8FF}EN VENTA\n {FFFFFF}Precio:{00A8FF}%d\n {FFFFFF}ID casa:{00A8FF}%d\n {FFFFFF}Usa{00A8FF}/comprarcasa", precio, cid);
INFO_PROPERTY[cid][p_LABEL] = Create3DTextLabel(str, -1, INFO_PROPERTY[cid][p_POS_EXT][0], INFO_PROPERTY[cid][p_POS_EXT][1], INFO_PROPERTY[cid][p_POS_EXT][2], 10.0, 0, 0);
CreateDynamicMapIcon(INFO_PROPERTY[cid][p_POS_EXT][0], INFO_PROPERTY[cid][p_POS_EXT][1], INFO_PROPERTY[cid][p_POS_EXT][2], 31, -1, 0, 0);
ActualizarCasa(cid);
cid = MAX_PROPERTY;
}
}
regreso 1;
}
no se que hacer porfa ayuda
|
|
|
|
|