Hey Leute!!
Ich habe mir überlegt, dass wir für unseren Server, noch ein Adminbefehl bräuchten.
Und zwar /teleport to me [id].
Was ich damit haben will:
Die Spieler-ID wird dann zum Admin geportet.
Es gibt auch die Möglichkeit:
/teleport to [Ort] [id]
Was damit gemeint ist:
Die Spieler-ID wird statt zum Admin zu bestimmten Orten geportet(z.B.PD, Stadthalle, Airport, ...)
Könntet ihr mir da helfen??
Wäre echt nett.
MFG Raphii
/teleport to me
- Raphii Warren
- Geschlossen
- Erledigt
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!
Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
-
-
Hier meinste sowas?
if(!strcmp(strget(cmdtext, 0),"/gethere"))
{
new target = strval(strget(cmdtext, 1));
if(!strlen(strget(cmdtext, 1))) { SendClientMessage(playerid,COLOR_GRAD2,"Benutze: /gethere [ID]"); return 1; }
if(!IsPlayerConnected(target)) { SendClientMessage(playerid,COLOR_RED,"Diese ID ist nicht vergeben"); return 1; }
if(PlayerInfo[playerid][adminlvl] >= 2)
{
new Float:X,Float:Y,Float:Z;
GetPlayerPos(playerid,X,Y,Z);
SetPlayerPos(target,X,Y+1,Z);
}
return 1;
}if(!strcmp(strget(cmdtext, 0),"/goto"))
{
new target = strval(strget(cmdtext, 1));
if(!strlen(strget(cmdtext, 1))) { SendClientMessage(playerid,COLOR_GRAD2,"Benutze: /goto [ID]"); return 1; }
if(!IsPlayerConnected(target)) { SendClientMessage(playerid,COLOR_RED,"Diese ID ist nicht vergeben"); return 1; }
if(PlayerInfo[playerid][adminlvl] >= 1)
{
new Float:X,Float:Y,Float:Z;
GetPlayerPos(target,X,Y,Z);
SetPlayerPos(playerid,X,Y+1,Z);
}
return 1;
} -
ne ich denke er meint wenn ich zb id 0 zu id 3 porte
-
sowas?
if(!strcmp(strget(cmdtext, 0),"/bring"))
{
new target = strval(strget(cmdtext, 1));
new target2 = strval(strget(cmdtext, 2));
if(!strlen(strget(cmdtext, 1))) { SendClientMessage(playerid,COLOR_GRAD2,"USAGE: /bring [first] [second]"); return 1; }
if(!IsPlayerConnected(target)) { SendClientMessage(playerid,COLOR_RED,"Die erste ID ist nicht vergeben"); return 1; }
if(!IsPlayerConnected(target2)) { SendClientMessage(playerid,COLOR_RED,"Die Zweite ID ist nicht vergeben"); return 1; }
if(PlayerInfo[playerid][adminlvl] >= 2)
{
new Float:X,Float:Y,Float:Z;
GetPlayerPos(target,X,Y,Z);
SetPlayerPos(target2,X,Y+1,Z);
}
return 1;
} -
Ich meine es so:
sagen wir ich bin beim PD.Und ID 9 will Cop werden.Nur ich kann ihn einladen.
Und er is in LV.Dann mach ich den Befehl und er wird neben mich geportet.
Geht sowas.
(im prinzip hat shadow recht. -
ist das nicht im gf schon drine? /goto ?
-
Ich meine es so:
sagen wir ich bin beim PD.Und ID 9 will Cop werden.Nur ich kann ihn einladen.
Und er is in LV.Dann mach ich den Befehl und er wird neben mich geportet.
Geht sowas.
(im prinzip hat shadow recht.
Das ist ja der /gethere command von AmoK:if(!strcmp(strget(cmdtext, 0),"/gethere")) { new target = strval(strget(cmdtext, 1));
if(!strlen(strget(cmdtext, 1))) { SendClientMessage(playerid,COLOR_GRAD2,"Benutze: /gethere [ID]"); return 1; }
if(!IsPlayerConnected(target)) { SendClientMessage(playerid,COLOR_RED,"Diese ID ist nicht vergeben"); return 1; }
if(PlayerInfo[playerid][adminlvl] >= 2)
{
new Float:X,Float:Y,Float:Z;
GetPlayerPos(playerid,X,Y,Z);
SetPlayerPos(target,X,Y+1,Z);
}
return 1;
}
Cmd: by AmoK damit es kein Ärger gibt -
Mach folgendes unter OnPlayerCommandText:
//----------------------------------[GETHERE]-----------------------------------------------
if(strcmp(cmd, "/gethere", true) == 0)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /gethere [ID/NAME]");
return 1;
}
new Float:plocx,Float:plocy,Float:plocz;
new plo;
plo = ReturnUser(tmp);
if (IsPlayerConnected(plo))
{
if(plo != INVALID_PLAYER_ID)
{
if (PlayerInfo[plo][pAdmin] > 1337)
{
SendClientMessage(playerid, COLOR_GRAD1, "Ask the admin to goto you.");
return 1;
}
if (PlayerInfo[playerid][pAdmin] >= 3)
{
GetPlayerPos(playerid, plocx, plocy, plocz);
if(PlayerInfo[playerid][pInt] > 0)
{
SetPlayerInterior(plo,PlayerInfo[playerid][pInt]);
PlayerInfo[plo][pInt] = PlayerInfo[playerid][pInt];
PlayerInfo[plo][pLocal] = PlayerInfo[playerid][pLocal];
}
if(PlayerInfo[playerid][pInt] == 0)
{
SetPlayerInterior(plo,0);
}
if(plocz > 930.0 && PlayerInfo[playerid][pInt] == 0) //the highest land point in sa = 526.8
{
SetPlayerInterior(plo,1);
PlayerInfo[plo][pInt] = 1;
}
if (GetPlayerState(plo) == 2)
{
TelePos[plo][0] = 0.0;
TelePos[plo][1] = 0.0;
new tmpcar = GetPlayerVehicleID(plo);
SetVehiclePos(tmpcar, plocx, plocy+4, plocz);
}
else
{
SetPlayerPos(plo,plocx,plocy+2, plocz);
}
SendClientMessage(plo, COLOR_GRAD1, " You have been teleported");
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, " you are not authorized to use that command!");
}
}
}
else
{
format(string, sizeof(string), " %d is not an active player.", plo);
SendClientMessage(playerid, COLOR_GRAD1, string);
}
}
return 1;
}Mit freundlichen Grüßen
Illex -
bei mir kommt ein Fehler ...
(500) : error 017: undefined symbol "ReturnUser"Zeile 500:
plo = ReturnUser(tmp); -
Du brauchst den ReturnUser Code
-
mal einfacher, nicht aus gf...
if(strcmp("/bring",t,true)==0)
{
if(DEINE IS PLAYERADMINABFRAGE EINSETZEN)
{
if(strlen(tt))
{
new id = strval(tt);
new Float:x,Float:y,Float:z;
new i;
GetPlayerPos(playerid,x,y,z);
i=GetPlayerInterior(playerid);
SetPlayerPos(id,x+2,y+2,z);
SetPlayerInterior(id,i);
}
else
{
SendClientMessage(playerid, COLOR_RED, "Benutze: /bring <id>");
}
}
} -
äähmm ... kleine frage ... wie ist der ReturnUser code ? xD
-
machs doch so... dann brauchst du kein ReturnUser:
if(strcmp(strget(cmdtext,0),"/get",true) == 0)
{
if(pInfo[playerid][admin] >= 3)
{
if(!strlen(strget(cmdtext,1)))
{
SendClientMessage(playerid,COLOR_YELLOW,"Verwendung: /get [spielerid]");
return 1;
}
new Float:x, Float:y, Float:z;
GetPlayerPos(playerid,x,y,z);
new vehicleid = GetPlayerVehicleID(ziel);
new State = GetPlayerState(ziel);
SetPlayerPos(ziel,x+2,y,z);
if(IsPlayerInAnyVehicle(ziel) && State == PLAYER_STATE_DRIVER)
{
SetVehiclePos(vehicleid,x+2,y,z);
PutPlayerInVehicle(ziel,vehicleid,0);
}
new spieler[40];
new msg[200];
GetPlayerName(playerid,spieler,sizeof(spieler));
format(msg,sizeof(msg),"Du wurdest von %s teleportiert.",spieler);
SendClientMessage(ziel,COLOR_WHITE,msg);
}
else
{
SendClientMessage(playerid,COLOR_GRAD2,"You have to be admin level 3 to use this command!");
}
return 1;
}ist aus meinem admin-sys und es müsste eig funktionieren...
-
Er will keinen /gethere befehl von einem GF, sondert einen Befehl wie er oben geschrieben hat mit Ortsangabe.
Hier ist dein Befehl, du musst ihn noch mit Koordinaten und weiteren Punkten ergänzen, "me", "ls", "sf" sind drin als Beispiele. Benötigt dcmd, sscanf und du musst als Rcon eingeloggt sein...
dcmd_teleport(playerid, params[])
{
if(!IsPlayerAdmin(playerid)) return 1; // Nur Rcon Admins
new
name[MAX_PLAYER_NAME],
string[80],
location[20],
giveplayerid;
if(sscanf(params, "su", location, giveplayerid)) return SendClientMessage(playerid, FARBE, "BENUTZUNG: /teleport [Ort] [Spieler]");
if(giveplayerid == INVALID_PLAYER_ID) return SendClientMessage(playerid, FARBE, "Ungültige Spielerid");
if(strcmp(location, "me", false) == 0)
{
new
Float:pX,
Float:pY,
Float:pZ;
GetPlayerPos(playerid, pX, pY, pZ);
SetPlayerPos(giveplayerid, pX, pY, pZ+0.5);
}
else if(strcmp(location, "ls", false) == 0) SetPlayerPos(giveplayerid, KOORDINATE_LSX, KOORDINATE_LSY, KOORDINATE_LSZ); // hier Koordinaten eintragen
else if(strcmp(location, "sf", false) == 0) SetPlayerPos(giveplayerid, KOORDINATE_SFX, KOORDINATE_SFY, KOORDINATE_SFZ); // hier Koordinaten eintragen
else return SendClientMessage(playerid, FARBE, "Ungültiger Ort");
GetPlayerName(giveplayerid, name, sizeof(name));
format(string, sizeof(string), " Du hast %s zu %s teleportiert", name, location);
SendClientMessage(playerid, FARBE, string);
SendClientMessage(giveplayerid, FARBE, " Du wurdest teleportiert");
return 1;
} -
breadfish.de
Hat das Thema geschlossen.