Autohaus, Auto spawnt beim ausloggen beim Autohaus

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
  • Hey,



    Ich sitze derzeit an einem Selfmade und bin mit meinem Autohaus fertig geworden.


    Wenn ich mir ein Auto kaufe,
    spawnt es am Ausgabepunkt und hat ein Nummernschild mit meinem Name.


    Wenn ich mit dem Auto nun los fahre und nach einer Zeit vom Server gehe und wieder joine, sollte das Auto eigentlich an der Position an der ich ausgestiegen bin stehen,
    da ich die x,y,z,r Coordinaten in der Datenbank speichere.
    Bei /veh funktioniert es.
    Alle Autos die ich mit /veh spawne, und off gehe, stehen da wo ich raus bin.


    Könnt ihr mir helfen? Solltet ihr Abschnitte benötigen, schreibt einfach welche.



    createPlayerCar:


  • C
    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][p_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;
    }

    Ist aber eigentlich auch richtig, weil wie gesagt /veh funktioniert. Also bei /veh wird es gespeichert

  • @Jeffry
    ocmd:veh(playerid,params[]){ if(!isAdmin(playerid,1))return SendClientMessage(playerid, FARBE_ROT,"Du hast keine Rechte."); new mID,pID; if(sscanf(params,"ui",pID,mID))return SendClientMessage(playerid, FARBE_ROT,"Info: /createcar [playerid] [ID]"); if(mID<400||mID>611)return SendClientMessage(playerid, FARBE_ROT,"Ungültige Fahrzeug ID."); new Float:xc,Float:yc,Float:zc,Float:rc; GetPlayerPos(pID,xc,yc,zc); GetPlayerFacingAngle(pID,rc); createPlayerCar(pID,mID,xc,yc,zc,rc); PutPlayerInVehicle(playerid, mID, 0); return 1;}


    Es wird bei /veh durch die Funktion createPlayerCar gespeichert, in createPlayerCar befindet sich saveCarToDB(playerid,i);


    und createPlayerCar wird auch beim Autohaus genutzt, also sollte er es speichern.


    createPlayerCar(playerid,ahCars[id][model],ahInfo[ahCars[id][ah_id]][s_x],ahInfo[ahCars[id][ah_id]][s_y],ahInfo[ahCars[id][ah_id]][s_z],ahInfo[ahCars[id][ah_id]][s_r]);

    Einmal editiert, zuletzt von Eptix. ()

  • Wenn du nur INSERT als Anweisung hast, dann kann das nicht funktionieren, sondern dir werden lauter Errors im MySQL Log ausgegeben, bzw. das Fahrzeug X-Mal erstellt, je nach Datenbank Aufbau.


    Was aber für mich nicht schlüssig ist, ist, dass du ja den gleichen Code aufrufst, daher sollte das dann auch gleich funktionieren, insofern es dann tut.


    Poste bitte mal alles was mit dem Speichern der Fahrzeuge zu tun hat.

  • @Jeffry

    Einmal editiert, zuletzt von Eptix. ()

  • Füge folgende Stocks ins Script ein, und ersetze (unter OnPlayerDisconnect)



    zu


    C
    DestroyPlayerVehicles(playerid);


    [spoiler='stocks']



    Mit freundlichen Grüßen
    German_ScripterHD

  • C:\Users\EptixYT\Desktop\Infinity Reallife\gamemodes\iRoleplay.pwn(943) : error 017: undefined symbol "i"
    C:\Users\EptixYT\Desktop\Infinity Reallife\gamemodes\iRoleplay.pwn(944) : error 017: undefined symbol "i"
    C:\Users\EptixYT\Desktop\Infinity Reallife\gamemodes\iRoleplay.pwn(945) : error 017: undefined symbol "i"
    C:\Users\EptixYT\Desktop\Infinity Reallife\gamemodes\iRoleplay.pwn(940) : warning 203: symbol is never used: "carid"
    C:\Users\EptixYT\Desktop\Infinity Reallife\gamemodes\iRoleplay.pwn(963) : warning 213: tag mismatch
    C:\Users\EptixYT\Desktop\Infinity Reallife\gamemodes\iRoleplay.pwn(963) : error 032: array index out of bounds (variable "sInfo")

  • So sollte es klappen:


    C
    stock SavePlayerVehicles(carid)
    {
    	new query[400];
    	GetVehiclePos(cInfo[carid][id_x],cInfo[carid][c_x],cInfo[carid][c_y],cInfo[carid][c_z]);
     	GetVehicleZAngle(cInfo[carid][id_x],cInfo[carid][c_r]);
        format(query,sizeof(query),"UPDATE autos SET x='%f',y='%f',z='%f',r='%f' WHERE id='%i'",cInfo[carid][c_x],cInfo[carid][c_y],cInfo[carid][c_z],cInfo[carid][c_r],cInfo[carid][db_id]);
        mysql_function_query(dbhandle,query,false,"","");
        return 1;
    }


    Mit freundlichen Grüßen
    German_ScripterHD

  • C:\Users\EptixYT\Desktop\Infinity Reallife\gamemodes\iRoleplay.pwn(943) : error 017: undefined symbol "i"
    C:\Users\EptixYT\Desktop\Infinity Reallife\gamemodes\iRoleplay.pwn(944) : error 017: undefined symbol "carid"
    C:\Users\EptixYT\Desktop\Infinity Reallife\gamemodes\iRoleplay.pwn(945) : error 017: undefined symbol "carid"
    C:\Users\EptixYT\Desktop\Infinity Reallife\gamemodes\iRoleplay.pwn(940) : warning 203: symbol is never used: "vehicleid"
    C:\Users\EptixYT\Desktop\Infinity Reallife\gamemodes\iRoleplay.pwn(963) : warning 213: tag mismatch

  • C:\Users\EptixYT\Desktop\Infinity Reallife\gamemodes\iRoleplay.pwn(943) : error 017: undefined symbol "i"
    C:\Users\EptixYT\Desktop\Infinity Reallife\gamemodes\iRoleplay.pwn(944) : error 017: undefined symbol "carid"
    C:\Users\EptixYT\Desktop\Infinity Reallife\gamemodes\iRoleplay.pwn(945) : error 017: undefined symbol "carid"
    C:\Users\EptixYT\Desktop\Infinity Reallife\gamemodes\iRoleplay.pwn(940) : warning 203: symbol is never used: "vehicleid"
    C:\Users\EptixYT\Desktop\Infinity Reallife\gamemodes\iRoleplay.pwn(963) : warning 213: tag mismatch

    Mit den Fehlercodes kann ich wenig anfangen.. schick mal bitten zu den Fehlern den passenden Code.


    //e:
    Rechtschreibfehler behoben.
    Klappt es jetzt? oder brauchst du immer noch hilfe?


    Mit freundlichen Grüßen
    German_ScripterHD

    Einmal editiert, zuletzt von German_ScripterHD ()