Kako da naparvim komande gethereall da sve portujem do sebe?
Probaj ovo, napisao sam na brzinu i nisam testirao, trebalo bi raditi.
if(strcmp(cmdtext, "/gethereall", true) == 0)
{
new Float:to_x, Float:to_y, Float:to_z, to_int, to_vw;
GetPlayerPos(playerid, to_x, to_y, to_z);
to_int = GetPlayerInterior(playerid);
to_vw = GetPlayerVirtualWorld(playerid);
if(IsPlayerAdmin(playerid))
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i) && playerid != i)
{
SetPlayerPos(i, to_x, to_y, to_z);
SetPlayerInterior(i, to_int);
SetPlayerVirtualWorld(i, to_vw);
SendClientMessage(i, 0xFFFFFFAA, "SERVER: You have been teleported to Administrator.");
}
}
SendClientMessage(playerid, 0xFFFFFFAA, "SERVER: All players have been teleported to you.");
}
else
{
SendClientMessage(playerid, 0xFFFFFFAA, "SERVER: You're not authorized to use this command.");
}
return 1;
}
I drugi put postaj u pravi board ako želiš da ti itko pomogne.
Daj jbt ti ces sve scripte tu pokupit! Napravi nesto svoje bar se potrudi iako neuspijes....::!:.
Evo imas dvije opcije...
if(strcmp(cmd, "/gethereall", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(PlayerInfo[playerid][pAdmin] >= 4)
{
GetPlayerName(playerid, sendername, sizeof(sendername));
for(new i = 0; i < MAX_PLAYERS; i ++)
{
if(IsPlayerConnected(i))
{
format(string, sizeof(string), "Admin %s je teleportirao sve igrace do sebe.", sendername);
SendClientMessage(i, COLOR_RED, string);
new Float:ix, Float:iy, Float:iz;
GetPlayerPos(playerid, ix, iy, iz);
SetPlayerInterior(i, GetPlayerInterior(playerid));
SetPlayerPos(i, ix, iy, iz+1);
}
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "Niste autorizirani za koristenje ove naredbe !");
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "Niste logirani !");
}
return 1;
}
Citat: [CH]matejdz poslato Septembar 06, 2009, 19:45:47 POSLE PODNE
Evo imas dvije opcije...
if(strcmp(cmd, "/gethereall", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(PlayerInfo[playerid][pAdmin] >= 4)
{
GetPlayerName(playerid, sendername, sizeof(sendername));
for(new i = 0; i < MAX_PLAYERS; i ++)
{
if(IsPlayerConnected(i))
{
format(string, sizeof(string), "Admin %s je teleportirao sve igrace do sebe.", sendername);
SendClientMessage(i, COLOR_RED, string);
new Float:ix, Float:iy, Float:iz;
GetPlayerPos(playerid, ix, iy, iz);
SetPlayerInterior(i, GetPlayerInterior(playerid));
SetPlayerPos(i, ix, iy, iz+1);
}
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "Niste autorizirani za koristenje ove naredbe !");
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "Niste logirani !");
}
return 1;
}
ovo ce ti sve zaspamat, format(string, sizeof(string), "Admin %s je teleportirao sve igrace do sebe.", sendername); napisi izvan petlje for, jer ovako ako npr ima 100 igraca 100 puta ce ispisat "Admin %s je teleportirao sve igrace do sebe."
Nece, probao...
a je u pravu si sad tek vidim da je to sendclientmessage... ???
Neka, neka i najbolji grijese ;D
sta nije lakse SendClientMessageToAll izvan loop-a ::)
mislim na isto ti dode ali onako mislim da je optimiziranije i brze ::)
Ma sve ti je to isto, samo sa SendClientMessageToAll prije zavrsis...