Hallo Leute was ist ProxDetectorS wie muss ich den definieren? hab ihn in den Befehl
ocmd:hs(playerid,params[])
{
if(IsACop(playerid))
{
new pID;
if(sscanf(params, "u", pID))
{
SendClientMessage(playerid,COLOR_ROT, "Benutzung: /hs [ID]");
return 1;
}
if(ProxDetectorS(5.0,playerid,pID))
{
new str[128], Officer[MAX_PLAYER_NAME], Spieler[MAX_PLAYER_NAME];
GetPlayerName(playerid, Officer, sizeof(Officer));
GetPlayerName(pID, Spieler, sizeof(Spieler));
format(str, sizeof(str), "Officer %s hat %s Handschellen angelegt", Officer, Spieler);
SendClientMessageToAll(COLOR_HELLBLAU, str);
SetPlayerSpecialAction(pID,24);
SetPlayerAttachedObject(pID, 0, 19418, 6, -0.011000, 0.028000, -0.022000, -15.600012, -33.699977, -81.700035, 0.891999, 1.000000, 1.168000);
}
else
{
SendClientMessage(playerid,COLOR_ROT,"Der Spieler ist nicht in deiner nähe!");
}
}
else
{
SendClientMessage(playerid,COLOR_ROT,"Du bist kein Beamter");
}
return 1;
}
ProxDetectorS
- Schokodonut
- Geschlossen
- Erledigt
-
-
Meines Wissens sendet der Nachrichten im Umfeld mit verschiedenen Farben bei Godfather Scripts.
-
meins ist aber ein selfmade und wie schreib ich den Befehl dann um ohne den ProxDetectorS
-
Hallo Leute was ist ProxDetectorS wie muss ich den definieren? hab ihn in den Befehl
ocmd:hs(playerid,params[])
{
if(IsACop(playerid))
{
new pID;
if(sscanf(params, "u", pID))
{
SendClientMessage(playerid,COLOR_ROT, "Benutzung: /hs [ID]");
return 1;
}
if(ProxDetectorS(5.0,playerid,pID))
{
new str[128], Officer[MAX_PLAYER_NAME], Spieler[MAX_PLAYER_NAME];
GetPlayerName(playerid, Officer, sizeof(Officer));
GetPlayerName(pID, Spieler, sizeof(Spieler));
format(str, sizeof(str), "Officer %s hat %s Handschellen angelegt", Officer, Spieler);
SendClientMessageToAll(COLOR_HELLBLAU, str);
SetPlayerSpecialAction(pID,24);
SetPlayerAttachedObject(pID, 0, 19418, 6, -0.011000, 0.028000, -0.022000, -15.600012, -33.699977, -81.700035, 0.891999, 1.000000, 1.168000);
}
else
{
SendClientMessage(playerid,COLOR_ROT,"Der Spieler ist nicht in deiner nähe!");
}
}
else
{
SendClientMessage(playerid,COLOR_ROT,"Du bist kein Beamter");
}
return 1;
}
ProxDetectorS findet die Position des Spielers raus und gibt die Position zurück an den "Befehl" wenn du innerhalb der 5 Meter zu diesem Spieler bist, werden Handschellen angelegt, wenn nicht, dann nicht^^
ALso ist eig. nur eine Funktion um herraus zu finden wie weit weg der eine Spieler von dem anderen ist^^Aso und ein kleiner Fail...
ich denke es ist nicht gewollt dass die Meldung "Officer XYZ hat YTX Handschellen angelegt" an alle Spieler gesendet werden soll...
Würde da mit ProxDetector arbeiten.
(Nicht ProxDetectorS sondern einfach nur ProxDetector) -
Ok danke und wie muss ich den dann definieren
-
ProxDetectorS findet die Position des Spielers raus und gibt die Position zurück an den "Befehl" wenn du innerhalb der 5 Meter zu diesem Spieler bist, werden Handschellen angelegt, wenn nicht, dann nicht^^
ALso ist eig. nur eine Funktion um herraus zu finden wie weit weg der eine Spieler von dem anderen ist^^Aso und ein kleiner Fail...
ich denke es ist nicht gewollt dass die Meldung "Officer XYZ hat YTX Handschellen angelegt" an alle Spieler gesendet werden soll...
Würde da mit ProxDetector arbeiten.
(Nicht ProxDetectorS sondern einfach nur ProxDetector)Willst du nicht lieber GetDistanceBetweenPlayers(playerid1,playerid2); benutzen?
Das ist doch so bisschen umständlicher?
//Stock:
stock Float:GetDistanceBetweenPlayers(p1,p2){
new Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2;
if(!IsPlayerConnected(p1) || !IsPlayerConnected(p2)){
return -1.00;
}
GetPlayerPos(p1,x1,y1,z1);
GetPlayerPos(p2,x2,y2,z2);
return floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2));
}//Benutzung:
if(GetDistanceBetweenPlayers(playerid,pID) >= 5)return SendClientMessage(playerid,FARBE,"Der Spieler ist nicht in deiner Nähe!");
ocmd:hs(playerid,params[])
{
if(IsACop(playerid))
{
new pID;
if(sscanf(params, "u", pID))
{
SendClientMessage(playerid,COLOR_ROT, "Benutzung: /hs [ID]");
return 1;
}
if(ProxDetectorS(5.0,playerid,pID))
{
new str[128], Officer[MAX_PLAYER_NAME], Spieler[MAX_PLAYER_NAME];
GetPlayerName(playerid, Officer, sizeof(Officer));
GetPlayerName(pID, Spieler, sizeof(Spieler));
format(str, sizeof(str), "Officer %s hat %s Handschellen angelegt", Officer, Spieler);
//SendClientMessageToAll(COLOR_HELLBLAU, str); << ich glaube auch nicht das das an alle Spieler gesendet werden soll, daher hier eine For-Schleife>>
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(IsACop(i))
{
SendClientMessage(i,FARBE,str);
}
}
}
SetPlayerSpecialAction(pID,24);
SetPlayerAttachedObject(pID, 0, 19418, 6, -0.011000, 0.028000, -0.022000, -15.600012, -33.699977, -81.700035, 0.891999, 1.000000, 1.168000);
}
else
{
SendClientMessage(playerid,COLOR_ROT,"Der Spieler ist nicht in deiner nähe!");
}
}
else
{
SendClientMessage(playerid,COLOR_ROT,"Du bist kein Beamter");
}
return 1;
}Ich habe den Wert so eingestellt das er ab 4 Meter Entfernung ihn nicht cufft!
Achte darauf das es noch das = zeichen hinter dem > gibt!
D.h. wenn du 10 Meter willst musst 11 eintragen!
MfG
Geronimo -
Wie soll ich dann absenden das pID Handschellen von playerid aufgelegt wurden möchte das diese nachricht im Umkreis von 10 Meter gesendet wird?
hab das so ocmd:hs(playerid,params[])
{
if(IsACop(playerid))
{
new pID;
if(sscanf(params, "u", pID))
{
SendClientMessage(playerid,COLOR_ROT, "Benutzung: /hs [ID]");
return 1;
}
if(GetDistanceBetweenPlayers(playerid,pID) >= 5)
{
new str[128], Officer[MAX_PLAYER_NAME], Spieler[MAX_PLAYER_NAME];
GetPlayerName(playerid, Officer, sizeof(Officer));
GetPlayerName(pID, Spieler, sizeof(Spieler));
format(str, sizeof(str), "Officer %s hat %s Handschellen angelegt", Officer, Spieler);
if(GetDistanceBetweenPlayers(playerid,pID) >= 5)return SendClientMessage(i,COLOR_HELLBLAU, str);
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(IsACop(i))
{
SendClientMessage(i,COLOR_ROT,str);
}
}
}
SetPlayerSpecialAction(pID,24);
SetPlayerAttachedObject(pID, 0, 19418, 6, -0.011000, 0.028000, -0.022000, -15.600012, -33.699977, -81.700035, 0.891999, 1.000000, 1.168000);
}
else
{
SendClientMessage(playerid,COLOR_ROT,"Der Spieler ist nicht in deiner Nähe!");
}
}
else
{
SendClientMessage(playerid,COLOR_ROT,"Du bist kein Beamter");
}
return 1;
}
aber kommt fehler müsste ich nur noch i definieren? -
breadfish.de
Hat das Thema geschlossen.