PlayerToPoint (playerid,pID) > 7.0
mit PlayerToPoint kannst du nicht die Entfernung der verschiendenen Player einsehen, sonsdern nur ob ein speiler in der näche eines Punktes ist. Um die Entfernung zu bekommen musste meines wissens was selber scripten.
Befehle wie /kidnap und /eject
- suernoep
- 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
-
-
Ja, aber wie scripte ich sowas?
MfG
-
bei mir sieht das ganze nun so aus
#include <a_samp>#define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
public OnPlayercommandText(playerid,cmdtext[])
{
dcmd(eject,5,cmdtext);
dcmd(kidnap,6,cmdtext);
return 0;
}dcmd_eject(playerid,params[])
{
new pID,string[128],pName[MAX_PLAYER_NAME],pIdName[MAX_PLAYER_NAME];
if(!IsPlayerInAnyVehicle(playerid)) { return SendClientMessage(playerid,AFAFAFAA,"Du bist in keinem Fahrzeug !"); }
if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) { return SendClientMessage(playerid,0xAFAFAFAA,"Du bist nicht der Fahrer !"); }
if(sscanf(params,"u",pID)) { return SendClientMessage(playerid,0xAFAFAFAA,"SYNTAX: /eject [playerid]"); }
if(!IsPlayerConnected(pID)) { return SendClientMessage(playerid,AFAFAFAA,"Ungültige ID!"); }
if(!IsPlayerInVehicle(pID,GetPlayerVehicleID(playerid)) { return SendClientMessage(playerid,COLOR_GREY,"Dieser Spieler ist nicht in deinem Fahrzeug !"); }
GetPlayerName(playerid,pName,sizeof(pName));
GetPlayerName(pID,pIdName,sizeof(pIdName));
RemovePlayerFromVehicle(pID);
format(string,sizeof(string),"Du hast %s aus deinem Auto geschmissen !",pIdName);
SendClientMessage(playerid,0xFFFFFFAA,string);
format(string,sizeof(string),"Fahrer %s hat dich aus seinem Auto geschmissen !",pName);
SendClientMessage(pID,0xFFFFFFAA,string);
return 1;
}das problem ist dass ich nicht mal nen error bekomme sondern der compiler einfach abstürtzt
hoffe jemand kann mir helfen -
habe das ganze als FS ausprobiert und bekomme das wranung und im spiel passiert nichts
D:\Datenablage\Users\Ronny\Games\modded games\Reallife\neue version\filterscripts\grab.pwn(5) : warning 235: public function lacks forward declaration (symbol "OnPlayercommandText")
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase1 Warning.
-
Mach aus dienem OnPlayercommandText einfach OnPlayerCommandText also das C von Command groß schreiben
So ist es nämlich in der a_samp.indlcde bezeichnet -
danke für den tipp
-
du kannst doch nicht das einfach mit define definieren:
#define GetDistanceBetweenPlayerskann doch nicht gehen.
Kann mal jemand mir die Funktion geben: GetDistanceBetweenPlayers pls -
Kann das bitte einer den /kidnap befehl in sscanf schreiben?
-
Kann das bitte einer den /kidnap befehl in sscanf schreiben?
Ist er doch?
if(sscanf(params,"ud",pID,seatid)) { return SendClientMessage(playerid,0xAFAFAFAA,"SYNTAX: /kidnap [playerid] [SitzId]"); }
@Die anderen:
Habe es mal aus dem GF kopiert..public 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));
}Grüße,
tony -
breadfish.de
Hat das Thema geschlossen.