Beiträge von xSnake

    OnPlayerCarsLoad


    fail :D


    public OnPlayerCarsLoad(playerid)
    {
    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=getFreeCarID();
    cInfo[id][model]=cache_get_field_content_int(i,"model",dbhandle);
    cInfo[id][besitzer]=cache_get_field_content_int(i,"besitzer",dbhandle);
    cInfo[id][c_x]=cache_get_field_content_float(i,"x",dbhandle);
    cInfo[id][c_y]=cache_get_field_content_float(i,"y",dbhandle);
    cInfo[id][c_z]=cache_get_field_content_float(i,"z",dbhandle);
    cInfo[id][c_r]=cache_get_field_content_float(i,"r",dbhandle);
    cInfo[id][db_id]=cache_get_field_content_int(i,"id",dbhandle);
    cInfo[id][id_x]=CreateVehicle(cInfo[id][model],cInfo[id][c_x],cInfo[id][c_y],cInfo[id][c_z],cInfo[id][c_r],-1,-1,-1);
    }
    return 1;
    }


    loadPlayerCars(playerid)
    {
    new query[128];
    format(query,sizeof(query),"SELECT * FROM autos WHERE besitzer='%i'",sInfo[playerid][db_id]);
    mysql_function_query(dbhandle,query,true,"OnPlayerCarsLoad","i",playerid);
    return 1;
    }

    Hallo ich habe eine kleine frage wenn ich ein Car kaufe wird ein Checkpoint erstellt da wo das Car ist aber wenn ich in dem Checkpoint bin wird er nicht gelöscht aber ich will wenn er den checkpoint betritt das er gelöscht wird ich weiß das es mit DisablePlayerCheckpoint(playerid); macht
    if(dialogid==DIALOG_AUTOHAUS)
    {
    if(response)
    {
    new id=GetPVarInt(playerid,"buyCarID");
    if(GetPlayerMoney(playerid)<ahCars[id][c_preis])
    {
    SendClientMessage(playerid,ROT,"Du hast nicht genügend Geld");
    RemovePlayerFromVehicle(playerid);
    return 1;
    }
    new rand = random(sizeof(RandomSpawn));
    GivePlayerMoney(playerid,-ahCars[id][c_preis]);
    createPlayerCar(playerid,ahCars[id][model],RandomSpawn[rand][0],RandomSpawn[rand][1],RandomSpawn[rand][2],RandomSpawn[rand][3]);
    SetPlayerCheckpoint(playerid, RandomSpawn[rand][0],RandomSpawn[rand][1],RandomSpawn[rand][2], 3.0);
    SendClientMessage(playerid,LEUCHTENDBLAU,"Herzlichen Glückwunsch zu ihren Kauf");
    SendClientMessage(playerid,LEUCHTENDBLAU,"Es wurde dir ein Marker auf der Map gesetzt");
    SendClientMessage(playerid,LEUCHTENDBLAU,"Du kannst nun dein Fahrzeug hinter der Truckerbase in Ls abholen");
    printf("rand = %d (aus: %d)", rand, sizeof(RandomSpawn));
    RemovePlayerFromVehicle(playerid);
    }
    else
    {
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid,ROT,"Dann eben nicht ...");
    }
    return 1;
    }

    Poste den Code mit dem du deine Autos speicherst und mit dem du sie lädst.


    public OnPlayerDisconnect(playerid, reason)
    {
    for(new i=0; i<sizeof(cInfo); i++)
    {
    if(cInfo[i][id_x]==0)continue;
    if(cInfo[i][besitzer]!=sInfo[playerid][db_id])continue;
    DestroyVehicle(cInfo[i][id_x]);
    cInfo[i][id_x]=0;
    }
    savePlayer(playerid);
    resetPlayer(playerid);
    if(newbie[playerid]) DestroyVehicle(newbie[playerid]),newbie[playerid]=0;
    return 1;
    }


    loadPlayerCars(playerid)
    {
    new query[128];
    format(query,sizeof(query),"SELECT * FROM autos WHERE besitzer='%i'",sInfo[playerid][db_id]);
    mysql_function_query(dbhandle,query,true,"OnPlayerCarsLoad","i",playerid);
    return 1;
    }


    public carSavedToDB(carid)
    {
    cInfo[carid][db_id]=cache_insert_id(dbhandle);
    return 1;
    }


    saveCarToDB(playerid,carid)
    {
    new query[128];
    format(query,sizeof(query),"INSERT INTO autos (besitzer,model,x,y,z,r) VALUES ('%i','%i','%f','%f','%f','%f')",sInfo[playerid][db_id],cInfo[carid][model],cInfo[carid][c_x],cInfo[carid][c_y],cInfo[carid][c_z],cInfo[carid][c_r]);
    mysql_function_query(dbhandle,query,true,"carSavedToDB","i",carid);
    return 1;
    }


    Vielen danke Funktioniert genau wie ich das will


    Mit Freundlichen Grüßen
    Snake


    Danke hat Funktioniert
    aber wenn ich jetze eine SendClientMessage aussenden will gehts nichtmehr
    ocmd:parken(playerid)
    {
    for(new i=0; i<sizeof(cInfo); i++)
    {
    new vID;
    if(cInfo[i][id_x]==0)continue;
    if(cInfo[i][besitzer]!=sInfo[playerid][db_id])continue;
    if(cInfo[i][id_x] != GetPlayerVehicleID(playerid)) continue;
    GetVehiclePos(cInfo[i][id_x],cInfo[i][c_x],cInfo[i][c_y],cInfo[i][c_z]);
    GetVehicleZAngle(cInfo[i][id_x],cInfo[i][c_r]);
    new query[256];
    format(query,sizeof(query),"UPDATE autos SET x='%f',y='%f',z='%f',r='%f' WHERE id='%i'",cInfo[i][c_x],cInfo[i][c_y],cInfo[i][c_z],cInfo[i][c_r],cInfo[i][db_id]);
    mysql_function_query(dbhandle,query,false,"","");
    new string[144];
    format(string, sizeof(string), "Du hast soeben dein Fahrzeug (%s) geparkt!", GetVehicleFriendlyName(vID));
    SendClientMessage(playerid,BLAU, string);
    }
    return 1;
    }



    Ne habe das in einem Filterscript und dann über streamer
    CreateDynamicObject(1569, 368.47, 161.53, 1024.78, 0.00, 0.00, 89.70,5,3,-1,400.0,400.0);
    CreateDynamicObject(19387, 368.51, 162.26, 1026.20, 0.00, 0.00, 0.00,5,3,-1,400.0,400.0);
    die will ich jetze auch in interrior 11 spawnen

    Hallo ich habe eine Kleine frage wenn ich in einem interior die Frak Oamt und News haben will und da z.b eine tür gemappt habe muss ich das object 2 mal spawnen ? oder geht das auch i-wie anders sprich das die tür in beiden spawnt weil ich die ja in 2 unterschiedlichen Virtuelen welten spawne

    Hallo ich wollte das gerade so machen das z.b spieler yyy in das Pickup der Yakuza geht und kommt nicht rein und dann soll da stehen Du bist kein Mitglied der Yakuza
    also das man nur reinkommt wenn man in der Yakuza ist aber wenn ich das so machen geht das nicht dann passiert nichts wenn ich durchlaufe auch wenn ich in der Yakuza bin
    if(pickupid == yakuzaenter)
    {
    if(isPlayerInFrakt(playerid, 5))return SendClientMessage(playerid, ROT, "Du bist kein Mitglied der Yakuza.");
    SetPlayerPos(playerid,2807.5840,-1172.6940,1025.5703);
    SetPlayerFacingAngle(playerid,2.3869);
    SetPlayerInterior(playerid,8);
    SetPlayerVirtualWorld(playerid,9);
    SetCameraBehindPlayer(playerid);
    }

    if(pickupid == yakuzaexit)
    {
    if(isPlayerInFrakt(playerid, 5))return SendClientMessage(playerid, ROT, "Du bist kein Mitglied der Yakuza.");
    SetPlayerPos(playerid,1453.4940,750.7717,11.0234);
    SetPlayerFacingAngle(playerid,90.9039);
    SetPlayerInterior(playerid,0);
    SetPlayerVirtualWorld(playerid,0);
    SetCameraBehindPlayer(playerid);
    }


    danke funktioniert

    [13:56:54] Du hast [RGR]Snake eine (hier sollte die waffe stehen gegeben mit 50 Muni
    [13:56:54] Du hast von [RGR]Snake eine (hier sollte die waffe stehen) bekommen mit 50 Muni

    ich habe gerade den Befehl ein bisschen Verbessert jetze kommt das raus
    [13:56:54] Du hast [RGR]Snake eine gegeben mit 50 Muni
    [13:56:54] Du hast von [RGR]Snake eine bekommen mit 50 Muni


    if(!isAdmin(playerid,3)) return SendClientMessage(playerid,ROT,"Info: Du bist dazu nicht befugt!");
    new pID, weapon, ammunation;
    if(sscanf(params,"udd",pID, weapon, ammunation))return SendClientMessage(playerid,ROT,"Benutze /givegun [playerid] [waffen ID] [munition]");
    if(weapon < 0 || weapon > 54)return SendClientMessage(playerid,ROT, "Error: Bitte gib eine gültige Waffen-ID an (0-54)!");
    GivePlayerWeapon(pID, weapon, ammunation);
    new string[128];
    format(string, sizeof(string),"Du hast %s eine %s gegeben mit %i Muni",getPlayerName(pID), weapon, ammunation);
    SendClientMessage(playerid, ROT, string);
    format(string, sizeof(string),"Du hast von %s eine %s bekommen mit %i Muni",getPlayerName(playerid), weapon, ammunation);
    SendClientMessage(pID, ROT, string);
    return 1;

    Hallo ich bin gerade auf mein Windows 8 Laptop und wollte das Script starten zum testen 2er Befehle und dann kam diese Meldung
    Das Programm kann nicht gestartet werden, da MSVCP120.dll auf dem Computer fehlt.Installieren sie das Programm erneut, um das Problem zu behen

    Das muss in die Funktion in der du das Vehicle erstellst unter dem CreateVehicle stehen ;)


    C:\Users\papa\Desktop\Selfmadescript\gamemodes\Reallife-Kopie.pwn(693) : error 017: undefined symbol "engine"
    createPlayerCar(playerid,modelid,Float:x,Float:y,Float:z,Float:r)
    {
    for(new i=0; i<sizeof(cInfo); i++)
    {
    if(cInfo[i][id_x]!=0)continue;
    cInfo[i][besitzer]=sInfo[playerid][db_id];
    cInfo[i][c_x]=x;
    cInfo[i][c_y]=y;
    cInfo[i][c_z]=z;
    cInfo[i][c_r]=r;
    cInfo[i][model]=modelid;
    cInfo[i][id_x] = CreateVehicle(modelid,x,y,z,r,-1,-1,-1);
    SetVehicleParamsEx(cInfo[i][id_x],engine,lights,alarm,1,bonnet,boot,objective);
    saveCarToDB(playerid,i);
    return 1;
    }
    return 1;
    }

    SetVehicleParamsEx(cInfo[i][id_x],engine,lights,alarm,1,bonnet,boot,objective);


    dann bekomme ich diesen Error
    C:\Users\papa\Desktop\Selfmadescript\gamemodes\Reallife-Kopie.pwn(1720) : error 017: undefined symbol "i"
    if(dialogid==DIALOG_AUTOHAUS)
    {
    if(response)
    {
    new id=GetPVarInt(playerid,"buyCarID");
    if(GetPlayerMoney(playerid)<ahCars[id][c_preis])
    {
    SendClientMessage(playerid,ROT,"Du hast nicht genügend Geld");
    RemovePlayerFromVehicle(playerid);
    return 1;
    }
    new rand = random(sizeof(RandomSpawn));
    GivePlayerMoney(playerid,-ahCars[id][c_preis]);
    createPlayerCar(playerid,ahCars[id][model],RandomSpawn[rand][0],RandomSpawn[rand][1],RandomSpawn[rand][2],RandomSpawn[rand][3]);
    SetVehicleParamsEx(cInfo[i][id_x],engine,lights,alarm,1,bonnet,boot,objective);
    SetPlayerCheckpoint(playerid, RandomSpawn[rand][0],RandomSpawn[rand][1],RandomSpawn[rand][2], 3.0);
    SendClientMessage(playerid,LEUCHTENDBLAU,"Herzlichen Glückwunsch zu ihren Kauf");
    SendClientMessage(playerid,LEUCHTENDBLAU,"Es wurde dir ein Marker auf der Map gesetzt");
    SendClientMessage(playerid,LEUCHTENDBLAU,"Du kannst nun dein Fahrzeug hinter der Truckerbase in Ls abholen");
    printf("rand = %d (aus: %d)", rand, sizeof(RandomSpawn));
    RemovePlayerFromVehicle(playerid);
    }
    else
    {
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid,ROT,"Dann eben nicht ...");
    }
    return 1;
    }

    Mit der Funktion GetVehicleParamsExkannst du Türen, auf/zuschließen.


    wenn ich das jetze so einfüge kommt ein Error
    C:\Users\papa\Desktop\Selfmadescript\gamemodes\Reallife-Kopie.pwn(1720) : error 017: undefined symbol "vID"
    if(dialogid==DIALOG_AUTOHAUS)
    {
    if(response)
    {
    new id=GetPVarInt(playerid,"buyCarID");
    if(GetPlayerMoney(playerid)<ahCars[id][c_preis])
    {
    SendClientMessage(playerid,ROT,"Du hast nicht genügend Geld");
    RemovePlayerFromVehicle(playerid);
    return 1;
    }
    new rand = random(sizeof(RandomSpawn));
    GivePlayerMoney(playerid,-ahCars[id][c_preis]);
    createPlayerCar(playerid,ahCars[id][model],RandomSpawn[rand][0],RandomSpawn[rand][1],RandomSpawn[rand][2],RandomSpawn[rand][3]);
    SetVehicleParamsEx(vID,engine,lights,alarm,1,bonnet,boot,objective);
    SetPlayerCheckpoint(playerid, RandomSpawn[rand][0],RandomSpawn[rand][1],RandomSpawn[rand][2], 3.0);
    SendClientMessage(playerid,LEUCHTENDBLAU,"Herzlichen Glückwunsch zu ihren Kauf");
    SendClientMessage(playerid,LEUCHTENDBLAU,"Es wurde dir ein Marker auf der Map gesetzt");
    SendClientMessage(playerid,LEUCHTENDBLAU,"Du kannst nun dein Fahrzeug hinter der Truckerbase in Ls abholen");
    printf("rand = %d (aus: %d)", rand, sizeof(RandomSpawn));
    RemovePlayerFromVehicle(playerid);
    }
    else
    {
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid,ROT,"Dann eben nicht ...");
    }
    return 1;
    }

    lösch das aus der schleife:
    GetVehiclePos(cInfo[i][id_x],cInfo[i][c_x],cInfo[i][c_y],cInfo[i][c_z]);
    GetVehicleZAngle(cInfo[i][id_x],cInfo[i][c_r]);
    new query[256];
    format(query,sizeof(query),"UPDATE autos SET x='%f',y='%f',z='%f',r='%f' WHERE id='%i'",cInfo[i][c_x],cInfo[i][c_y],cInfo[i][c_z],cInfo[i][c_r],cInfo[i][db_id]);
    mysql_function_query(dbhandle,query,false,"","");


    Oke und dann einfach das so machen? Oder wie

    Ocmd:parken(playerid)
    {
    //Hier das dann einfügen
    Return 1;
    }