Mr.Hot4Ever wenn man es löst dann hier im Beitrag damit alle aus mein Fehler lernen können und nicht per pn
Beiträge von Blackshadowscript
-
-
Dein Vorschlag hat mir nur mehr ärger eingebracht als vorher
-
Guten Abend.
Wenn ich auf mein Busfahrer Dialog ingame zugreife sagt er mir immer ich hätte keine route ausgewählt obwohl ich es nicht drin stehen habe.
if(dialogid==DIALOG_Buslinien)
{
if(response)
{
if(listitem== 0)
{
if(!IsPlayerInRangeOfPoint(playerid,5,bust1cps[0][g_x],bust1cps[0][g_y],bust1cps[0][g_z]))return
SendClientMessage(playerid,helblau,"Du bist nicht beim Busfahrerpunkt.");
}
if(listitem== 1)
{
//Busliniet2
if(!IsPlayerInRangeOfPoint(playerid,5,bust1cps[0][g_x],bust1cps[0][g_y],bust1cps[0][g_z]))return
SendClientMessage(playerid,helblau,"Du bist nicht beim Busfahrerpunkt.");
}
if(listitem== 2)
{
//Buslinie3
if(!IsPlayerInRangeOfPoint(playerid,5,bust1cps[0][g_x],bust1cps[0][g_y],bust1cps[0][g_z]))return
SendClientMessage(playerid,helblau,"Du bist nicht beim Busfahrerpunkt.");
}
if(listitem== 3)
{
////Buslinie 4
if(!IsPlayerInRangeOfPoint(playerid,5,bust1cps[0][g_x],bust1cps[0][g_y],bust1cps[0][g_z]))return
SendClientMessage(playerid,helblau,"Du bist nicht beim Busfahrerpunkt.");
}
}
}wie kann ich es nun machen wenn es nicht der Fall ist
else
{
SendClientMessage(playerid,grün,"Du hast keine Buslinie ausgewählt.");
RemoFromPlayeVehicle(playerid);
Destroyvehcle(431);
return 1;
}
würde es funktionieren aber wie schreibe ich es in den Befehl rein? -
Wenn ich doch response 0 bearbeitet für die erste stelle im Dialog kann ich doch nicht direkt auf response 1 gehen
-
Verstehe ich jetzt nicht ganz
-
Guten Morgen Breadfish.
Ich habe ein problem bei mein Busjob+Dialog für die linien.
Dialog#define:
#define DIALOG_Buslinien 5Enum:
enum bus1Enum{
Float:g_x,
Float:g_y,
Float:g_z
}new bust1cps[][bus1Enum]={
{1284.9320,-1383.4061,13.5436}, // busstarten
{1722.2972,-1599.5205,13.5478},//buscp 1
{1526.4220,-1660.5486,13.4871}, //buscp1
{1467.7390,-1728.8627,13.4710}, //buscp1
{1361.6545,-1285.1267,13.5398}, //buscp1
{1446.1191,-1029.5895,23.8441},//buscp 1
{1275.4427,-1380.3951,13.3839} //buscp1 letzte
};ocmd Befehl:
ocmd:buslinie(playerid,params[])
{
if(!IsPlayerInRangeOfPoint(playerid,5,1284.9320,-1383.4061,13.5436))return
SendClientMessage(playerid,helblau,"Du kannst den Job hier nicht starten");
new Float:ox,Float:oy,Float:oz,Float:or;
GetPlayerPos(playerid,ox,oy,oz);
GetPlayerFacingAngle(playerid,or);
new vID = CreateVehicle(431,ox,oy,oz,or,-1,-1,-1);
SetPVarInt(playerid,"bus_car",vID);
SendClientMessage(playerid,rot,"Du hast dein Routenplaner geöffnent.");
PutPlayerInVehicle(playerid,vID,0);
SetPlayerCheckpoint(playerid,bust1cps[0][g_x],bust1cps[0][g_y],bust1cps[0][g_z],5);
SetPVarInt(playerid,"bus_cp",0);
SetPVarInt(playerid,"bus_job",1);
SendClientMessage(playerid,rot,"Du hast dein Routenplaner geöffnent.");
ShowPlayerDialog(playerid,DIALOG_Buslinien,DIALOG_STYLE_LIST,"Busstrecke.","Buslinie1\nBuslinie2\nBuslinie3\nBuslinie4","Annehmen","Abbrechen");
return 1;
}checkpoints:
if(GetPVarInt(playerid,"bus_job"))
{
//wenn bus_job ausgeführt wird.
new bID = GetPVarInt(playerid,"bus_cp");
if(IsPlayerInRangeOfPoint(playerid,5,bust1cps[bID][g_x],bust1cps[bID][g_y],bust1cps[bID][g_z]))
{
bID++;
if(bID >= sizeof(bust1cps))
{
GivePlayerMoney(playerid,6000);
SetPVarInt(playerid,"bus_cp",0);
SetPlayerCheckpoint(playerid,bust1cps[bID][g_x],bust1cps[bID][g_y],bust1cps[bID][g_z],5);
SendClientMessage(playerid,rot,"Du hast soeben 6.000$ verdient");
}
else
{
SetPVarInt(playerid,"bus_cp",bID);
SetPlayerCheckpoint(playerid,bust1cps[0][g_x],bust1cps[0][g_y],bust1cps[0][g_z],5);
}
return 1;
}DIALOG:
if(dialogid==DIALOG_Buslinien)
{
if(response)
{
if(listitem== 0)
{
if(!IsPlayerInRangeOfPoint(playerid,5,bust1cps[0][g_x],bust1cps[0][g_y],bust1cps[0][g_z]))return
SendClientMessage(playerid,helblau,"Du bist nicht beim Busfahrerpunkt.");
}
else
{
SendClientMessage(playerid,rot,"Du hast keine Lininie ausgewählt.");
RemovePlayerFromVehicle(playerid);
return 1;
}
if(listitem== 1)
{
//Busliniet2
}
else
{
SendClientMessage(playerid,rot,"Du hast keine Lininie ausgewählt.");
RemovePlayerFromVehicle(playerid);
return 1;
}
if(listitem== 2)
{
//Buslinie3
}
else
{
SendClientMessage(playerid,rot,"Du hast keine Lininie ausgewählt.");
RemovePlayerFromVehicle(playerid);
return 1;
}
if(listitem== 3)
{
////Buslinie 4
}
else
{
SendClientMessage(playerid,rot,"Du hast keine Lininie ausgewählt.");
RemovePlayerFromVehicle(playerid);
return 1;
}
}was habe ich falsch gemacht das immer nur ausgeben wird:
"du hast keine Lininie ausgewählt"
-
also ich habe mir schon mal folgendes gemacht:
#define DIALOG_TRUCKER 5
enum transportEnum{
Float:g_x,
Float:g_y,
Float:g_Z
}
if(dialogid==DIALOG_TRUCKER)
{
if(response)
{
if(listitem= 0)
{
}
if(listitem=1)
{
}
if(listitem= 2)
{
}
}
}für enum transportEnum{
Float:g_x,
Float:g_y,
Float:g_Z
}
new trcps[][transportEnum]{
Koordinaten
} so und dann muss ich im Befehl doch nur noch dann ShowPlayerDialog machen oder? -
Vielen Dank Jeffry.
Also hat es nur an savePlayer(playerid); gelegen?
-
wenn ich /autoparken drücke kommt zwar die nachricht ich habe das auto geparkt aber wenn ich dann serververlasse und neu drauf verbinde steht mein auto immer noch an der Selben stelle bevor ich /autoparken gemacht habe
-
Guten Morgen.
so sieht mein erster Job ausenum:
enum trashEnum{
Float:t_x,
Float:t_y,
Float:t_z
}new tCPs[][trashEnum] ={
{1866.4852,1375.1176,17.4560},
{2152.5894,1701.5405,11.2893}, // checkpoint 1
{2502.8469,1657.3530,17.1232}, // checkpoint 2
{2496.6907,1529.8173,11.2110}, // checkpoint 3
{2176.5652,1127.8326,13.1679}, // checkpoint 4
{1716.6417,1439.4584,11.2332}// checkpoint endedertour
};Befehl:
ocmd:Muelltransport(playerid,params[])
{
if(!IsPlayerInRangeOfPoint(playerid,5,1866.4852,1375.1176,17.4560))return
SendClientMessage(playerid,grün,"Du kannst den Job hier nicht Starten.");
new Float:xc,Float:yc,Float:zc,Float:ac;
GetPlayerPos(playerid,xc,yc,zc);
GetPlayerFacingAngle(playerid,ac);
new vID = CreateVehicle(408,xc,yc,zc,ac,1,1,-1);
SetPVarInt(playerid,"trash_car",vID);
PutPlayerInVehicle(playerid,vID,0);
SetPlayerCheckpoint(playerid,tCPs[0][t_x],tCPs[0][t_y],tCPs[0][t_z],5);
SetPVarInt(playerid,"trash_cp",0);
SetPVarInt(playerid,"trash_job",1);
return 1;
}OnPlayerExitVehicle:
public OnPlayerExitVehicle(playerid, vehicleid)
{
if(GetPVarInt(playerid, "trash_job"))
{
SetPVarInt(playerid, "trash_job", 0);
DestroyVehicle(GetPVarInt(playerid, "trash_car"));
DisablePlayerCheckpoint(playerid);
SendClientMessage(playerid,helblau,"Du bist aus dem Müllwagen ausgestiegen. Somit ist dein Job beendet");
}
return 1;
}Checkpoints:
public OnPlayerEnterCheckpoint(playerid)
{
if(GetPVarInt(playerid, "trash_job"))
{
//Wenn trash job ausgeführt wird
new cID = GetPVarInt(playerid, "trash_cp");
if(IsPlayerInRangeOfPoint(playerid, 5, tCPs[cID][t_x], tCPs[cID][t_y], tCPs[cID][t_z]))
{
cID++;
if(cID >= sizeof(tCPs))
{
GivePlayerMoney(playerid, 3000);
SetPVarInt(playerid, "trash_cp", 0);
SetPlayerCheckpoint(playerid, tCPs[0][t_x], tCPs[0][t_y], tCPs[0][t_z], 5);
SendClientMessage(playerid,helblau,"Du hast soeben 300$ verdient");
}
else
{
SetPVarInt(playerid, "trash_cp", cID);
SetPlayerCheckpoint(playerid, tCPs[cID][t_x], tCPs[cID][t_y], tCPs[cID][t_z], 5);
}
return 1;
}
}
DisablePlayerCheckpoint(playerid);
return 1;
}Ich habe mir das wie folgt vorgestellt:
Die Fahrzeuge stehen schon irgendwo ich steige ein und mache dann /Muelltransport.
Dann kommt eine Nachricht: "sie haben den Job gestartet".So wenn ich dann zu ein Haus/Bizz usw. fahre muss ich aussteigen und an die Tonnen gehen und mit /schieben die Tonnen schieben. Die Tonnen sind dann bei mir auf dem Spieler auf beide Hände als Objekt.
Dann wenn ich am Müllauto stehe muss ich /Tonneabstellen machen und /Muellentleren eintrippen. Nach dem ich /Muellentleren getippt habe wird die Tonne hochgehoben und wie beim richtigen Müllwagen bewegt und leer gemacht.2: Frage:
So nun meine andere Frage.
Wie kann ich Jobs machen so das wenn ich /Trucker mache ein Dialog kommt wo drinsteht "Produkteliefern" "Tankliefern" "Waffenliefern". Dann klick ich auf "Tankliefern" und mir werden die Tankliefercheckpoints angezeigt und nicht die vom Produkte und Waffen.
Möchte auch das jede route unterschiedlich verdient da ich nicht möchte das zu viel Geld dadurch bei mein script geht. -
bei Samp4you kannst du automatisch über der ihr Webinterface dein Server Patchen
-
So Fraktion wird nun in die DB reingesetzt so wie der Rang.
Aber das neue Problem ist halt der will den Spawn nicht in die DB schreiben:
-
Guten Morgen aller Seits.
Ich habe bei mein Fraktionssystem ein problem.
Kommen wir nun erst mal zu den Enums:
Frakenum:
enum frakteEnum{
f_name[300],
Float:f_x,
Float:f_y,
Float:f_z,
Float:f_r,
f_inter,
f_world,
f_color
}fInfo:
new fInfo[][frakteEnum] ={
{"zivi",0.0,0.0,0.0,0.0,0,0,weiß}, //zivi
{"LVPD",2286.9927,2431.6108,10.8203,176.4932,0,0,dunkelblau}, //LVPD
{"SWAT",-2719.8411,-318.3455,7.8438,46.7307,0,0,helblau}, //SWAT
{"FBI",-1606.3145,712.2166,13.8672,14.9407,0,0,duneklhelblau}, //FBI
{"ARMY",245.4032,1859.6956,14.0840,86.8001,0,0,hellgrün}, //ARMY
{"Medic/Feuerwehr",-319.8502,1049.1862,20.3403,351.6078,0,0,rot}, //MEDIC/FEUERWEHR
{"FAHRSCHULE",662.8862,1716.9479,7.1875,37.0085,0,0,orange}, //FAHRSCHULE
{"Aztecas",1531.2836,751.6505,11.0234,265.7675,0,0,türkis}, //Aztecas
{"VAGOS",-2280.8035,2288.0842,4.9590,285.9662,0,0,gelb}, //VAGOS
{"BALLAS",1457.6174,2772.6257,10.8203,263.1655,0,0,pink}, //BALLAS
{"YAKUZA",1956.0493,729.8642,10.8203,106.5192,0,0,grau}// YAKUZA
}; mit den positionen der Basen.Spieler abspeichern:
savePlayer(playerid)
{
if(sInfo[playerid][eingeloggt]==0)return 1;
//speichern level,money
new query[256];
format(query,sizeof(query),"UPDATE user SET level='%i', money='%i', alevel='%i', fraktion='%i', rang='%i' , spawnchange='%i' WHERE id='%i'",sInfo[playerid][level],GetPlayerMoney(playerid),sInfo[playerid][alevel],sInfo[playerid][fraktion],sInfo[playerid][rang],sInfo[playerid][spawnchange],sInfo[playerid][db_id]);
mysql_function_query(dbhandle,query,false,"","");
return 1;
}eigene Funktion:
sPlayerInFrakt(playerid,f_id){
if(sInfo[playerid][fraktion]==f_id)return 1;
return 0;
}Spielerspawn:
public OnPlayerSpawn(playerid)
{
if(!isPlayerInFrakt(playerid,0))
{
if(sInfo[playerid][spawnchange]==1)
{
new fID;
fID= sInfo[playerid][fraktion];
SetPlayerPos(playerid,fInfo[fID][f_x],fInfo[fID][f_y],fInfo[fID][f_z]);
SetPlayerFacingAngle(playerid,fInfo[fID][f_r]);
SetPlayerInterior(playerid,fInfo[fID][f_inter]);
SetPlayerVirtualWorld(playerid,fInfo[fID][f_world]);
SetPlayerColor(playerid,fInfo[fID][f_color]);
}
}
return 1;
}Funktion für Leadererstellen und spawnchange-Befehl erstellt:
getPlayerName(playerid)
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
return name;
}//ocmd Befehle:
ocmd:spawnchange(playerid,params[])
{
if(isPlayerInFrakt(playerid,0))return SendClientMessage(playerid,rot,"Du bist in keiner Fraktion.");
if(sInfo[playerid][spawnchange] ==0)
{
sInfo[playerid][spawnchange]=1;
}
if(sInfo[playerid][spawnchange] ==1)
{
sInfo[playerid][spawnchange]=0;
}
SendClientMessage(playerid,grün,"Spawn geändert");
return 1;
}
ocmd:Leadererstellen(playerid,params[])
{
if(!isAdmin(playerid,5))return SendClientMessage(playerid,grün,"Du hast keine Berechtigung dazu!");
new pID, fID;
if(sscanf(params,"ui",pID,fID))return SendClientMessage(playerid,rot,"INFO: /Leadererstellen[playerid][fraktid]");
if(fID>= sizeof(fInfo))return SendClientMessage(playerid,rot,"Fraktion existiert nicht.");
sInfo[pID][fraktion] = fID;
sInfo[pID][rang] = 6;
new string[128];
format(string,sizeof(string),"%s hat dich zum Leader der Fraktion %s gemacht",getPlayerName(playerid),fInfo[fID][f_name]);
SendClientMessage(pID,gelb,string);
SendClientMessage(playerid,grün,"Du hast einen Spieler zum Leader gemacht.");
return 1;
}Unter PasswordResponse:
public OnPasswordResponse(playerid)
{
new num_rows,num_fields;
cache_get_data(num_rows,num_fields,dbhandle);
if(num_rows==1)
{
//passwort Richtig
sInfo[playerid][eingeloggt] = 1;
sInfo[playerid][level] = cache_get_field_content_int(0,"level",dbhandle);
SetPlayerScore(playerid,sInfo[playerid][level]);
sInfo[playerid][db_id] = cache_get_field_content_int(0,"id",dbhandle);
SetPlayerMoney(playerid,cache_get_field_content_int(0,"money",dbhandle));
sInfo[playerid][alevel] = cache_get_field_content_int(0,"alevel",dbhandle);
sInfo[playerid][fraktion] = cache_get_field_content_int(0,"fraktion",dbhandle);
sInfo[playerid][rang] = cache_get_field_content_int(0,"rang",dbhandle);
sInfo[playerid][spawnchange]= cache_get_field_content_int(0,"spawnchange",dbhandle);
loadPlayerCars(playerid);}
else
{
//Passwort Falsch
SendClientMessage(playerid,grün,"Du hast dein Passwort falsch eingetippt. Versuche es nochmal!");
ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Gibt bitte dein Passwort ein:","Anmelden","Abbrechen");
}
return 1;
}.So nun wenn ich Ingame gehe und mich Selbst mit /Leadererstellen [playerid][fraktid] eintippe und auch da steht das ich Leader gemacht wurde von SWAT und nach dem Tod nicht bei der SWAT-Base Spawne.
Ich frage mich nun wo mein Fehler sein könnte.
Ich hoffe man kann mir hierbei helfen.
-
Fahrzeug parkt nicht da wo ich es haben will.
autopark-befehl:
ocmd:autoparken(playerid, params[])
{
new vID = GetPlayerVehicleID(playerid);
if(!IsPlayerInAnyVehicle(playerid))return SendClientMessage(playerid, hellgrün, "Du bist in kein Auto!");
for (new i = 0; i < sizeof(aInfo); i++)
{
printf("i: %d | vID: %d | idx: %d", i, vID, aInfo[i][id_x]);
if(vID == aInfo[i] [id_x])
{
printf("besitzer: %s | SpielerName: %s", aInfo[i][besitzer], SpielerName(playerid));
if(aInfo[i][besitzer] == sInfo[playerid][db_id])
{
printf("Passt.");
new query[256];
GetVehiclePos(vID, aInfo[i][c_x],aInfo[i][c_y],aInfo[i][c_z]);
GetVehicleZAngle(vID,aInfo[i][c_r]);
format(query, sizeof(query), "UPDATE Autos SET c_x='%f',c_y='%f',c_z='%f',c_r='%f' WHERE id='%i'",aInfo[i] [c_x],aInfo[i] [c_y],aInfo[i] [c_z],aInfo[i] [c_r],aInfo[i] [db_id]);
mysql_function_query(dbhandle,query,false," "," ");
SendClientMessage(playerid, hellgrün, "Du hast dein Auto geparkt.");
return 1;
}
break;
}
}
return SendClientMessage(playerid, hellgrün, "Du sitzt nicht in deinem Auto!");
} -
Hier bei:
ocmd:autoparken(playerid, params[])
{
new vID = GetPlayerVehicleID(playerid);
if(!IsPlayerInAnyVehicle(playerid))return SendClientMessage(playerid, hellgrün, "Du bist in kein Auto!");
for (new i = 0; i < sizeof(aInfo); i++)
{
printf("i: %d | vID: %d | idx: %d", i, vID, aInfo[i][id_x]);
if(vID == aInfo[i] [id_x])
{
printf("besitzer: %s | SpielerName: %s", aInfo[i][besitzer], SpielerName(playerid));
if(aInfo[i][besitzer] == sInfo[playerid][db_id]))
{
printf("Passt.");
new query[256];
GetVehiclePos(vID, aInfo[i][c_x],aInfo[i][c_y],aInfo[i][c_z]);
GetVehicleZAngle(vID,aInfo[i][c_r]);
format(query, sizeof(query), "UPDATE Autos SET c_x='%f',c_y='%f',c_z='%f',c_r='%f' WHERE id='%i'",aInfo[i] [c_x],aInfo[i] [c_y],aInfo[i] [c_z],aInfo[i] [c_r],aInfo[i] [db_id]);
mysql_function_query(dbhandle,query,false," "," ");
SendClientMessage(playerid, hellgrün, "Du hast dein Auto geparkt.");
return 1;
}
break;
}
}
return SendClientMessage(playerid, hellgrün, "Du sitzt nicht in deinem Auto!");
}sind bei:
das break;
CodeDer Code ist aufgrund von vorherigen "return","back","continue" oder "goto-Anwendung nicht erreichbar
Dann wird mir noch gesagt:
if(aInfo[i][besitzer] == sInfo[playerid][db_id]))
Ungültiger Ausdruck -
Meinst du:
enum autoEnum{
id_x,
model,
besitzer[MAX_PLAYER_NAME],
Float:c_x,
Float:c_y,
Float:c_z,
Float:c_r,
db_id
}? -
Ich hoffe damit kannst du was anfangen Jeffry :
getFreeCarID()
{
for(new i=0; i<sizeof(aInfo); i++)
{
if(aInfo[i][id_x] ==0)return i;}
return 0;
}
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();
aInfo[id][model]=cache_get_field_content_int(i,"model",dbhandle);
aInfo[id][besitzer]=cache_get_field_content_int(i,"besitzer",dbhandle);
aInfo[id][c_x]=cache_get_field_content_float(i,"x",dbhandle);
aInfo[id][c_y]=cache_get_field_content_float(i,"y",dbhandle);
aInfo[id][c_z]=cache_get_field_content_float(i,"z",dbhandle);
aInfo[id][c_r]=cache_get_field_content_float(i,"r",dbhandle);
aInfo[id][db_id]=cache_get_field_content_int(i,"id",dbhandle);
aInfo[id][id_x]=CreateVehicle(aInfo[id][model],aInfo[id][c_x],aInfo[id][c_y],aInfo[id][c_z],aInfo[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;
} -
aus der Server.log datei:
Code
Alles anzeigen---------- Loaded log file: "server_log.txt". ---------- SA-MP Dedicated Server ---------------------- v0.3.7, (C)2005-2015 SA-MP Team [21:56:00] filterscripts = "" (string) [21:56:00] [21:56:00] Server Plugins [21:56:00] -------------- [21:56:00] Loading plugin: mysql [21:56:00] >> plugin.mysql: R39 successfully loaded. [21:56:00] Loaded. [21:56:00] Loading plugin: sscanf [21:56:00] [21:56:00] =============================== [21:56:00] sscanf plugin loaded. [21:56:00] (c) 2009 Alex "Y_Less" Cole [21:56:00] 0.3d-R2 500 Players "dnee" [21:56:00] =============================== [21:56:00] Loaded. [21:56:00] Loaded 2 plugins. [21:56:00] [21:56:00] Ban list [21:56:00] -------- [21:56:00] Loaded: samp.ban [21:56:00] [21:56:00] [21:56:00] Filterscripts [21:56:00] --------------- [21:56:00] Loaded 0 filterscripts. [21:56:00] Mysql wurde verbunden! [21:56:00] ---------------------------------- [21:56:00] Exilium Reallife Version 1.0 [21:56:00] ---------------------------------- [21:56:00] Number of vehicle models: 6 [21:56:39] [connection] 127.0.0.1:49506 requests connection cookie. [21:56:40] Incoming connection: 127.0.0.1:49506 id: 0 [21:56:40] [join] Blackshadowscript has joined the server (0:127.0.0.1) [21:57:20] i: 0 | vID: 7 | idx: 7 [21:57:20] besitzer: | SpielerName: Blackshadowscript [21:57:25] Query: UPDATE user SET level='66', money='1080', alevel='7', fraktion='0', rang='0' WHERE id='1' [21:57:25] [part] Blackshadowscript has left the server (0:1)
Befehl an sich:
ocmd:autoparken(playerid, params[])
{
new vID = GetPlayerVehicleID(playerid);
if(!IsPlayerInAnyVehicle(playerid))return SendClientMessage(playerid, hellgrün, "Du bist in kein Auto!");
for (new i = 0; i < sizeof(aInfo); i++)
{
printf("i: %d | vID: %d | idx: %d", i, vID, aInfo[i][id_x]);
if(vID == aInfo[i] [id_x])
{
printf("besitzer: %s | SpielerName: %s", aInfo[i][besitzer], SpielerName(playerid));
if(!strcmp(aInfo[i][besitzer], SpielerName(playerid)))
{
printf("Passt.");
new query[256];
GetVehiclePos(vID, aInfo[i][c_x],aInfo[i][c_y],aInfo[i][c_z]);
GetVehicleZAngle(vID,aInfo[i][c_r]);
format(query, sizeof(query), "UPDATE Autos SET c_x='%f',c_y='%f',c_z='%f',c_r='%f' WHERE id='%i'",aInfo[i] [c_x],aInfo[i] [c_y],aInfo[i] [c_z],aInfo[i] [c_r],aInfo[i] [db_id]);
mysql_function_query(dbhandle,query,false," "," ");
SendClientMessage(playerid, hellgrün, "Du hast dein Auto geparkt.");
return 1;
}
break;
}
}
return SendClientMessage(playerid, hellgrün, "Du sitzt nicht in deinem Auto!");
}Zeile 52 im text wo:
[21:57:20] i: 0 | vID: 7 | idx: 7 steht ist der print vom autoparken befehl -
server.log:
Code
Alles anzeigenSA-MP Dedicated Server ---------------------- v0.3.7, (C)2005-2015 SA-MP Team [20:49:01] filterscripts = "" (string) [20:49:01] [20:49:01] Server Plugins [20:49:01] -------------- [20:49:01] Loading plugin: mysql [20:49:01] >> plugin.mysql: R39 successfully loaded. [20:49:01] Loaded. [20:49:01] Loading plugin: sscanf [20:49:01] [20:49:01] =============================== [20:49:01] sscanf plugin loaded. [20:49:01] (c) 2009 Alex "Y_Less" Cole [20:49:01] 0.3d-R2 500 Players "dnee" [20:49:01] =============================== [20:49:01] Loaded. [20:49:01] Loaded 2 plugins. [20:49:01] [20:49:01] Ban list [20:49:01] -------- [20:49:01] Loaded: samp.ban [20:49:01] [20:49:01] [20:49:01] Filterscripts [20:49:01] --------------- [20:49:01] Loaded 0 filterscripts. [20:49:01] Mysql wurde verbunden! [20:49:01] ---------------------------------- [20:49:01] Exilium Reallife Version 1.0 [20:49:01] ---------------------------------- [20:49:01] Number of vehicle models: 6 [20:49:33] [connection] 127.0.0.1:59366 requests connection cookie. [20:49:34] Incoming connection: 127.0.0.1:59366 id: 0 [20:49:34] [join] Blackshadowscript has joined the server (0:127.0.0.1) [20:50:14] i: 0 | vID: 7 | idx: 7 [20:50:14] besitzer: ÿlackshadowscript | SpielerName: [20:50:57] Query: UPDATE user SET level='66', money='1080', alevel='7', fraktion='0', rang='0' WHERE id='1' [20:50:57] [part] Blackshadowscript has left the server (0:1) [20:50:58] --- Server Shutting Down. [20:50:58] plugin.mysql: Unloading plugin... [20:50:58] plugin.mysql: Plugin unloaded. [20:50:58] [20:50:58] =============================== [20:50:58] sscanf plugin unloaded. [20:50:58] ===============================
Zeile 47 oder 48 steht da vID7 idx 7
-
enum autoEnum{
id_x,
model,
besitzer[MAX_PLAYER_NAME],
Float:c_x,
Float:c_y,
Float:c_z,
Float:c_r,
db_id
}new aInfo[50][autoEnum];
ocmd:autoparken(playerid, params[])
{
new vID = GetPlayerVehicleID(playerid);
if(!IsPlayerInAnyVehicle(playerid))return SendClientMessage(playerid, hellgrün, "Du bist in kein Auto!");
for (new i = 0; i < sizeof(aInfo); i++)
{
printf("i: %d | vID: %d | idx: %d", i, vID, aInfo[i][id_x]);
if(vID == aInfo[i] [id_x])
{
printf("besitzer: %s | SpielerName: %s", strcmp(aInfo[i][besitzer], SpielerName(playerid)));
if(!strcmp(aInfo[i][besitzer], SpielerName(playerid)))
{
printf("Passt.");
new query[256];
GetVehiclePos(vID, aInfo[i][c_x],aInfo[i][c_y],aInfo[i][c_z]);
GetVehicleZAngle(vID,aInfo[i][c_r]);
format(query, sizeof(query), "UPDATE Autos SET c_x='%f',c_y='%f',c_z='%f',c_r='%f' WHERE id='%i'",aInfo[i] [c_x],aInfo[i] [c_y],aInfo[i] [c_z],aInfo[i] [c_r],aInfo[i] [db_id]);
mysql_function_query(dbhandle,query,false," "," ");
SendClientMessage(playerid, hellgrün, "Du hast dein Auto geparkt.");
return 1;
}
break;
}
}
return SendClientMessage(playerid, hellgrün, "Du sitzt nicht in deinem Auto!");
}stock SpielerName(playerid)
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,MAX_PLAYER_NAME);
return name;
}