Durchsuchen Befehl Problem

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
  • Sobald ich einen Spieler durchsuchen will stürzt mein PC sogut wie ab. Wo kann das Problem sein. Hatte das schonmal bin aber nicht weiter auf Hilfe eingegangen xD.




    ocmd:frisk(playerid,params[])
    {
    if(PlayerInfo[playerid][pLoggedIn]==false)return 1;
    new pID, str[128], weapons[13][2];
    new Float:x, Float:y, Float:z;
    GetPlayerPos(playerid,x,y,z);
    if(PlayerInfo[playerid][pMember]==1 || PlayerInfo[playerid][pMember]==2 || PlayerInfo[playerid][pMember]==3 || PlayerInfo[playerid][pMember]==4 || PlayerInfo[playerid][pMember]==5)
    {
    if(OnDuty[playerid] == 0) return SendClientMessage(playerid,COLOR_RED,"Du bist nicht OnDuty");
    if(sscanf(params,"u",pID)) return SendClientMessage(playerid,COLOR_RED,"[Benutze]: /frisk [Name/ID]");
    if(!IsPlayerInRangeOfPoint(pID,5,x,y,z)) return SendClientMessage(playerid,COLOR_RED,"Der Spieler ist nicht in deiner Nähe.");
    format(str,sizeof(str),"* %s untersucht %s nach Gegenständen.",getPlayerName(playerid),getPlayerName(pID));
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    new Float:X, Float:Y, Float:Z;
    GetPlayerPos(playerid, X, Y, Z);
    if(IsPlayerConnected(i) && IsPlayerInRangeOfPoint(i, 10.0,X, Y, Z))
    {
    SendClientMessage(i, COLOR_GREEN, str);
    }
    new str2[128];
    for(new is = 0; is < 13; is++)
    {
    GetPlayerWeaponData(playerid, is, weapons[is][0], weapons[is][1]);
    format(str2, sizeof(str2), "Waffe_%i: %s",is,WeaponName(weapons[is][0]));
    SendClientMessage(playerid, COLOR_RED, str);
    }
    }
    }
    return 1;
    }



    evtl. kann @Jeffry ja schnelle abhilfe leisten :D:P

  • Das Waffen-Auslesen muss aus der Schleife raus.
    ocmd:frisk(playerid,params[])
    {
    if(PlayerInfo[playerid][pLoggedIn]==false)return 1;
    new pID, str[128], weapons[13][2];
    new Float:x, Float:y, Float:z;
    GetPlayerPos(playerid,x,y,z);
    if(PlayerInfo[playerid][pMember]==1 || PlayerInfo[playerid][pMember]==2 || PlayerInfo[playerid][pMember]==3 || PlayerInfo[playerid][pMember]==4 || PlayerInfo[playerid][pMember]==5)
    {
    if(OnDuty[playerid] == 0) return SendClientMessage(playerid,COLOR_RED,"Du bist nicht OnDuty");
    if(sscanf(params,"u",pID)) return SendClientMessage(playerid,COLOR_RED,"[Benutze]: /frisk [Name/ID]");
    if(!IsPlayerInRangeOfPoint(pID,5,x,y,z)) return SendClientMessage(playerid,COLOR_RED,"Der Spieler ist nicht in deiner Nähe.");
    format(str,sizeof(str),"* %s untersucht %s nach Gegenständen.",getPlayerName(playerid),getPlayerName(pID));
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    new Float:X, Float:Y, Float:Z;
    GetPlayerPos(playerid, X, Y, Z);
    if(IsPlayerConnected(i) && IsPlayerInRangeOfPoint(i, 10.0,X, Y, Z))
    {
    SendClientMessage(i, COLOR_GREEN, str);
    }
    }
    for(new is = 0; is < 13; is++)
    {
    GetPlayerWeaponData(pID, is, weapons[is][0], weapons[is][1]);
    format(str, sizeof(str), "Waffe_%i: %s",is,WeaponName(weapons[is][0]));
    SendClientMessage(playerid, COLOR_RED, str);
    }
    }
    return 1;
    }