Irgendwo muss es doch noch ne andere Public geben, wo die Autos geladen werden.
Send und die andere mal.
Beiträge von N1co
-
-
Speichern scheint zu sehen. Send mal die Public, wo die Autos spawnen.
-
Hey,
du musst den Server auch im Screenmodus starten, denn wenn du z.B. Putty schließt geht der Server sonst aus...
Versuch mal den Befehl im Screenmodus zu starten, solltest du Screen vorher nicht installier haben,
einfach apt-get install screen machen
Anschließend -
So hab einen Restart vom Server gemacht und zack war der Tank leer.
Send mal die Public, wo die Autos gespeichert werden.
-
Code
Alles anzeigenocmd:createfcar(playerid,params[]) { if(!IsAdmin(playerid,3))return noaccess new mdid, cc1, cc2, fid; if(sscanf(params,"dddd",mdid,cc1,cc2,fid))return SendClientMessage(playerid,GRAU,"Verwendung: /createfcar (ModelID) (Color1) (Color2) (FraktionsID)"); if(mdid>599 || mdid<400)return SendClientMessage(playerid,GRAU,"Fehler: Inakzeptable Modell ID."); new query[256],Name[MAX_PLAYER_NAME]; GetPlayerName(playerid, Name, MAX_PLAYER_NAME); format(query, sizeof(query), "INSERT INTO `frakcars` (`modelid`, `color1`, `color2`, `frakid`) VALUES ('%d', '%d', '%d', '%d')", mdid, cc1, cc2, fid); mysql_query(query); new basic_floats,Float:posr; GetPlayerPos(playerid, x,y,z); GetPlayerFacingAngle(playerid,posr); new ccc=CreateVehicle(mdid, x,y,z, posr, cc1, cc2, -1); vTank[ccc]=CarTanks[mdid]; FrakCars[ccc][frakid]=fid; FrakCars[ccc][parkx]=x; FrakCars[ccc][parky]=y; FrakCars[ccc][parkz]=z; FrakCars[ccc][parkr]=posr; mysql_query("SELECT MAX(db_id) FROM frakcars"); mysql_store_result(); FrakCars[ccc][db_id] = mysql_fetch_int(); mysql_free_result(); IsFrakCar[ccc]=fid; new dbid=FrakCars[ccc][db_id]; mysql_SetFloat_ID("frakcars", "parkx", x, "db_id",dbid); mysql_SetFloat_ID("frakcars", "parky", y, "db_id",dbid); mysql_SetFloat_ID("frakcars", "parkz", z, "db_id",dbid); mysql_SetFloat_ID("frakcars", "parkr", posr, "db_id",dbid); new str[128]; format(str,sizeof(str),"Fahrzeug %d für die Fraktion %s erstellt. DB-ID: %d",ccc,FrakInfo[fid][frakname], FrakCars[ccc][db_id]); PutPlayerInVehicle(playerid, ccc); SendClientMessage(playerid,GELB,str); return 1; }
So ist richtig, hoffe ich
Hab das übersehenWenn nicht mal das erstmal testweise so:
Code
Alles anzeigenocmd:createfcar(playerid,params[]) { if(!IsAdmin(playerid,3))return noaccess new mdid, cc1, cc2, fid; if(sscanf(params,"dddd",mdid,cc1,cc2,fid))return SendClientMessage(playerid,GRAU,"Verwendung: /createfcar (ModelID) (Color1) (Color2) (FraktionsID)"); if(mdid>599 || mdid<400)return SendClientMessage(playerid,GRAU,"Fehler: Inakzeptable Modell ID."); new query[256],Name[MAX_PLAYER_NAME]; GetPlayerName(playerid, Name, MAX_PLAYER_NAME); format(query, sizeof(query), "INSERT INTO `frakcars` (`modelid`, `color1`, `color2`, `frakid`) VALUES ('%d', '%d', '%d', '%d')", mdid, cc1, cc2, fid); mysql_query(query); new basic_floats,Float:posr; GetPlayerPos(playerid, x,y,z); GetPlayerFacingAngle(playerid,posr); new ccc=CreateVehicle(mdid, x,y,z, posr, cc1, cc2, -1); vTank[ccc] = 500; FrakCars[ccc][frakid]=fid; FrakCars[ccc][parkx]=x; FrakCars[ccc][parky]=y; FrakCars[ccc][parkz]=z; FrakCars[ccc][parkr]=posr; mysql_query("SELECT MAX(db_id) FROM frakcars"); mysql_store_result(); FrakCars[ccc][db_id] = mysql_fetch_int(); mysql_free_result(); IsFrakCar[ccc]=fid; new dbid=FrakCars[ccc][db_id]; mysql_SetFloat_ID("frakcars", "parkx", x, "db_id",dbid); mysql_SetFloat_ID("frakcars", "parky", y, "db_id",dbid); mysql_SetFloat_ID("frakcars", "parkz", z, "db_id",dbid); mysql_SetFloat_ID("frakcars", "parkr", posr, "db_id",dbid); new str[128]; format(str,sizeof(str),"Fahrzeug %d für die Fraktion %s erstellt. DB-ID: %d",ccc,FrakInfo[fid][frakname], FrakCars[ccc][db_id]); PutPlayerInVehicle(playerid, ccc); SendClientMessage(playerid,GELB,str); return 1; }
-
Du musst das "oder" mit einem "und" ersetzen. Also
zu
Heißt: Wenn der Spieler NICHT legit Admin ist UND gleichzeitig NICHT als RCON Admin angemeldet ist, dann soll der Befehl NICHT ausgeführt werden
&& = und
| | = oderIn diesem Fall war
schon richtig.
Ansonsten wird halt abgefragt, ob Spieler LegitAdmin und RconAdmin ist.Also:
-
Hat er bereits oben getan, musst nur die Augen aufmachen.
Danke, lässt sich auch netter ausdrücken.
Eventuell mal anstatt hier auf irgendwelchen Leuten rum zu hacken auch mal versuchen zu helfenCode
Alles anzeigenocmd:createfcar(playerid,params[]) { if(!IsAdmin(playerid,3))return noaccess new mdid, cc1, cc2, fid; if(sscanf(params,"dddd",mdid,cc1,cc2,fid))return SendClientMessage(playerid,GRAU,"Verwendung: /createfcar (ModelID) (Color1) (Color2) (FraktionsID)"); if(mdid>599 || mdid<400)return SendClientMessage(playerid,GRAU,"Fehler: Inakzeptable Modell ID."); new query[256],Name[MAX_PLAYER_NAME]; GetPlayerName(playerid, Name, MAX_PLAYER_NAME); format(query, sizeof(query), "INSERT INTO `frakcars` (`modelid`, `color1`, `color2`, `frakid`) VALUES ('%d', '%d', '%d', '%d')", mdid, cc1, cc2, fid); mysql_query(query); new basic_floats,Float:posr; GetPlayerPos(playerid, x,y,z); GetPlayerFacingAngle(playerid,posr); new ccc=CreateVehicle(mdid, x,y,z, posr, cc1, cc2, -1); vTank[ccc]=CarTanks[mdid-400]; FrakCars[ccc][frakid]=fid; FrakCars[ccc][parkx]=x; FrakCars[ccc][parky]=y; FrakCars[ccc][parkz]=z; FrakCars[ccc][parkr]=posr; mysql_query("SELECT MAX(db_id) FROM frakcars"); mysql_store_result(); FrakCars[ccc][db_id] = mysql_fetch_int(); mysql_free_result(); IsFrakCar[ccc]=fid; new dbid=FrakCars[ccc][db_id]; mysql_SetFloat_ID("frakcars", "parkx", x, "db_id",dbid); mysql_SetFloat_ID("frakcars", "parky", y, "db_id",dbid); mysql_SetFloat_ID("frakcars", "parkz", z, "db_id",dbid); mysql_SetFloat_ID("frakcars", "parkr", posr, "db_id",dbid); new str[128]; format(str,sizeof(str),"Fahrzeug %d für die Fraktion %s erstellt. DB-ID: %d",ccc,FrakInfo[fid][frakname], FrakCars[ccc][db_id]); PutPlayerInVehicle(playerid, ccc); SendClientMessage(playerid,GELB,str); vTank[ccc] = 500; return 1; }
ungetestet -
Code
Alles anzeigenocmd:tanken(playerid, params[]) { if(!IsAtTanke(playerid))return SendClientMessage(playerid,GRAU,"Du bist nicht an einer Tankstelle."); if(!IsPlayerInAnyVehicle(playerid))return 1; new vid=GetPlayerVehicleID(playerid), tmp_engine, tmp_lights, tmp_alarm, tmp_doors, tmp_bonnet, tmp_boot, tmp_objective; GetVehicleParamsEx(vid , tmp_engine,tmp_lights,tmp_alarm,tmp_doors,tmp_bonnet,tmp_boot,tmp_objective); if(tmp_engine!=0)return SendClientMessage(playerid,GRAU,"Du musst den Motor ausschalten!"); if(gpv(playerid,"AmTanken")==1)return SendClientMessage(playerid, GRAU, "Du tankst doch schon, Mensch!"); if(vTank[vid]<CarTanks[GetVehicleModel(vid)-400]) { new const cars[20] = {417,425,447,460,469,476,487,488,497,511,512,513,519,520,548,553,563,577,592,593}; if(mysql_GetInt_ID("tanken", "tanktyp", "id", GetPVarInt(playerid,"AtTankeID"))==1) { for(new i; i<sizeof(cars); i++) { if(GetVehicleModel(vid) == cars[i]) continue; SendClientMessage(playerid,GRAU,"Dieses Auto lässt sich hier betanken."); return 1; } } if(mysql_GetInt_ID("tanken", "tanktyp", "id", GetPVarInt(playerid,"AtTankeID"))==2) { if(IsABoat(vid))goto tankdigga; SendClientMessage(playerid,GRAU,"Dieses Auto lässt sich hier betanken."); return 1; } tankdigga: if(ac_GetPlayerMoney(playerid)<mysql_GetInt_ID("tanken", "tankpreis", "id", GetPVarInt(playerid,"AtTankeID")))return SendClientMessage(playerid,GRAU,"Du hast zu wenig Geld."); if(!strcmp(mysql_GetString_ID("tanken", "customname", "id", GetPVarInt(playerid,"AtTankeID")), "Polizei", true)) { if(pInfo[playerid][fraktion]!=2 && pInfo[playerid][fraktion]!=3)return SendClientMessage(playerid, GRAU, "Hier kann nicht getankt werden."); } SetPVarInt(playerid,"MussZahlen",0); spv(playerid,"HatGetankt",0); TogglePlayerControllable(playerid,false); spv(playerid,"AmTanken",1); SetTimerEx("TankTimerr",2300,0,"i",playerid); SendClientMessage(playerid,GRAU,"Fahrzeug wird nun betankt..."); } else SendClientMessage(playerid,GRAU,"Du hast noch genügend Tankfüllung."); return 1; }
send mal die public "TankTimerr".
-
wofür?
Um das denn in den Befehl "createfcar" zu packen.
-
Send mal den Code wo man das Auto an einer Tankstelle tankt.
Also /fiill oder so -
Woher kommste und wie weit würdest du fahren, um das Auto abzuholen?
-
Yo,
hab gerade Langeweile und würde gerne ein paar Designs umsetzen.Also wenn jemand nen Design hat, was er gerne als Code haben möchte -> Einfach per PN melden mit dem Design und Wünschen.
Da ich nicht Tage lang an einem Projekt arbeiten möchte, biete ich nur die Umsetzungen von Enterpage's an.Ich arbeite mit CSS, JS (jquery) und HTML.
Referenzen gibt es, wenn ich die ersten Projekte fertig habe
Liebe Grüße,
N1co** Design = Die Vorstellung, wie die Seite später aussehen sollte, in einem Bild.
** Enterpage = Eine Navigation's - Seite, die beispielsweise auf einen Ts3 oder auch ein Forum leitet. -
-
Vielen Dank für deine Hilfe
Habe denn Checkpoint einfach unter die Map gepackt
also die z koordinate auf -1 gesetzt
So geht's natürlich auch
Probier mal größe 0.0Gerne.
-
Du siehst ja auf dem Bild das der Checkpoint auf der Map um denn Spieler herum ist
/e; Meinst du das es nicht möglich ist denn Checkpoint zu entfernen?
Codeforward Marker(playerid); public Marker(playerid) { new playa = markerid[playerid]; new Float:x, Float:y, Float:z; GetPlayerPos(playa, x, y, z); SetPlayerCheckpoint(playerid, x, y, z, 0.000000001); }
Eventuell kleiner machen
-
Du siehst auf dem Bild einen Kreis um denn Spieler dieser soll nicht da sein^^
aber auf der Map? -> Soweit ich weiß ist das nicht möglich
-
Code
Alles anzeigenif(strcmp(cmd, "/marker", true) == 0) { new tmp[128]; tmp = strtok(cmdtext, idx); if(strlen(tmp) == 0) return SendClientMessage(playerid, COLOR_GREY, "Benutze: /marker [playerid]"); new playa = strval(tmp); new playa2 = playerid; markerid[playa] = playa2; markertime[playa] = SetTimerEx("Marker", 1000, true, "i", playa); return 1; }
Mein Fehler
-
Also soll der Spieler, der /marker macht den Checkpoint angezeigt bekommen, von der playerid?
-
Alles funktioniert bis auf der /us befehl, der Checkpoint verschwindet ganz ganz kurz und kommt sofort wieder.
Davon abgesehen erscheint dann um denn Spieler der /marker macht ein ein Checkpoint welcher noch entfernt werden müsste und nur noch ein Marker auf der Minimap ist.Aktualisiere mal die Seite.
Hab den Code editiert. -
Es ist schon spät und ich kann kaum noch richtig denken:
Hier das richtige:Code
Alles anzeigen//unter den includes new markerid[MAX_PLAYERS]; new markertime[MAX_PLAYERS]; //unter onplayercpmmandtext if(strcmp(cmd, "/marker", true) == 0) { new tmp[128]; tmp = strtok(cmdtext, idx); if(strlen(tmp) == 0) return SendClientMessage(playerid, COLOR_GREY, "Benutze: /marker [playerid]"); new playa = strval(tmp); new playa2 = playerid; markerid[playa] = playa2; markertime[playerid] = SetTimerEx("Marker", 10, true, "i", playa); return 1; } if(strcmp(cmd, "/us", true) == 0) { KillTimer(markertime[playerid]); DisablePlayerCheckpoint(playerid); return 1; }