und wenn du + 0.5 machst?..
Beiträge von ErikSon
-
-
@LittleBarbie: Wenn in der Zeile nur "GeschenkAn" steht, also ohne "[playerid]" oder was auch immer, dann musst du oben im Script definieren..
"new GeschenkAn;" -
Öffne mal die Include "M_Bot" und kopiere dir alle Funktionen in dein Mainscript ( bspw. die Funktion "GetName" )..
Die fügst du dann in dein Mainscript ganz unten, oder wo auch immer ein, dann klappt alles..Und bitte..!
Poste mal bitte den Inhalt von "M_OnPlayerConnect" "M_OnPlayerDeath" "M_OnPlayerSpawn" etc..
-
Sieht gut aus.
Das System ähnelt LoG.
Denkst du LoG hat sich das ausgedacht?..
Das / So ein ähnliches System gibt es auf sehr vielen Servern..Dann ist LoG ja von Nova abgeguckt, weil die auch einen Reallife- / Roleplay- ( gerade keine Ahnung ) Script machen / haben..
-
//Edit:
Zeig mal den Enum, der zu "cInfo" gehört.. -
Sicher, dass du es nirgends noch für CJ erstellst?..
(Script nach "AddPlayerClass" durchsuchen und checken)
-
AssassinsCreedUnity: Es reicht, wenn du einen Thread für das gleiche Problem aufmachst!
Bitte spam das Forum jetzt nicht mit 100 Threads voll, in denen nur 2 Themen besprecht werden! -
Hey..
Zeig mal bitte den Enumerator von fInfo.. -
Wenn ichs richtig verstanden habe.. Sollte es dann so aussehen:
createFrakCar(playerid,modelid,Float:x,Float:y,Float:z,Float:r,color1,color2,frak){
print("Createfcar vor schleife");
for(new i=0; i<sizeof(fInfo); i++){
print("Create fcar in schleif");
if(cInfo[i][id_x]!=0)continue;
//cInfo[i][besitzer]=fInfo[playerid][f_name];
//GetPlayerName(playerid,cInfo[i][besitzer],MAX_PLAYER_NAME);
fInfo[i][c_x]=x;
fInfo[i][c_y]=y;
fInfo[i][c_z]=z;
fInfo[i][c_r]=r;
fInfo[i][model]=modelid;
fInfo[i][id_x] = CreateVehicle(modelid,x,y,z,r,color1,color2,-1);
new string[144],pIDname[MAX_PLAYER_NAME];
GetPlayerName(playerid,pIDname,sizeof(pIDname));
format(string,sizeof(string),"Das Auto NR[%i] wurde für %s erstellt",i,pIDname);
SendClientMessageToAll(RED,string);
saveCarToDB(playerid,i);
print("Createfcar in schleife ende");
return 1;
}
return 1;
} -
Hey..
Sollte so funktionieren..
Ansonsten kannst du es mit der Numpad Entertaste machen, da klappt das schon so.. -
MetrrickZ: Was steht denn in den Zeilen?..
-
Kannst ja mal debuggen und schauen, bis wohin der Code läuft und wo er abspringt..
-
Füg das oben in dein Script:
#define UnFreezePlayer(%0) TogglePlayerControllable(%0,1)
#define FreezePlayer(%0) TogglePlayerControllable(%0,0)
static VehicleDriverPlayerid[MAX_VEHICLES] = { INVALID_PLAYER_ID, ... };Das egal wo:
stock GetVehicleDriver(vehicleid){
if(vehicleid < 1 || vehicleid > sizeof(VehicleDriverPlayerid)) return INVALID_PLAYER_ID;
if(VehicleDriverPlayerid[vehicleid - 1] != INVALID_PLAYER_ID && IsPlayerInVehicle(VehicleDriverPlayerid[vehicleid - 1], vehicleid) && GetPlayerVehicleSeat(VehicleDriverPlayerid[vehicleid - 1]) == 0)return VehicleDriverPlayerid[vehicleid - 1];
return VehicleDriverPlayerid[vehicleid - 1] = INVALID_PLAYER_ID;
}
//In -> OnPlayerStateChange
if(newstate == PLAYER_STATE_DRIVER){
new vehicleid = GetPlayerVehicleID(playerid);
if(vehicleid)VehicleDriverPlayerid[vehicleid - 1] = playerid;
}Poste mal bitte den Inhalt von "M_OnPlayerConnect" "M_OnPlayerDeath" "M_OnPlayerSpawn" etc..
-
Code
Sollte so funktionieren..Code Was du tun musstest.. :
Du musst abfragen, ob er den Job noch nicht kündigen kann ( "SInfo[playerid][pkund]" ) <- Die Variable..
Wenn diese größer als 0 ist, dann kann er diesen Job noch nicht kündigenCode dcmd_job(playerid,params[]){
#pragma unused params
if(IsPlayerInRangeOfPoint(playerid,4.0,1419.4509,-1001.0847,-17.3952))return ShowPlayerDialog(playerid, DIALOG_JOB, DIALOG_STYLE_LIST, "JobMenu","Müllmann\nTaschendieb\nStraßenreiniger\nWaffendealer\nDrogendealer\nFarmer\nPilot\nHure\nHolzfäller\nTaxifahrer\nJob kündigen","Auswählen", "Abbrechen");
else return SendClientMessage(playerid,COLOR_RED,"Hier bekommst du keinen Job!");
}
if(dialogid == DIALOG_JOB)
{
if(!response)return 1;
if(SInfo[playerid][pkund] > 0 && listitem != 10)return SendClientMessage(playerid,Gelb,"Du hast bereits einen Job! Kündige diesen erstmal.");
if(listitem == 0){
SInfo[playerid][pkund] = 3;
SInfo[playerid][pJob] = 1;
return SendClientMessage(playerid, Gelb,"Du hast dir Erfolgreich dein Job ausgesucht.(Muelmann");
}
if(listitem == 1){//Taschendieb
SInfo[playerid][pJob] = 2;
SInfo[playerid][pkund] = 3;
return SendClientMessage(playerid, Gelb,"Du hast dir Erfolgreich dein Job ausgesucht.(Taschendieb");
}
if(listitem == 2){//Straßenreiniger
SInfo[playerid][pJob] = 3;
SInfo[playerid][pkund] = 3;
return SendClientMessage(playerid, Gelb,"Du hast dir Erfolgreich dein Job ausgesucht.(Straßenreiniger");
}
if(listitem == 3){//Waffendealer
SInfo[playerid][pJob] = 4;
SInfo[playerid][pkund] = 3;
return SendClientMessage(playerid, Gelb,"Du hast dir Erfolgreich dein Job ausgesucht.(Waffendealer");
}
if(listitem == 4){//Drogendealer
SInfo[playerid][pJob] = 5;
SInfo[playerid][pkund] = 3;
return SendClientMessage(playerid, Gelb,"Du hast dir Erfolgreich dein Job ausgesucht.(Drogendealer)");
}
if(listitem == 5){//Farmer
SInfo[playerid][pJob] = 6;
SInfo[playerid][pkund] = 3;
return SendClientMessage(playerid, Gelb,"Du hast dir Erfolgreich dein Job ausgesucht.(Farmer)");
}
if(listitem == 6){//Pilot
SInfo[playerid][pJob] = 7;
SInfo[playerid][pkund] = 3;
return SendClientMessage(playerid, Gelb,"Du hast dir Erfolgreich dein Job ausgesucht.(Pilot)");
}
if(listitem == 7){//Hure
SInfo[playerid][pJob] = 8;
SInfo[playerid][pkund] = 3;
return SendClientMessage(playerid, Gelb,"Du hast dir Erfolgreich dein Job ausgesucht.(Hure)");
}
if(listitem == 8){//Holzfäller
SInfo[playerid][pJob] = 9;
SInfo[playerid][pkund] = 3;
SendClientMessage(playerid, Gelb,"Du hast dir Erfolgreich dein Job ausgesucht.(Holzfäller");
}
if(listitem == 9){//Taxifahrer
SInfo[playerid][pJob] = 10;
SInfo[playerid][pkund] = 3;
return SendClientMessage(playerid, Gelb,"Du hast dir Erfolgreich dein Job ausgesucht.(Taxifahrer");
}
if(listitem == 10){//kündigen
if(SInfo[playerid][pkund] == 0){
SInfo[playerid][pJob] = 0;
return SendClientMessage(playerid, Gelb,"Du hast deinen Job erfolgreich gekündigt!");
}
else{
format(str,sizeof(str),"Du kannst deinen Job nicht kündigen!",SInfo[playerid][pkund]);
return SendClientMessage(playerid, COLOR_RED,str);
}
}
} -
Wenn du das mit "LSPD CAR1" lassen willst, muss das so aussehen:
enum frakcars {
f_name[32],//oder wie du das auch nennen willst
f_model,
Float:f_x,
Float:f_y,
Float:f_z,
Float:f_r,
f_c1,
f_c2,
f_id
} -
Würde gerne das Anti-Cheat noch entbuggen, damit es genutzt werden kann..
Wenn jemand einige Bugs kennt, wäre es nett, wenn ihr diese postet..Verbesserungsvorschläge bzw. neue Anti's könnt ihr auch gerne posten..
-
Kannst du das mal bitte untereinander posten?..
-
Tacho[playerid] = CreatePlayerTextDraw(playerid,460.000000, 381.500000, "_");
PlayerTextDraw
-
kleinkiko: Du machst unter "OnPlayerKeyStateChange" eine Abfrage, welchen Knopf er drückt, und ob er in der Nähe des / eines Tores ist..
Wenn ja, dann öffnest du die Schranke und schließt sie nach einem Timer, oder eben wieder per Knopfdrück..Hier mal eine Include, womit du sehr einfach eine Schranke erstellen kannst:
B_SchrankeVlt ist ja eines davon hilfreich..
-
new botname[MAX_PLAYER_NAME];
GetPlayerName(playerid, botname, sizeof(botname));
if(!strcmp(botname, "Banktyp1", true)){
new gPlayerLogged[MAX_PLAYERS];
gPlayerLogged[playerid] = 1;//[playerid] hat gefehlt
}Jedoch musst du das an dein Script anpassen, dass der Bot dann direkt eingeloggt ist und nicht im Einlog-Dialog oder whatever rumhängt