Gethereall

Započeo Boris, Septembar 06, 2009, 11:15:24 PRE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

Kako  da naparvim komande gethereall da sve portujem do sebe?

Correlli

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.
Poslednja Izmena: Septembar 06, 2009, 12:29:36 POSLE PODNE od Don Correlli

Daj jbt ti ces sve scripte tu pokupit! Napravi nesto svoje bar se potrudi iako neuspijes....::!:.

matejdz

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;
}

zerocoolos

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."

matejdz


zerocoolos

a je u pravu si sad tek vidim da je to sendclientmessage...  ???

matejdz

Neka, neka i najbolji grijese ;D

Chrome

sta nije lakse SendClientMessageToAll izvan loop-a  ::)
mislim na isto ti dode ali onako  mislim da je optimiziranije i brze  ::)

matejdz

Ma sve ti je to isto, samo sa SendClientMessageToAll prije zavrsis...