Guten Tag
Ich versuche grade Schaden,Kennzeichen und den Tank für die Fahrzeuge in die Datenbank zu setzen und zu laden.
Leider habe ich noch nicht mit dem Tank/Schaden/Kennzeichen System angefangen da ich erst mal versuche die Fehler die jetzt grade da sind zu beheben.
wie ich den Schaden/Tank/Kennzeichen in die DB bekomme weiß ich nicht da ich nicht weiß wie ich das Tank/Schaden/Kennzeichensystem schreiben soll.
Bei dem Befehl wo ich die Fahrzeuge erstelle kommt deswegen ein fehler.
Datenbank sieht so aus:
http://imgur.com/a/7Z8lH
So bin ich vorgegangen:
Fahrzeugenum:
public so wie eigene Funktion:
Code
public spielerfahrzeug(carid)
{
cInfo[carid][faid]=cache_insert_id();
return 1;
}
carinDB(playerid,carid)
{
new query[128];
format(query,sizeof(query),"INSERT INTO spielerfahrzeuge(besitzer,model,x,y,z,r,Schaden,kennzeichen,tank) VALUES('%i','%i','%f','%f','%f','%f','%i' ,'%i' ,'%i')",PlayerInfo[playerid][p_id],cInfo[carid][model],cInfo[carid][c_x],cInfo[carid][c_y],cInfo[carid][c_z],cInfo[carid][c_r],cInfo[carid][Schaden],cInfo[carid][kennzeichen],cInfo[carid][tank]);
mysql_pquery(handle,query, "spielerfahrzeug", "d", carid);
return 1;
}
Alles anzeigen
PlayerCar:
Code
PlayerCar(playerid,modelid,Float:x,Float:y,Float:z,Float:r,vschaden,vkenn,vtank)
{
for(new i=0; i<sizeof(cInfo); i++)
{
if(cInfo[i][faid]!=0)continue;
GetPlayerName(playerid,cInfo[i][besitzer],MAX_PLAYER_NAME);
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][faid] = CreateVehicle(modelid,x,y,z,r,-1,-1,-1);
cInfo[i][Schaden] = vschaden;
cInfo[i][kennzeichen] =vkenn;
cInfo[i][tank] =vtank;
new string[128];
format(string,sizeof(string),"Das Fahrzeug cInfo[%i] wurde erstellt",i);
SendClientMessageToAll(rot,string);
carinDB(playerid,i);
return 1;
}
return 1;
}
Alles anzeigen
Zeile: 2395 bezieht sich auf:
Code
ocmd:createcar(playerid,params[])
{
if(!isAdmin(playerid,6))return SendClientMessage(playerid,rot,"Dein Admingrang ist zu niedrig.");
new mID,pID;
printf("Hallo");
if(sscanf(params,"ui",pID,mID))return SendClientMessage(playerid,rot,"INFO: /createcar[playerid][model]");
printf("börger");
if(mID<400||mID>611)return SendClientMessage(playerid,rot,"Ungültiges Model");
printf("teleropa");
new Float:xc,Float:yc,Float:zc,Float:rc;
GetPlayerPos(pID,xc,yc,zc);
GetPlayerFacingAngle(pID,rc);
PlayerCar(pID,mID,xc,yc,zc,rc,);
return 1;
}
Alles anzeigen
Autohaus:
Code
new ahCars[][autohauscarEnum] ={
{411,2516.8420,1698.8502,10.7281,89.2039,60000000,0},
{560,2516.0205,1694.6085,10.7244,89.9459,50000000,0},
{470,2516.0212,1687.2047,10.7218,90.9615,999999999,0},
{415,2507.2310,1688.0667,10.7222,358.2454,60000,0},
{429,2492.5933,1688.0917,10.7217,359.9845,50000,0},
{451,2485.9338,1679.5812,10.7278,0.4211,30000,0}
};
new ahInfo[][autohausEnum]={
{2481.2991,1671.2750,16.3001,95.0682}
};
Alles anzeigen
OnGamemodeInit:
OnPlayerStateChange:
Code
public OnPlayerStateChange(playerid, newstate, oldstate)
{
if(newstate==PLAYER_STATE_DRIVER)
{
new vID=GetPlayerVehicleID(playerid);
new vModel=GetVehicleModel(vID);
for(new i=0; i<sizeof(autosOhneMotor); i++)
{
if(autosOhneMotor[i]!=vModel)continue;
new motor,
licht,
alarm,
tueren,
bonnet,
boot,
objective;
//Motor an/ausschalten:
GetVehicleParamsEx(vID,motor,licht,alarm,tueren,bonnet,boot,objective);
SetVehicleParamsEx(vID,1,licht,alarm,tueren,bonnet,boot,objective);
}
for(new i=0; i<sizeof(ahCars); i++)
{
if(ahCars[i][id_x] !=vID)continue;
//Verkaufsprozess:
SetPVarInt(playerid,"buyCarID",i);
new string[500];
format(string,sizeof(string),"Möchten sie das Fahrzeug für %i$ kaufen?",ahCars[i][c_preis]);
ShowPlayerDialog(playerid,DIALOG_AUTOHAUS,DIALOG_STYLE_MSGBOX,"Autoverkauf",string,"Kaufen","Nicht kaufen");
break;
}
return 1;
}
return 1;
}
Alles anzeigen
Zeile 2562: hat mit dem Autohaus zu tun:
Code
if(dialogid==DIALOG_AUTOHAUS)
{
if(response)
{
new id=GetPVarInt(playerid,"buyCarID");
if(GetPlayerMoney(playerid)<ahCars[id][c_preis])
{
SendClientMessage(playerid,orange,"Du besitzt nicht das benötige Geld für das Fahrzeug!");
RemovePlayerFromVehicle(playerid);
}
GivePlayerMoney(playerid,-ahCars[id][c_preis]);
PlayerCar(playerid,ahCars[id][model],ahInfo[ahCars[id][ah_id]][v_x],ahInfo[ahCars[id][ah_id]][v_y],ahInfo[ahCars[id][ah_id]][v_z],ahInfo[ahCars[id][ah_id]][v_r]);
SendClientMessage(playerid,türkis,"Sie haben sich ein Autogekauft");
RemovePlayerFromVehicle(playerid);
}
else
{
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid,türkis,"Du hast den Kaufvorgang abgebrochen!");
}
}
Alles anzeigen