Beiträge von BobbiVids


    Eben bei Nemesus sieht man auch das er mal die ein oder andere Funktion vergisst
    oder noch nicht kennt weil sie neu ist oder what ever.


    Erkennt man immer daran wenn sein "Camtasia spinnt",
    da kommt es mir immer vor als schaut er im wiki oder im Forum nach :D

    Hey,
    ich bin wieder mal dumm und erkenne keinen Fehler.
    Obwohl Cops online sind, kommt die Nachricht das keine Online sind.



    new copson;
    for( new i = 0; i < MAX_PLAYERS; i++)
    {
    if(gTeam[i] == TEAM_COPS)
    {
    copson++;
    }
    }
    if(copson < 0)
    {
    // ........
    }
    else
    {
    SendClientMessage(playerid, ROT, "Es sind nicht genug Cops Online!");
    return 1;
    }

    Hast das schon mit der Zeile verschieben gemacht?
    Sorry wenn ich es überlesen hab


    Wäre für mich auch interessant, wüsste auch nicht wie es ohne \n gehen soll.

    if(Spieler[pID][Team] == 1 || Spieler[pID][Team] == 2)
    zu
    if(Spieler[pID][Team] != 1 && Spieler[pID][Team] != 2)


    /edit:


    Also wenn die pID nicht im Team 1 & nicht im Team 2 ist.

    Der Befehl sieht nun so aus:


    if(oldkeys & KEY_SECONDARY_ATTACK)
    {
    if(gMode[playerid] == MODE_CNR)
    {
    new i = isPlayerInRangeOfRob(playerid), x = isPlayerInRangeOfHouse(playerid);
    if(i && x == -1) return 1;
    if(IsPlayerInRangeOfPoint(playerid, 2.0, Rob[i][PosX], Rob[i][PosY], Rob[i][PosZ]) ) {
    SetPlayerPos(playerid, Rob[i][PosXInt], Rob[i][PosYInt], Rob[i][PosZInt]);
    SetPlayerVirtualWorld(playerid, Rob[i][HouseVW]);
    SetPlayerInterior(playerid, Rob[i][HouseInt]);
    PlayerData[playerid][pHouseID] = Rob[i][robID];
    GameTextForPlayer(playerid, "/robstore" ,5000, 1);
    return 1;
    }
    else if(IsPlayerInRangeOfPoint(playerid, 2.0, Rob[i][PosXInt], Rob[i][PosYInt], Rob[i][PosZInt]) && GetPlayerVirtualWorld(playerid) == Rob[i][HouseVW] && GetPlayerInterior(playerid) == Rob[i][HouseInt]) {
    SetPlayerPos(playerid, Rob[i][PosX], Rob[i][PosY], Rob[i][PosZ]);
    SetPlayerVirtualWorld(playerid, 0);
    SetPlayerInterior(playerid, 0);
    PlayerData[playerid][pHouseID] = -1;
    Rob[i][InRob] = 0;
    return 1;
    }
    else if(IsPlayerInRangeOfPoint(playerid, 2.0, House[x][PosX], House[x][PosY], House[x][PosZ]) ) {
    if(HouseInfo[x][HouseDoor] == 1) {
    SetPlayerPos(playerid, House[x][PosXInt], House[x][PosYInt], House[x][PosZInt]);
    SetPlayerVirtualWorld(playerid, House[x][HouseVW]);
    SetPlayerInterior(playerid, House[x][HouseInt]);
    PlayerData[playerid][pHouseID] = House[x][HouseID];
    } else SendClientMessage(playerid, clBlue, "Das Haus ist abgeschlossen");
    return 1;
    }
    else if(IsPlayerInRangeOfPoint(playerid, 2.0, House[x][PosXInt], House[x][PosYInt], House[x][PosZInt]) && GetPlayerVirtualWorld(playerid) == House[x][HouseVW] && GetPlayerInterior(playerid) == House[x][HouseInt]) {
    if(HouseInfo[x][HouseDoor] == 1) {
    SetPlayerPos(playerid, House[x][PosX], House[x][PosY], House[x][PosZ]);
    SetPlayerVirtualWorld(playerid, 0);
    SetPlayerInterior(playerid, 0);
    PlayerData[playerid][pHouseID] = -1;
    } else SendClientMessage(playerid, clBlue, "Das Haus ist abgeschlossen");
    return 1;
    }
    }
    return 1;


    /Edit:


    Ich denke der Fehler liegt bei if(i && x == -1) return 1;
    Teste es.


    /edit:


    No, ka.


    /edit:


    Ich habs, es geht ... :rolleyes:


    Welche felhende Klammer und wieso '&' bei der abfrage?

    #define MaxRobs 35 // Maximale Anzahl an Häusern
    Hat nichts damit zu tun.
    Der Fehler war bei der Schleife mitten im Befehl.
    Die scheint irgentwie was falsch zu machen.


    Habe ein neues Problemchen.
    Das System ist so gut wie fertig, nur verträgt mein Haussystem es nicht und reagiert nicht.


    if(oldkeys == KEY_SECONDARY_ATTACK)
    {
    if(gMode[playerid] == MODE_CNR)
    {
    new i = isPlayerInRangeOfRob(playerid);
    if(i == -1) return 1;
    if(IsPlayerInRangeOfPoint(playerid, 2.0, Rob[i][PosX], Rob[i][PosY], Rob[i][PosZ]) ) {
    SetPlayerPos(playerid, Rob[i][PosXInt], Rob[i][PosYInt], Rob[i][PosZInt]);
    SetPlayerVirtualWorld(playerid, Rob[i][HouseVW]);
    SetPlayerInterior(playerid, Rob[i][HouseInt]);
    PlayerData[playerid][pHouseID] = Rob[i][robID];
    GameTextForPlayer(playerid, "/robstore" ,5000, 1);
    return 1;
    }
    if(IsPlayerInRangeOfPoint(playerid, 2.0, Rob[i][PosXInt], Rob[i][PosYInt], Rob[i][PosZInt]) && GetPlayerVirtualWorld(playerid) == Rob[i][HouseVW] && GetPlayerInterior(playerid) == Rob[i][HouseInt]) {
    SetPlayerPos(playerid, Rob[i][PosX], Rob[i][PosY], Rob[i][PosZ]);
    SetPlayerVirtualWorld(playerid, 0);
    SetPlayerInterior(playerid, 0);
    PlayerData[playerid][pHouseID] = -1;
    Rob[i][InRob] = 0;
    return 1;
    }
    }
    else if(gMode[playerid] == MODE_CNR)
    {
    new x = isPlayerInRangeOfHouse(playerid);
    if(x == -1) return 1;
    if(IsPlayerInRangeOfPoint(playerid, 2.0, House[x][PosX], House[x][PosY], House[x][PosZ]) ) {
    if(HouseInfo[x][HouseDoor] == 1) {
    SetPlayerPos(playerid, House[x][PosXInt], House[x][PosYInt], House[x][PosZInt]);
    SetPlayerVirtualWorld(playerid, House[x][HouseVW]);
    SetPlayerInterior(playerid, House[x][HouseInt]);
    PlayerData[playerid][pHouseID] = House[x][HouseID];
    } else SendClientMessage(playerid, clBlue, "Das Haus ist abgeschlossen");
    return 1;
    }
    if(IsPlayerInRangeOfPoint(playerid, 2.0, House[x][PosXInt], House[x][PosYInt], House[x][PosZInt]) && GetPlayerVirtualWorld(playerid) == House[x][HouseVW] && GetPlayerInterior(playerid) == House[x][HouseInt]) {
    if(HouseInfo[x][HouseDoor] == 1) {
    SetPlayerPos(playerid, House[x][PosX], House[x][PosY], House[x][PosZ]);
    SetPlayerVirtualWorld(playerid, 0);
    SetPlayerInterior(playerid, 0);
    PlayerData[playerid][pHouseID] = -1;
    } else SendClientMessage(playerid, clBlue, "Das Haus ist abgeschlossen");
    return 1;
    }
    }
    return 1;
    }


    /edit


    Erst bei else if(gMode[playerid] == MODE_CNR) regiert es nicht.
    Also, ich kann kein Haus betreten


    Kann es sein das du nichtmal auf den Server Connected hast?
    Ich sehe nirgents was von einer incomeing connection oder das ein User den Server betreten hat.
    :huh:

    Hey,
    Ich bin grade dabei ein Dynamisches Robsystem zu erstellen,
    bei einem Befehl scheint aber was nicht zu funktionieren.
    Sobald ich den Befehl eingebe, reagiert der Server nicht mehr.


    ocmd:robstore(playerid, params[])
    {
    if(gMode[playerid] == MODE_CNR)
    {
    cLog(playerid, "/robstore");
    if(gTeam[playerid] == TEAM_ZIVI)
    {
    if(Robbing[playerid] == 0)
    {
    /*new copson;
    for( new i = 0; i < MAX_PLAYERS; i++)
    {
    if(gTeam[playerid] == TEAM_COPS)
    {
    copson++;
    }
    }
    if(copson < 0)
    {*/
    if(PlayerData[playerid][pHouseID] != -1)
    {
    for(new i; i < MaxRobs; i++)
    if(IsPlayerInRangeOfPoint(playerid, 30, Rob[i][PosXInt], Rob[i][PosYInt], Rob[i][PosZInt]) && GetPlayerVirtualWorld(playerid) == Rob[i][HouseVW] && GetPlayerInterior(playerid) == Rob[i][HouseInt])
    {
    if(Rob[i][InRob] == 0)
    {
    Rob[i][InRob] = 1;
    SetPlayerWantedLevel(playerid, GetPlayerWantedLevel(playerid) +4);
    new string[250], name[50];
    SetTimerEx("robtimer", 60000, false, "i", playerid);
    new str[250];
    format(str, sizeof(str),"[News] Es wurde ein überfall im %s gemeldet!", Rob[i][RobName]);
    SendCNR(GELB, str);
    Robbing[playerid] = 1;

    for(new cops = 0; cops < GetMaxPlayers(); i++)
    if(gTeam[cops] == TEAM_COPS)
    {
    GetPlayerName(playerid, name, sizeof(name));
    format(string, sizeof(string),"[Zentrale] Es wurde ein Überfall gemeldet! Code 3 an alle einheiten! 10-20 %s | Verdächtige Person: %s", Rob[i][RobName], name);
    SendClientMessage(cops,HELLBLAU, string);
    cLog(playerid, "/robstore");
    }
    return 1;
    }
    return SendClientMessage(playerid, ROT, "Hier fand vor kurzer Zeit erst ein Überfall statt!");
    }
    }
    return SendClientMessage(playerid, ROT, "Du bist in keinem Gebäude");
    /*}
    else
    {
    SendClientMessage(playerid, ROT, "Es sich nicht genug Cops Online!");
    return 1;
    }*/
    }
    return SendClientMessage(playerid, ROT, "Du raubst bereits ein Laden aus oder hast es erst kürzlich gemacht!");
    }
    return 1;
    }
    return SendClientMessage(playerid, ROT, "Du musst in der Cops n Robbers Mode sein um den Befehl zu nutzen!");
    }

    Heyho,
    ich bin grade dabei zwei Funktionen zu erstellen.
    Einmal SendCNR und SendFree.
    Diese sollen dann nachrichten in die jeweilige Mode schicken.
    Ich bekomme da jedoch 16 Errors und erkenne den Fehler nicht so richtig.


    stock SendCNR(color, text)
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(gMode[i] == MODE_CNR)
    {
    SendClientMessage(i, color, text);
    }
    }
    }


    stock SendFree(color, text)
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(gMode[i] == MODE_FREE)
    {
    SendClientMessage(i, color, text);
    }
    }
    }


    Beispiel:



    new name[MAX_PLAYER_NAME], string[100+MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(string, sizeof(string), "%s hat die DM-Arena betreten. ( /dm )",name);
    SendFree(GELB, string); // <- Error


    Der Errorcode für das Beispiel:


    Code
    F:\MySQL Server\gamemodes\MySQLFlystunt.pwn(9520) : error 035: argument type mismatch (argument 2)


    Danke im voraus


    new Level, Time;
    Level = GetPlayerWantedLevel(pid); // man muss das Level von der pid, und nicht von der playerid abfragen
    Time = Level * 60000 * 5; // z.b. Level = 1, dann 60000 * 5 = 300000 Millisekunden = 300 Sek. = 5 Minuten
    JailPlayer(pid, Time);


    Dann kannst du noch:



    new atime, str[250]; // arresttime
    atime = Time / 60000;
    format(str, sizeof(str), "Du wurdest für %d Minuten eingesperrt.", atime);
    SendClientMessage(playerid, Farbe, str);


    Korrigiert mich wenn was falsch ist.


    /Handy

    Einfacher wäre es auch wenn du eine Variable für das Freezen setzt.
    So könntest du auch einfach nur einen Befehl benutzen, u Know?



    ocmd:freeze(playerid, params[])
    {
    if(PlayerData[pID][Frozen] == 1)
    {
    //unfreezen
    } else {
    //freezen
    }
    Return 1;
    }


    MfG


    (( /Handy ))