09.12.2013, 21:03
tenta
pawn Код:
CMD:milugar(playerid, params[])
{
new file[256];
format(file, sizeof(file), "/Teleports.txt");
if(sscanf(cmdtext, "s[10]s[90]", params[0], params[1]))return SendClientMessage(playerid, -1, "Uso: /milugar <nombre> [opcional]<comentario>");
if(strlen(params[0]) > 10)return SendClientMessage(playerid, -1, "ERROR: El nombre es muy largo");
if(strlen(params[1]) > 90)return SendClientMessage(playerid, -1, "ERROR: El comentario es muy largo");
if(dini_Isset(file, params[0]))return SendClientMessage(playerid, -1, "ERROR: Ese lugar ya existe");
new Float:X, Float:Y, Float:Z, Float:A, I, Vw, str[11], str2[128];
GetPlayerPos(playerid, X, Y, Z);
GetPlayerFacingAngle(playerid, A);
I = GetPlayerInterior(playerid);
Vw = GetPlayerVirtualWorld(playerid);
new dotcount;
for(new s, l = strlen(params[1]); s < l; s++)
{
if (params[1][s] == ':' && dotcount == 3) return 1;
if (params[1][s] == '.' && dotcount < 3) dotcount++;
}
if(!dini_Exists(file))dini_Create(file);
dini_Set(file, params[0], "1");
format(str, sizeof(str), "%sX", params[0]);
dini_FloatSet(file, str, X);
format(str, sizeof(str), "%sY", params[0]);
dini_FloatSet(file, str, Y);
format(str, sizeof(str), "%sZ", params[0]);
dini_FloatSet(file, str, Z);
format(str, sizeof(str), "%A", params[0]);
dini_FloatSet(file, str, A);
format(str, sizeof(str), "%sC", params[0]);
dini_Set(file, str, params[1]);
format(str, sizeof(str), "%sI", params[0]);
dini_IntSet(file, str, I);
format(str, sizeof(str), "%sVw", params[0]);
dini_IntSet(file, str, Vw);
format(str2, sizeof(str2), "Has creado un nuevo teleport, usa /lugar %s para ir a el", params[0]);
SendClientMessage(playerid, -1, str2);
return 1;
}
CMD:lugar(playerid, params[])
{
if(sscanf(cmdtext, "s[10]", params[0])) return SendClientMessage(playerid, -1, "Uso: /lugar <nombre>");
new file[256];
format(file, sizeof(file), "/Teleports.txt");
if(!dini_Isset(file, params[0]))return SendClientMessage(playerid, -1, "ERROR: Ese lugar no existe");
new Float:X, Float:Y, Float:Z, Float:A, I, str[128], cmt[128];
format(str, sizeof(str), "%sX", params[0]);
X = dini_Float(file, str);
format(str, sizeof(str), "%sY", params[0]);
Y = dini_Float(file, str);
format(str, sizeof(str), "%sZ", params[0]);
Z = dini_Float(file, str);
format(str, sizeof(str), "%sA", params[0]);
A = dini_Float(file, str);
format(str, sizeof(str), "%sI", params[0]);
I = dini_Int(file, str);
if(IsPlayerInAnyVehicle(playerid))
{
SetVehiclePos(GetPlayerVehicleID(playerid), X, Y, Z);
SetVehicleZAngle(GetPlayerVehicleID(playerid), A);
LinkVehicleToInterior(GetPlayerVehicleID(playerid), I);
}
else
{
SetPlayerPos(playerid, X, Y, Z);
SetPlayerFacingAngle(playerid, A);
SetPlayerInterior(playerid, I);
SetCameraBehindPlayer(playerid);
}
format(cmt, sizeof(cmt), "%sC", params[0]);
format(str, sizeof(str), "%s", dini_Get(file, cmt));
SendClientMessage(playerid, -1, str);
return 1;
}