Beiträge von PabloEscobarYo

    if(sscanf(params,"d",pID)) muss d nicht zu u u ist doch für playerids oder net :D?

    Jap das hab ich mittlerweile auch raus bekommen troz danke. ^^


    Hab das jetzt im /garbage Befehl:

    if(sscanf(params,"u", pID1))return SendClientMessage(playerid, COLOR_NEUTRALBLUE, "Benutze: /garbage [PlayerID/Name]");
    if(!IsPlayerConnected(pID1))return SendClientMessage(playerid, COLOR_RED, "Der Spieler ist nicht Online.");


    Brauche aber jetzt einen Befehl.. /agarbage wo der Partner den Job annehmen kann und dann die Route Bzw. Die Checkpoints angezeigt werden. Ich weiß nicht wie ich den erstellen soll hmm ..

    //EDIT: Alles zum Müllmannjob

    //Müllmann Job danke! wenn klappt
    new Float:kubik[MAX_VEHICLES];
    new Float:maxkubik[MAX_VEHICLES];
    //new fahrzeug[MAX_PLAYERS];
    new fahrzeug[MAX_PLAYERS] = {-1,...};
    new bmxo[MAX_PLAYERS] = {-1,...};
    new muellcars[6];
    new pMuellAuto[MAX_PLAYERS];
    new muellsacke[MAX_VEHICLES];



    new Float: bmx1[2][3] =
    {
    {1860.9629,-2042.7212,13.5469},
    {1866.7927,-2056.9846,13.3828}
    };
    //new bmxo[MAX_PLAYERS];
    new inviteID[MAX_PLAYERS];
    new istdabei[MAX_PLAYERS];
    new wurdeangefragt[MAX_PLAYERS];
    new checkpointgarbage[MAX_PLAYERS];


    public OnPlayerEnterDynamicCP(playerid, checkpointid)
    {
    if(checkpointid == bmxo[playerid])
    {
    SetPlayerAttachedObject(playerid,0,1264,6,0.165999,0.003000,-0.184999,0.000000,0.000000,0.000000,0.498999,0.466999,0.489000);
    ApplyAnimation(playerid,"CARRY","liftup",4.1,0, 0, 0, 1, 1);
    ClearAnimations(playerid,1);
    SetPlayerSpecialAction(playerid,25);
    new Float:vX,Float:vY,Float:vZ;
    GetPosVorVeh(pMuellAuto[playerid], -5.0, vX, vY, vZ);
    DestroyDynamicCP(bmxo[playerid]);
    bmxo[playerid] = -1;
    fahrzeug[playerid] = CreateDynamicCP(vX,vY,vZ,4.0,-1,-1,playerid,30.0);
    TogglePlayerDynamicCP(playerid,fahrzeug[playerid],1);
    new rand1 = 5+random(3);
    muellsacke[pMuellAuto[playerid]] = rand1;
    return 1;
    }
    else if(checkpointid == fahrzeug[playerid])
    {
    if(kubik[pMuellAuto[playerid]] == 5.0)
    {
    SendClientMessage(playerid,COLOR_RED,"Das Fahrzeug ist voll, benutze /garbagestop");
    ClearAnimations(playerid,1);
    SetPlayerSpecialAction(playerid,0);
    RemovePlayerAttachedObject(playerid, 0);
    kubik[pMuellAuto[playerid]] = 0;
    DestroyDynamicCP(fahrzeug[playerid]);
    fahrzeug[playerid] = -1;
    }
    else
    {
    if(muellsacke[pMuellAuto[playerid]] == 1)
    {
    muellsacke[pMuellAuto[playerid]] = 0;
    ClearAnimations(playerid,1);
    SetPlayerSpecialAction(playerid,0);
    RemovePlayerAttachedObject(playerid, 0);
    DestroyDynamicCP(fahrzeug[playerid]);
    fahrzeug[playerid] = -1;
    kubik[pMuellAuto[playerid]] += 0.5;
    new rand = random(sizeof(bmx1));
    bmxo[playerid] = CreateDynamicCP(bmx1[rand][0],bmx1[rand][1],bmx1[rand][2],5.0,-1,-1,playerid,1000.0);
    return 1;
    }
    else
    {
    new string[123],string2[123];
    ClearAnimations(playerid,1);
    SetPlayerSpecialAction(playerid,0);
    kubik[pMuellAuto[playerid]] += 0.5;
    muellsacke[pMuellAuto[playerid]] -= 1;//HIER
    RemovePlayerAttachedObject(playerid, 0);
    format(string,sizeof(string),"Kubik: %0.1f/15.0",kubik[pMuellAuto[playerid]]);
    SendClientMessage(playerid,COLOR_LIGHTBLUE,string);
    format(string2,sizeof(string2),"Müllsäcke: %d",muellsacke[pMuellAuto[playerid]]);
    SendClientMessage(playerid,COLOR_LIGHTBLUE,string2);
    DestroyDynamicCP(fahrzeug[playerid]);
    fahrzeug[playerid] = -1;
    bmxo[playerid] = CreateDynamicCP(globalVar[playerid][0],globalVar[playerid][1],globalVar[playerid][2],4.0,-1,-1,playerid,30.0);
    return 1;
    }
    }
    }
    return 1;
    }


    ocmd:garbage(playerid,params[])
    {
    if(IsPlayerConnected(playerid))
    {
    if(istdabei[playerid] == 0)
    {
    if(dienst[playerid] == 26)
    {
    if(IsPlayerInAnyVehicle(playerid))
    {
    new veh = GetPlayerVehicleID(playerid);
    for(new i = 0;i<sizeof(muellcars);i++)
    {
    if(veh == muellcars[i])
    {
    new rand = random(sizeof(bmx1));
    new string[123],pID1,string2[123];
    if(sscanf(params,"u", pID1))return SendClientMessage(playerid, COLOR_NEUTRALBLUE, "Benutze: /garbage [PlayerID/Name]");
    if(!IsPlayerConnected(pID1))return SendClientMessage(playerid, COLOR_RED, "Der Spieler ist nicht Online.");
    /// if(sscanf(params,"d",pID))return SendClientMessage(playerid,COLOR_GREY,"[Benutze] /garbage [SpielerID]");
    if(wurdeangefragt[playerid] == 0)
    {
    inviteID[playerid] = pID1;
    format(string,sizeof(string),"Du hast ID: %i erfolgreich eine Anfrage gesendet, bitte warte bis er sie annehmt!",inviteID[playerid]);
    SendClientMessage(playerid,COLOR_BLUE,string);
    format(string2,sizeof(string2),"%s hat dich angefragt, benutze /agarbage um die Anfrage anzunehmen",Spielername(playerid));
    SendClientMessage(inviteID[playerid],COLOR_BLUE,string2);
    wurdeangefragt[pID1] = 1;
    maxkubik[veh] = 15.0;
    pMuellAuto[playerid] = veh; //pMuellAuto global unter den Includes mit MAX_PLAYERS deklarieren.
    kubik[veh] = 0.0;
    istdabei[playerid] = 1;
    checkpointgarbage[playerid] = playerid;
    bmxo[playerid] = CreateDynamicCP(checkpointgarbage[playerid],bmx1[rand][0],bmx1[rand][1],bmx1[rand][2],3);
    return 1;
    }
    }
    }
    SendClientMessage(playerid, COLOR_RED, "Du bist in keinem Müllwagen.");
    return 1;
    }
    }
    else return SendClientMessage(playerid, COLOR_RED, "Du bist kein Müllmann.");
    }
    }
    return 1;
    }

    Wie kann ich einen befehl /agarbage erstellen zu dem befehl /garbage der hier oben steht
    das der partner mit einem zsm arbeitet ? dann den die cps angezeigt bekommt wie der fahrer?


    //EDIT: und der befehl /garbage Funktioniert iwi nicht richtig ich benutze ihn einmal im Müllwagen steht erfolgreich anfrage gesendet habe aber nicht mal eine ID eingeben bekomme diese Warnings:
    C:\Users\DerMeister\Desktop\Life of San Andreas\gamemodes\script3.3.2.pwn(126424) : warning 219: local variable "pID" shadows a variable at a preceding levelC:\Users\DerMeister\Desktop\Life of San Andreas\gamemodes\script3.3.2.pwn(126424) : warning 203: symbol is never used: "pID"
    WARNING ZEILE: new string[123],pID,string2[123];
    //EDIT: Befehl wurde nicht ordentlich angezeigt ..
    //EDIT: Es wird übrigens auch kein CP so erstellt:


    mit dem Test Befehl:

    ocmd:agarbage(playerid,params[])
    {
    new rand = random(sizeof(bmx1));
    checkpointgarbage[playerid] = playerid;
    bmxo[playerid] = CreateDynamicCP(checkpointgarbage[playerid],bmx1[rand][0],bmx1[rand][1],bmx1[rand][2],3);
    SendClientMessage(playerid,0x0069FFFF,"Du bist jetzt am Arbeiten mit dem Azzlack der dich angefragt hat.");
    return 1;
    }


    Hier eventuell mehr zu dem Job: https://breadfish.de/index.php…ostID=2203133#post2203133

    Mir fehlt dieses globalVar


    Wie kann ich sowas erstellen?
    Das halt cps an bestimmten stellen kommen die ich einfüge random
    bmxo[playerid] = CreateDynamicCP(globalVar[playerid][0],globalVar[playerid][1],globalVar[playerid][2],4.0,-1,-1,playerid,30.0);


    Bitte um hilfe

    Klappt troz AddStaticVehicle nicht^^


    vehID = AddStaticVehicle(modelID, CposX, CposY, CposZ+3, CposR, color1, color2);


    Wenn da keine Lösung für gibt nehm ich die Standart GS Base einfach nicht an anderen stellen klappt es ja

    Das liegt an der Grove Street da es ein SAMP bzw. GTA Map Fehler ist.


    forward LoadFrakCarsExecute();
    public LoadFrakCarsExecute(){
    new vehID, rows, fields, query[128];
    new id, frakID, modelID, Float: CposX, Float: CposY, Float: CposZ, Float: CposR, Ckm, color1, color2, Csperre, world, sperrUser[MAX_PLAYER_NAME], sperrGrund[128], sperrSumme;
    cache_get_data(rows, fields);



    if(rows > 0){
    for(new i = 0; i < rows; i++){
    cache_get_field_content(i, "id", query, Connection, 128);
    id = strval(query);
    cache_get_field_content(i, "fraktion", query, Connection, 128);
    frakID = strval(query);
    if(frakID == 6) continue;
    cache_get_field_content(i, "model", query, Connection, 128);
    modelID = strval(query);
    cache_get_field_content(i, "posX", query, Connection, 128);
    CposX = floatstr(query);
    cache_get_field_content(i, "posY", query, Connection, 128);
    CposY = floatstr(query);
    cache_get_field_content(i, "posZ", query, Connection, 128);
    CposZ = floatstr(query);
    cache_get_field_content(i, "posR", query, Connection, 128);
    CposR = floatstr(query);
    cache_get_field_content(i, "world", query, Connection, 128);
    world = strval(query);



    //cache_get_field_content(i, "benzin", query);
    //benzin = floatstr(query);
    cache_get_field_content(i, "km", query, Connection, 128);



    Ckm = strval(query);
    cache_get_field_content(i, "color1", query, Connection, 128);
    color1 = strval(query);
    cache_get_field_content(i, "color2", query, Connection, 128);
    color2 = strval(query);
    cache_get_field_content(i, "sperre", query, Connection, 128);
    Csperre = strval(query);
    cache_get_field_content(i, "sperrUser", sperrUser, Connection, 128);
    cache_get_field_content(i, "sperrGrund", sperrGrund, Connection, 128);
    cache_get_field_content(i, "sperrSumme", query, Connection, 128);
    sperrSumme = strval(query);



    vehID = CreateVehicle2(modelID, CposX, CposY, CposZ, CposR, color1, color2, SPAWN_CAR);
    SetVehicleVirtualWorld(vehID, world);
    VehicleSystem[vehID][fraktion] = frakID;
    VehicleSystem[vehID][cSpawnWorld] = world;
    VehicleSystem[vehID][amodel] = modelID;
    VehicleSystem[vehID][owner] = MafiaNamen[frakID];
    VehicleSystem[vehID][ownersperrli] = MafiaNamen[frakID];
    VehicleSystem[vehID][Benzin]= get_MaxGasFullTank(vehID);
    VehicleSystem[vehID][akku] = 10;
    VehicleSystem[vehID][km] = Ckm;
    VehicleSystem[vehID][fraksid] = id;
    VehicleSystem[vehID][farr1] = color1;
    VehicleSystem[vehID][farr2] = color2;
    VehicleSystem[vehID][nn_sperre] = Csperre;
    format(query,sizeof(query),"%s", sperrUser);
    VehicleSystem[vehID][nn_name] = query;



    format(query,sizeof(query),"%s", sperrGrund);
    VehicleSystem[vehID][nn_grund] = query;
    VehicleSystem[vehID][nn_summe] = sperrSumme;

    if(modelID == 487 || modelID == 469)
    {
    DFraktion[frakID][have_heli]++;
    }



    if(frakID == 11)
    {
    if(modelID == 560 || modelID == 429)
    {
    AddVehicleComponent(vehID, 1010);
    }
    }




    if (strcmp(VehicleSystem[vehID][owner], "Varrios_Aztecas", true)==0){
    format(query,sizeof(query),"Aztecas");
    VehicleSystem[vehID][owner] = query;
    }
    if (VehicleSystem[vehID][fraktion] == 23){
    SetVehicleHealth(vehID, 2000);
    }



    /*
    if(frakID == 15 && intaxiauto == 0)
    {
    intaxiauto = 1;
    bottaxi = vehID;
    FCNPC_PutInVehicle(dummerbot, vehID, 0);
    }
    */
    DFraktion[frakID][carCount]++;
    if(frakID != 21) SetVehicleNumberPlate(vehID, MafiaNamen[frakID]);
    }
    }



    printf("%d Fraktionsautos geladen", rows);
    }

    Wie kann ich die etwas höher spawnen lassen?

    Hallo Zusammen ich habe folgendes Problem..


    Ich hab Fraktionsautos im Autohaus gekauft diese geparkt spawnen auch nach einem Carrespawn an ihrem geparkten Platz
    Aber wenn jemand Stirbt oder sich Einloggt verschieben sich die Autos auf eine andere Position Woran kann das liegen?
    Dies ist aber nur bei den Spielern die sich gerade einloggen oder gestorben sind die Spieler die noch an dem Ort Standen
    sehen die Cars an ihrem Parkplatz. Das Passiert aber nur wenn man im Interior Spawnt beim Einloggen.. und dann irgendwann stirbt.
    Ist das ein Bug? Was braucht ihr für einen Code um mir zu helfen ich verzweifle langsam.



    So Normaler Parkplatz:

    So wenn ich gestorben bin und aus meiner Gang Base rauskomme:

    Wieso funktioniert der /carsell Befehl nicht?
    Es passiert einfach nichts..



    if(strcmp("/carsell", cmdtext, true, 10) == 0){



    if(PlayerInfo[playerid][carselllos] == 0)
    {
    PlayerInfo[playerid][carselllos] = 1;
    if(fixveh[playerid] == 1)
    {
    SendClientMessage(playerid, COLOR_RED, "Deine Farhzeuge respawnen gerade. Warte bis zu 30 Sekunden");
    return 1;
    }



    if(PlayerInfo[playerid][gebannt] == 1){
    SendClientMessage(playerid, COLOR_RED, "Mit dem Status: gebannter User kannst du diese Funktion nicht machen");
    return 1;
    }



    if(Dtc_PlayerHaveCar[playerid][Dtc_PlayerKey[playerid]]){
    new stringgss[128];
    if(PlayerCar[playerid][Dtc_PlayerKey[playerid]][sperre] == 1){



    SendClientMessage(playerid, COLOR_RED, "Ihr Fahrzeug ist zur Zeit gesperrt. Sie müssen dieses erst entsperren, um es verkaufen zu können!");
    format(stringgss,sizeof(stringgss),"Grund der Sperrung: %s . Zum Entsperren: %d Euro an der Ordnungsamt Base bezahlen!",PlayerCar[playerid][Dtc_PlayerKey[playerid]][hs_grund], PlayerCar[playerid][Dtc_PlayerKey[playerid]][h_summe]);
    SendClientMessage(playerid, COLOR_RED, stringgss);
    return 1;
    }



    if(PlayerCar[playerid][Dtc_PlayerKey[playerid]][CarModel] ==400 && PlayerCar[playerid][Dtc_PlayerKey[playerid]][CarPreis] == 0)
    {
    SendClientMessage(playerid, COLOR_RED, "Wenn du ein neues Fahrzeug auf diesem Carkey haben mächtest, kaufe dir einfach ein neues im Autohaus");
    SendClientMessage(playerid, COLOR_RED, "Sonst verlierst du diesen Carkey");
    return 1;
    }
    format(stringgss,sizeof(stringgss),"Bist du dir sicher, dass du dein %s (Kaufpreis: %d) verkaufen möchtest ?", CarName[PlayerCar[playerid][Dtc_PlayerKey[playerid]][CarModel]-400], PlayerCar[playerid][Dtc_PlayerKey[playerid]][CarPreis]);
    ShowPlayerDialog(playerid, 3211, DIALOG_STYLE_MSGBOX, "Auto-Verkauf", stringgss, "Ja", "Nein");
    }
    else{
    SendClientMessage(playerid, COLOR_GREY, "Auf dem Schlüssel besitzt du kein Fahrzeug. Wechsel den Schlüssel mit /carkey und versuche es nochmal");
    return 1;
    }
    }
    return 1;
    }

    [20:44:31] [DEBUG] mysql_tquery - connection: 1, query: "INSERT INTO atm (a_x, a_y, a_z, atmObjekt) VALUES ('1815.550415'", callback: "OnATMCreated", format: "i"
    [20:44:31] [DEBUG] CMySQLQuery::CMySQLQuery() - constructor called
    [20:44:31] [DEBUG] mysql_tquery - scheduling query "INSERT INTO atm (a_x, a_y, a_z, atmObjekt) VALUES ('1815.550415', '-1897.507812', '13.578125', 2942)"..
    [20:44:31] [DEBUG] CMySQLQuery::Execute[OnATMCreated(i)] - starting query execution
    [20:44:31] [DEBUG] CMySQLQuery::Execute[OnATMCreated(i)] - query was successful
    [20:44:31] [DEBUG] CMySQLResult::CMySQLResult() - constructor called
    [20:44:31] [DEBUG] CMySQLQuery::Execute[OnATMCreated(i)] - data being passed to ProcessCallbacks()
    [20:44:31] [DEBUG] Calling callback "OnATMCreated"..
    [20:44:31] [DEBUG] cache_insert_id - connection: 1
    [20:44:31] [DEBUG] CMySQLResult::~CMySQLResult() - deconstructor called
    [20:44:31] [DEBUG] CMySQLQuery::~CMySQLQuery() - deconstructor called


    Wenn ich ihn erstelle


    Wenn ich position ändern mache


    Kommt nichts über atm

    Hab das jetzt so allerdings nach nem Server Restart ist das Object weg das 3DTextLabel wird erstellt wo man den befehl genutzt hat


    Hab das ganze jetzt so zurzeit:

    ocmd:createatm(playerid, params[])
    {
    if(!isAdmin(playerid, 3))return
    SendClientMessage(playerid, 0xC30000FF, "Dein Adminrang ist zu niedrig.");
    new Float:xc, Float:yc, Float:zc;
    GetPlayerPos(playerid, xc, yc, zc);



    new id=getFreeAtmID();
    aInfo[id][a_x]=xc;
    aInfo[id][a_y]=yc;
    aInfo[id][a_z]=zc;
    aInfo[id][a_objectID] = CreateObject(2942, aInfo[id][a_x], aInfo[id][a_y], aInfo[id][a_z], 0.0, 0.0, 96.0);
    EditObject(playerid, aInfo[id][a_objectID]);
    updateAtm(id);
    //In Datenbank abspeichern
    new query[256];
    format(query, sizeof(query),
    "INSERT INTO atm (a_x, a_y, a_z, atmObjekt) VALUES ('%f', '%f', '%f', 2942)",
    xc, yc, zc);
    mysql_function_query(dbhandle, query, true, "OnATMCreated", "i", id);
    return 1;
    }



    public OnPlayerEditObject(playerid, playerobject, objectid, response, Float:fX, Float:fY, Float:fZ, Float:fRotX, Float:fRotY, Float:fRotZ)
    {
    new Float:oldX, Float:oldY, Float:oldZ,
    Float:oldRotX, Float:oldRotY, Float:oldRotZ;
    GetObjectPos(objectid, oldX, oldY, oldZ);
    GetObjectRot(objectid, oldRotX, oldRotY, oldRotZ);
    if(!playerobject) // If this is a global object, move it for other players
    {
    if(!IsValidObject(objectid)) return 1;
    MoveObject(objectid, fX, fY, fZ, 10.0, fRotX, fRotY, fRotZ);
    }



    if(response == EDIT_RESPONSE_FINAL)
    {
    new id = -1;
    for(new i = 0; i < sizeof(aInfo); i++)
    {
    if(aInfo[id][a_objectID] == objectid) break;
    }
    if(id == -1) return 1;
    updateAtm(id);
    //In Datenbank abspeichern
    new query[256];
    format(query, sizeof(query), "UPDATE atm SET a_x = '%f', a_y = '%f', a_z = '%f' WHERE id = '%d'", fX, fY, fZ, aInfo[id][a_id]);
    mysql_function_query(dbhandle, query, false, "", "");
    }



    if(response == EDIT_RESPONSE_CANCEL)
    {
    // Spieler hat abgebrochen
    if(!playerobject) // Objekt ist kein Player-Objekt
    {
    SetObjectPos(objectid, oldX, oldY, oldZ);
    SetObjectRot(objectid, oldRotX, oldRotY, oldRotZ);
    }
    else
    {
    SetPlayerObjectPos(playerid, objectid, oldX, oldY, oldZ);
    SetPlayerObjectRot(playerid, objectid, oldRotX, oldRotY, oldRotZ);
    }
    }
    return 1;
    }

    Speichert irgendwie nicht ^^




    //EDIT:
    C:\Users\**\Desktop\SELFMADE\gamemodes\selfmade.pwn(5324) : warning 202: number of arguments does not match definition




    Ich hab bei updateatm(id) , updateatm(id,playerid)


    hinzugefügt.. vielleicht deswegen? aber wenn ich dort id,playerid hinzufüge kommt nen error undefined symbol playerid aber bei den anderen abfragen wo ich id,playerid einfüge nicht

    C:\Users\**\Desktop\SELFMADE\gamemodes\selfmade.pwn(607) : error 078: function uses both "return" and "return <value>"
    C:\Users\**\Desktop\SELFMADE\gamemodes\selfmade.pwn(608) : warning 202: number of arguments does not match definition
    C:\Users\**\Desktop\SELFMADE\gamemodes\selfmade.pwn(629) : warning 209: function "OnPlayerEditObject" should return a value



    public OnPlayerEditObject(playerid, playerobject, objectid, response, Float:fX, Float:fY, Float:fZ, Float:fRotX, Float:fRotY, Float:fRotZ)
    {
    new Float:oldX, Float:oldY, Float:oldZ,
    Float:oldRotX, Float:oldRotY, Float:oldRotZ;
    GetObjectPos(objectid, oldX, oldY, oldZ);
    GetObjectRot(objectid, oldRotX, oldRotY, oldRotZ);
    if(!playerobject) // If this is a global object, move it for other players
    {
    if(!IsValidObject(objectid)) return;
    MoveObject(objectid, fX, fY, fZ, 10.0, fRotX, fRotY, fRotZ);
    }



    if(response == EDIT_RESPONSE_FINAL)
    {
    new id = -1;
    for(new i = 0; i < sizeof(aInfo); i++)
    {
    if(aInfo[id][a_objectID] == objectid) break;
    }
    if(id == -1) return 1;//ERROR 607 ZEILE
    updateAtm(id);//WARNING 608
    //In Datenbank abspeichern
    new query[256];
    format(query, sizeof(query), "UPDATE atm SET a_x = '%f', a_y = '%f', a_z = '%f' WHERE id = '%d'", fX, fY, fZ, aInfo[id][a_id]);
    mysql_function_query(dbhandle, query, false, "", "");
    }



    if(response == EDIT_RESPONSE_CANCEL)
    {
    // Spieler hat abgebrochen
    if(!playerobject) // Objekt ist kein Player-Objekt
    {
    SetObjectPos(objectid, oldX, oldY, oldZ);
    SetObjectRot(objectid, oldRotX, oldRotY, oldRotZ);
    }
    else
    {
    SetPlayerObjectPos(playerid, objectid, oldX, oldY, oldZ);
    SetPlayerObjectRot(playerid, objectid, oldRotX, oldRotY, oldRotZ);
    }
    }
    }//WARNING 629

    C:\Users\**\Desktop\SELFMADE\gamemodes\selfmade.pwn(605) : error 029: invalid expression, assumed zero
    C:\Users\**\Desktop\SELFMADE\gamemodes\selfmade.pwn(605) : warning 213: tag mismatch
    C:\Users\**\Desktop\SELFMADE\gamemodes\selfmade.pwn(605) : error 001: expected token: "]", but found "break"
    C:\Users\**\Desktop\SELFMADE\gamemodes\selfmade.pwn(607) : error 078: function uses both "return" and "return <value>"

    public OnPlayerEditObject(playerid, playerobject, objectid, response, Float:fX, Float:fY, Float:fZ, Float:fRotX, Float:fRotY, Float:fRotZ)
    {
    new Float:oldX, Float:oldY, Float:oldZ,
    Float:oldRotX, Float:oldRotY, Float:oldRotZ;
    GetObjectPos(objectid, oldX, oldY, oldZ);
    GetObjectRot(objectid, oldRotX, oldRotY, oldRotZ);
    if(!playerobject) // If this is a global object, move it for other players
    {
    if(!IsValidObject(objectid)) return;
    MoveObject(objectid, fX, fY, fZ, 10.0, fRotX, fRotY, fRotZ);
    }



    if(response == EDIT_RESPONSE_FINAL)
    {
    new id = -1;
    for(new i = 0; i < sizeof(aInfo); i++)
    {
    if(aInfo[id][a_objectID?] == objectid) break;//ERROR 605 ZEILE
    }
    if(id == -1) return 1;//ERROR 607 ZEILE
    updateAtm(id);
    //In Datenbank abspeichern
    new query[256];
    format(query, sizeof(query), "UPDATE atm SET a_x = '%f', a_y = '%f', a_z = '%f' WHERE id = '%d'", fX, fY, fZ, aInfo[id][a_id]);
    mysql_function_query(dbhandle, query, false, "", "");
    }



    if(response == EDIT_RESPONSE_CANCEL)
    {
    // Spieler hat abgebrochen
    if(!playerobject) // Objekt ist kein Player-Objekt
    {
    SetObjectPos(objectid, oldX, oldY, oldZ);
    SetObjectRot(objectid, oldRotX, oldRotY, oldRotZ);
    }
    else
    {
    SetPlayerObjectPos(playerid, objectid, oldX, oldY, oldZ);
    SetPlayerObjectRot(playerid, objectid, oldRotX, oldRotY, oldRotZ);
    }
    }
    }



    @Jeffry

    Hallo zusammen ich habe ein Dynamisches ATM System geschrieben nun hab ich aber das Problem..
    der ATM wird ja dort erstellt wo ich stehe ..
    Wie kann ich das mit diesem SAMP Editor machen es gibt ja sowas wo man InGame bewegen kann und dann
    wenn man speichert die Position gespeichert wird allerdings habe ich mich noch nie mit der Funktion auseinandergesetzt
    weil ich davon keine Ahnung habe würde mich sehr freuen wenn mir jemand dabei helfen könnte so sieht man sys bis jetzt aus:
    Und das Label ..:: Bank Automat ::.. wird nicht angezeigt ATM wird aber erstellt und Speichert / Lädt auch will halt nur das wenn man
    den Atm erstellt ihn noch z.B. mit /editatm an dem man ganz nah dran ist bearbeiten kann. und halt das das Label angezeigt wird.
    Sowas meine ich:

    ocmd:createatm(playerid, params[])
    {
    if(!isAdmin(playerid, 3))return
    SendClientMessage(playerid, 0xC30000FF, "Dein Adminrang ist zu niedrig.");
    new Float:xc, Float:yc, Float:zc;
    GetPlayerPos(playerid, xc, yc, zc);



    new id=getFreeAtmID();
    aInfo[id][a_x]=xc;
    aInfo[id][a_y]=yc;
    aInfo[id][a_z]=zc;
    updateAtm(id);
    //In Datenbank abspeichern
    new query[256];
    format(query, sizeof(query),
    "INSERT INTO atm (a_x, a_y, a_z, atmObjekt) VALUES ('%f', '%f', '%f', 2942)",
    xc, yc, zc);
    mysql_function_query(dbhandle, query, true, "OnATMCreated", "i", id);
    return 1;
    }



    //ATM SYS:
    enum atmEnum{
    Float:a_x,
    Float:a_y,
    Float:a_z,
    a_id,
    Text3D:a_text,
    atmObjekt
    }
    new aInfo[100][atmEnum];



    public OnAtmsLoad()
    {
    new num_fields,num_rows;
    cache_get_data(num_rows,num_fields,dbhandle);
    if(!num_rows)return 1;
    for(new i=0; i<num_rows; i++)
    {
    new id=getFreeAtmID();
    aInfo[id][a_x]=cache_get_field_content_float(i, "a_x", dbhandle);
    aInfo[id][a_y]=cache_get_field_content_float(i, "a_y", dbhandle);
    aInfo[id][a_z]=cache_get_field_content_float(i, "a_z", dbhandle);
    aInfo[id][a_id]=cache_get_field_content_int(i, "id", dbhandle);
    updateAtm(id);
    }
    return 1;
    }



    updateAtm(id)
    {
    new string[128];
    if(aInfo[id][a_text])
    {
    Delete3DTextLabel(aInfo[id][a_text]);
    }
    if(!strlen(aInfo[id][a_id]))
    {
    format(string,sizeof(string), "..:: Bank Automat ::..");
    CreateObject(2942, aInfo[id][a_x], aInfo[id][a_y], aInfo[id][a_z], 0.0, 0.0, 96.0);
    aInfo[id][a_text]=Create3DTextLabel(string, 0xFFA000FF, aInfo[id][a_x], aInfo[id][a_y], aInfo[id][a_z], 10, 0, 1);
    }
    else
    {
    format(string,sizeof(string), "..:: Bank Automat ::..");
    CreateObject(2942, aInfo[id][a_x], aInfo[id][a_y], aInfo[id][a_z], 0.0, 0.0, 96.0);
    aInfo[id][a_text]=Create3DTextLabel(string, 0xFFA000FF, aInfo[id][a_x], aInfo[id][a_y], aInfo[id][a_z], 10, 0, 1);
    }
    return 1;
    }



    public OnATMCreated(id)
    {
    aInfo[id][a_id]=cache_insert_id();
    }
    getFreeAtmID()
    {
    for(new i=0; i<sizeof(aInfo); i++)
    {
    if(aInfo[i][a_id]==0)return i;
    }
    return 0;
    }


    //ATMS laden:
    new query2[128];
    format(query2, sizeof(query2), "SELECT * FROM atm");
    mysql_function_query(dbhandle, query2, true, "OnAtmsLoad", "");



    So sieht der Code zurzeit aus