Also ich will den /showpos befehl einfach umschreiben...
Er soll so aussehen ( vom script her
if(strcmp(cmd, "/find", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(PlayerInfo[playerid][pJob] != 1)
{
SendClientMessage(playerid, COLOR_GREY, "Du bist kein Dedektiv!");
return 1;
}
if(UsedFind[playerid] != 0 && PlayerInfo[playerid][pDetSkill] < 401)
{
SendClientMessage(playerid, COLOR_GREY, "Du hast schon nach jemanden gesucht, daher musst du noch einige Minuten/Sekunden warten!");
return 1;
}
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "FEHLER: /find [playerid]");
return 1;
}
giveplayerid = ReturnUser(tmp);
// new zid;
if(IsPlayerConnected(giveplayerid))
{
if(giveplayerid != INVALID_PLAYER_ID)
{
if(giveplayerid == playerid) { SendClientMessage(playerid, COLOR_GREY, "Du kannst dich nicht selbst finden!"); return 1; }
new points;
new level = PlayerInfo[playerid][pDetSkill];
if(level >= 0 && level <= 50)
{ points = 4; }
else if(level >= 51 && level <= 100)
{ points = 6; }
else if(level >= 101 && level <= 200)
{ points = 8; }
else if(level >= 201 && level <= 400)
{ points = 10; }
else if(level >= 401)
{ points = 12; }
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
new Float:X,Float:Y,Float:Z;
GetPlayerPos(giveplayerid, X,Y,Z);
SetPlayerCheckpoint(playerid,X,Y,Z,3.0); // 6.0
FindTime[playerid] = 1;
FindTimePoints[playerid] = points;
PlayerInfo[playerid][pDetSkill] ++;
UsedFind[playerid] = 1;
if(PlayerInfo[playerid][pDetSkill] == 50)
{ SendClientMessage(playerid, COLOR_YELLOW, "* Detektiv Skill ist nun auf 2. Du kannst jetzt öfters Leute finden."); }
else if(PlayerInfo[playerid][pDetSkill] == 100)
{ SendClientMessage(playerid, COLOR_YELLOW, "* Detektiv Skill ist nun auf 3. Du kannst jetzt öfters Leute finden."); }
else if(PlayerInfo[playerid][pDetSkill] == 200)
{ SendClientMessage(playerid, COLOR_YELLOW, "* Detektiv Skill ist nun auf 4. Du kannst jetzt öfters Leute finden."); }
else if(PlayerInfo[playerid][pDetSkill] == 400)
{ SendClientMessage(playerid, COLOR_YELLOW, "* Detektiv Skill ist nun auf 5. Du kannst jetzt öfters Leute finden."); }
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, " Falsche ID !");
}
}
return 1;
}
Der Momentane Code sieht so aus:
dcmd_showpos(playerid,params[])
{
new opfer,cop;
if(sscanf(params, "uu",opfer,cop)){SendClientMessage(playerid, COLOR_RED,"Benutze: /showpos [Den zu ortenten] [ID vom Spieler]"); return 1;}
if(opfer == playerid) { SendClientMessage(playerid, COLOR_GREY, "Du kannst dich nicht selbst orten!"); return 1; }
if(PlayerInfo[playerid][pJob] != 1)
{
SendClientMessage(playerid, COLOR_GREY, "Du bist kein Dedektiv!");
return 1;
}
new points;
new level = PlayerInfo[playerid][pDetSkill];
if(level >= 0 && level <= 50)
{ points = 4; }
else if(level >= 51 && level <= 100)
{ points = 6; }
else if(level >= 101 && level <= 200)
{ points = 8; }
else if(level >= 201 && level <= 400)
{ points = 10; }
else if(level >= 401)
{ points = 12; }
new Float:X,Float:Y,Float:Z;
GetPlayerPos(opfer, X,Y,Z);
SetPlayerCheckpoint(cop,X,Y,Z,6.0);
FindTime[cop] = 1;
FindTimePoints[cop] = points;
UsedFind[cop] = 1;
format(ALLSTRING,sizeof(ALLSTRING),"Detektive %s schickt dir die Kooridinaten von Spieler %s.",sName(playerid),sName(opfer));
SendClientMessage(cop,COLOR_GREEN,ALLSTRING);
format(ALLSTRING,sizeof(ALLSTRING),"Du hast %s die Kooridinaten von %s geshickt.",sName(cop),sName(opfer));
SendClientMessage(playerid,COLOR_GREEN,ALLSTRING);
return 1;
}
Oder wenn irgendjemand eine /showpos funktion hat wo man einem freund jemanden anzeigen hat wäre nett wenn mir den schnipsel jemand schreibt.
MfG ciNo