Beiträge von Jeffry

    Dann muss der stock so aussehen:
    stock IsBusinessOwned(businessid)
    {
    new query[200];
    format(query, sizeof(query), "SELECT Besitzer FROM `firma` WHERE ID = %i", businessid);
    new Cache:result = mysql_query(dbhandle, query);
    new rows = cache_num_rows();
    if(!rows)
    {
    cache_delete(result);
    return false;
    }
    cache_get_field_content(0,"Besitzer",query,dbhandle);
    cache_delete(result);
    if(!strcmp(query, "None")) return false;
    else return true;
    }

    stock IsBusinessCreated(businessid)
    {
    new query[200];
    format(query, sizeof(query), "SELECT ID FROM `firma` WHERE ID = %i", businessid);
    new Cache:result = mysql_query(dbhandle, query);
    new rows = cache_num_rows();
    cache_delete(result);
    if(!rows) return false;
    else return true;
    }


    Analog für den anderen stock.


    Ich habe das * zu ID geändert, da es reicht, wenn ein Feld ausgelesen wird, anstatt der ganzen Zeile.

    Welche MySQL Plugin Version nutzt du?
    Müssen die Abfragen in den stock's bleiben? Man kann es zwar auch mit dem neusten Plugin so machen, ist aber (auch von mir) nicht empfohlen, da der Performancevorteil an der Stelle nicht greift. Kommt aber hier auf die Verwendung drauf an, eventuell muss es so sein. Poste, falls du dir nicht sicher bist, mal den Code, der die stock's aufruft.

    Gebe die beiden hinteren Parameter als optional im ersten sscanf an, so werden sie gesplitten falls angegeben und die unteren strcmp's funktionieren.
    if(!strcmp(cmd, "/blitzer", true))
    {
    if(!IsPlayerInFraktion(playerid, 5)) return SendStrukturMessage(playerid, MSG_FEHLER, "Du darfst diesen Befehl nicht benutzen!");
    if(PlayerInfo[playerid][pDienst] == 0) return SendStrukturMessage(playerid, MSG_FEHLER, "Du musst im Dienst sein um diesen Befehl zu benutzen!");
    if(PlayerInfo[playerid][pRang] < 4) return SendStrukturMessage(playerid, MSG_FEHLER, "Du benötigst mindestens Rang 4!");
    new lAction[52], lGeschwindigkeit;
    if(sscanf(params, "s[52]I(-1)U(-1)", lAction, lGeschwindigkeit, giveplayerid))
    {
    SendStrukturMessage(playerid, MSG_BENUTZUNG, "/blitzer [Aktion]");
    SendStrukturMessage(playerid, MSG_BENUTZUNG, "Verfügbare Aktionen: Aufstellen, Entfernen, EntfernAll, Check, Zählen");
    return 1;
    }
    if(!strcmp(lAction, "aufstellen", true))
    {
    if(sscanf(params, "s[52]iu", lAction, lGeschwindigkeit, giveplayerid))
    {
    SendStrukturMessage(playerid, MSG_BENUTZUNG, "/blitzer Aufstellen [Geschwindigkeit] [Spieler ID]");
    SendStrukturMessage(playerid, MSG_BENUTZUNG, "Info: Die Messposition des Blitzers ist die Position der Spieler ID!");
    return 1;
    }
    if(IsPlayerInAnyVehicle(playerid)) return SendStrukturMessage(playerid, MSG_FEHLER, "Du kannst in einem Fahrzeug keinen Blitzer aufstellen!");
    if(lGeschwindigkeit < 10 || lGeschwindigkeit > 200) return SendStrukturMessage(playerid, MSG_FEHLER, "Die Geschwindigkeit darf nicht weniger als 10 und nicht mehr als 200 betragen!");
    if(!IsPlayerConnectedEx(giveplayerid) || giveplayerid == INVALID_PLAYER_ID) return SendStrukturMessage(playerid, MSG_FEHLER, "Unbekannte Spieler ID!");
    if(CountBlitzer() >= 10) return SendStrukturMessage(playerid, MSG_FEHLER, "Es sind bereits 10 Blitzer in San Andreas aufgestellt!");
    if(GetPlayerFraktion(giveplayerid) != 5) return SendClientMessage(playerid, COLOR_GRAU, "Dieser Spieler ist nicht im Ordnungsamt!");
    if(playerid == giveplayerid) return SendClientMessage(playerid, COLOR_GRAU, "Du kannst keinen Blitzer mit dir selber aufstellen!");
    if(!ProxDetectorS(30, playerid, giveplayerid)) return SendClientMessage(playerid, COLOR_GRAU, "Dieser Spieler ist zu weit entfernt!");
    CreateBlitzer(playerid, giveplayerid, lGeschwindigkeit);
    }
    else if(!strcmp(lAction, "entfernen", true))
    {


    Beachte, dass es !strcmp heißen muss.

    stock ReturnPlayerID(l_PlayerName[]) //©Jeffry
    {
    new l_name[MAX_PLAYER_NAME];
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(GetPlayerName(i, l_name, MAX_PLAYER_NAME))
    {
    if(!strcmp(l_name,l_PlayerName, true)) return i;
    }
    }
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(GetPlayerName(i, l_name, MAX_PLAYER_NAME))
    {
    if(strfind(l_name,l_PlayerName,true)!=-1) return i;
    }
    }
    return INVALID_PLAYER_ID;
    }


    Benenne den stock falls du willst zu ReturnUser um.