public RconColor()
{
for(new i = 0; i <= MAX_PLAYERS; i++)
{
if(IsPlayerAdmin(i))
{
SetPlayerMarkerForPlayer(i,1,0xF6F6F600);
}
}
}
vllt das bei OnPlayerConnect als SetTimer festlegen
public RconColor()
{
for(new i = 0; i <= MAX_PLAYERS; i++)
{
if(IsPlayerAdmin(i))
{
SetPlayerMarkerForPlayer(i,1,0xF6F6F600);
}
}
}
vllt das bei OnPlayerConnect als SetTimer festlegen
Du kannst dazu die PlayerToPoint Function verwenden is ganz leicht
// Player To Point Deklaration
forward PlayerToPoint(Float:radi, playerid, Float:xd, Float:yd, Float:zd);
// Kommando
new cmd[256];
new tmp[256];
new idx;
cmd = strtok(cmdtext, idx);
if(strcmp(cmd, "/heal", true) == 0)
{
new health;
new Player;
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
// Fehlermeldung
return 1;
}
player = strval(tmp);
new Float:px,Float:py,Float:pz;
GetPlayerPos(player,px,py,pz);
if(!PlayerToPoint(6,player,px,py,pz)) { return 1; }
SetPlayerHealth(playerid,100);
return 1;
}
// Funktion
public PlayerToPoint(Float:radi, playerid, Float:xd, Float:yd, Float:zd)
{
new Float:oldposx, Float:oldposy, Float:oldposz;
new Float:tempposx, Float:tempposy, Float:tempposz;
GetPlayerPos(playerid, oldposx, oldposy, oldposz);
tempposx = (oldposx -xd);
tempposy = (oldposy -yd);
tempposz = (oldposz -zd);
//printf("DEBUG: X:%f Y:%f Z:%f",posx,posy,posz);
if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
{
return 1;
}
return 0;
}
Ich weiss nich ob das Weiterhilft aber ich denk sowas sollte gehen
if (strcmp(cmdtext, "/kamera", true) == 0)
{
TogglePlayerControllable(playerid, 0);
SetPlayerCameraPos(playerid, 927.6465,-693.2251,117.4456);
SetPlayerCameraLookAt(playerid, 933.9771,-693.8071,119.9069);
return 1;
}
Erst Spieler Koordinaten Speichern dann haste die Kamera Position , danach nen sich nen bissl nach vorne bewegen und nochmal /save blickwinkel
Ich denk ma so sollte es klappen
Sorry mein Fehler
Also bei einem Fahrzeug kannst du den Pickuptyp 14 nehmen , müsste schon passen
So du kannst das Auto Freezen indem du nen Timer erstellst und den halt auf die Warte Zeit stellst
new bool:PlayerInRepair[MAX_PLAYERS];
public OnPlayerPickUpPickup(playerid, pickupid)
{
if (pickupid == repairpickup)
{
SendClientMessage(playerid, 0xFFFFFFFF, "Repariert.");
SetVehicleHealth(1,1000.0);
TogglePlayerControllable(playerid,0);
PlayerInRepair[playerid] = true;
SetTimer("FreezeTimer",2000,0);
}
return 1;
}
public FreezeTimer()
{
for(new i = 0; i <= MAX_PLAYERS; i++)
{
if(PlayerInRepair[i] == true)
{
TogglePlayerControllable(i,1);
PlayerInRepair[playerid] = false;
// Nachricht
}
}
}
So ungefähr
Das mit den Spieler Farben könntest du ja mal so versuchen
public OnPlayerText(playerid, text[])
{
new PlayerName[256];
GetPlayerName(playerid,PlayerName,sizeof(PlayerName));
new formatP[256];
format(formatP,sizeof(formatP),"%s: %s",PlayerName,text);
SendClientMessageToAll(COLOR_GREEN,formatP);
return 0;
}
Füg bei OnPlayerCommandText doch einfach folgendes ein
new vehicleid = GetPlayerVehicleID(playerid);
dann kannste es auch da verwenden