Der Teil in dem irgendwas mit
"UPDATE autos SET ..."
steht.
gibt es nicht nur /parken woanders im script steht nichts mehr mit UPDATE autos SET
Der Teil in dem irgendwas mit
"UPDATE autos SET ..."
steht.
gibt es nicht nur /parken woanders im script steht nichts mehr mit UPDATE autos SET
welche Zeile ? bzw stock/public fehlt dir jetze noch ?
OnPlayerCarsLoad
fail
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;
}
Alles anzeigenocmd:parken(playerid)
{
for(new i=0; i<sizeof(cInfo); i++)
{
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(cInfo[i][id_x]));
SendClientMessage(playerid,BLAU, string);
}
return 1;
}
Vielen danke Funktioniert genau wie ich das will
Mit Freundlichen Grüßen
Snake
Danke hat funktioniert
jetze hab ich noch eine Kleine Frage wie speichere/lade ich das carlock sprich ich will speichern/laden ob das Car offen oder zu ist
Alles anzeigenfor(new i=0; i<sizeof(cInfo); i++)
{
if(cInfo[i][id_x]==0)continue;
if(cInfo[i][besitzer]!=sInfo[playerid][db_id])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,"","");
DestroyVehicle(cInfo[i][id_x]);
cInfo[i][id_x]=0;
}
zu
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;
}
Beim /parken Befehl:
for(new i=0; i<sizeof(cInfo); i++)
{
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,"","");
}
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;
}
Alles anzeigenHi!
Ich habe ein "kleines" Problem. Mein GameTextForPlayer funktioniert irgendwie nicht
GameTextForPlayer(playerid, "{ffffff}Motor {CD0000}ausgeschaltet", 1000, 4);
Alles anzeigen
In GaneTexten gibt es nur:
CodeAlles anzeigen~r~ Rot ~g~ Grün ~b~ Blau ~w~ Weiß ~y~ Gelb ~p~ Lila ~l~ Schwarz ~h~ Macht die zuvor gewählte Farbe heller (wenn es zu oft verwendet wird, resultiert es in Weiß, funktioniert nicht bei Schwarz) ~n~ Neue Zeile ~u~ Pfeil nach oben (Grau) ~d~ Pfeil nach unten (Grau) ~<~ Pfeil nach links (Grau) ~>~ Pfeil nach rechts (Grau) ] Zeigt (in GameText Styles 3, 4 und 5) einen Stern an ~k~ Tastaturen-Mapping (z.b. ~k~~VEHICLE_TURRETLEFT~ znd ~k~~PED_FIREWEAPON~). Sieh dir diese Seite für eine Liste der Tasten an.
Objekte werden in allen Interiors und allen Virtuellen Welten erstellt (außer du stellst die Parameter für Streamer ein oder schreibst ein anderes System).
mfg.
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
if(isPlayerInFrakt(playerid, 5))
zu
if(!isPlayerInFrakt(playerid, 5))
Danke schön
Mit Freundlichen Grüßen
Snake
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);
}
Alles anzeigenHey,
versuche es mal so:
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],gunname[32];
GetWeaponName(weapon,gunname,sizeof(gunname)); //Waffenname auslesen
format(string, sizeof(string),"Du hast %s eine %s gegeben mit %i Muni",getPlayerName(pID), gunname, ammunation);
SendClientMessage(playerid, ROT, string);
format(string, sizeof(string),"Du hast von %s eine %s bekommen mit %i Muni",getPlayerName(playerid), gunname, ammunation);
return SendClientMessage(pID, ROT, string);
Du hast einen Integer als String ausgegeben.. -> Deswegen stand dort nichts.
Außerdem musst du den Waffennamen auslesen!
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;
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;
}