die beiden Befehle haben gar keinen zusammenhang...ich will die erstellten mit /veh alle wieder mit /dvehicles löschen können...
Beiträge von Cody09
-
-
kann ich nicht strget und cmd in einem gleichzeitig verwenden? Und nein, ich hab mich bis jetzt nur mit cmd beschäftigt, was muss ich da ändern? So?
if(strcmp(cmd, "/deletecar", true) == 0){
if(IsPlayerInAnyVehicle(playerid))
{
new currentveh;
currentveh = GetPlayerVehicleID(playerid);
DestroyVehicle(currentveh);
SCM(playerid, COLOR_SCHWARZ, "Du hast das Auto zerstört.");
}else{
SCM(playerid, COLOR_ROT, "Du bist in keinem Auto");
}return 1;
}Ich brauch doch noch deinen /veh Befehl oder? Ich brüchte es fertig zum einbauen...
@edit: dieser Befehl zerstört ja nur das Auto in dem die Person ist, ich brauche es aber, das alle erstellten Autos zerstört werden..
-
ich hab eins im gamemode, da konnte man autos ohne probleme erstellen, aber net löschen..., hatte sufu schon benutzt...
@edit: Code eingefügt:
if(strcmp(cmd, "/destroycars", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(PlayerInfo[playerid][pAdmin] < 1338)
{
SendClientMessage(playerid, COLOR_GRAD1, " Das darfst du nicht tun!");
return 1;
}
for(new i = 0; i < sizeof(CreatedCars); i++)
{
if(i != 0)
{
DestroyVehicle(i);
}
}
SendClientMessage(playerid, COLOR_GREY, " Alle erstellten Autos zerstört !");
}
return 1;
}if(strcmp(cmd, "/veh", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if (PlayerInfo[playerid][pAdmin] < 1338)
{
SendClientMessage(playerid, COLOR_GRAD1, " Du bist kein Admin!");
return 1;
}
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /veh [carid] [color1] [color2]");
return 1;
}
new car;
car = strval(tmp);
if(car < 400 || car > 611) { SendClientMessage(playerid, COLOR_GREY, " Auto Nummer nicht weniger als 400 oder höher als 611 sein !"); return 1; }
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /veh [carid] [color1] [color2]");
return 1;
}
new color1;
color1 = strval(tmp);
if(color1 < 0 || color1 > 126) { SendClientMessage(playerid, COLOR_GREY, " Nicht Weniger als 0 oder höher 126 !"); return 1; }
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /veh [carid] [color1] [color2]");
return 1;
}
new color2;
color2 = strval(tmp);
if(color2 < 0 || color2 > 126) { SendClientMessage(playerid, COLOR_GREY, " Nicht weniger als 0 oder höher als 126 !"); return 1; }
new Float:X,Float:Y,Float:Z;
GetPlayerPos(playerid, X,Y,Z);
new carid = CreateVehicle(car, X,Y,Z, 0.0, color1, color2, 60000);
CreatedCars[CreatedCar] = carid;
CreatedCar++;
Gas[carid] = GetGasMax(car);
format(string, sizeof(string), " Auto %d gespawned.", carid);
SendClientMessage(playerid, COLOR_GREY, string);
}
return 1;
}Das ist der, der net funzt
-
So,
ich benötige einen Befehl(/veh [carid] [farbe1] [farbe2]) mit dem man Autos spawnen lassen kann, soviele man will.
Dazu sollte es noch einen Befehl geben (/dvehicles) mit dem man ALLE erstellten Autos wieder löscht.Ich hoffe es kann einer für mich machen, ach ja, ich benutzte GF.
MfG. Cody09
-
Wie in der überschrift bereits erwähnt möchte ich die GameText´s wenn ich bei den Eingängen von biz/sbiz/häusern austauschen mit 3d Text labeln, vllt. könnt ihr das für mich machen: hier die Stelle..
Wenn ihr mehr Code braucht, bitte sagenpublic CustomPickups()
{
new Float:oldposx, Float:oldposy, Float:oldposz;
new string[256];
//new rand;
NameTimer();
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
GetPlayerPos(i, oldposx, oldposy, oldposz);
new tmpcar = GetPlayerVehicleID(i);
if(oldposx!=0.0 && oldposy!=0.0 && oldposz!=0.0)
{
for(new h = 0; h < sizeof(SBizzInfo); h++)
{
if(IsATruck(tmpcar) && IsPlayerInRangeOfPoint(i,10.0, SBizzInfo[h][sbEntranceX], SBizzInfo[h][sbEntranceY], SBizzInfo[h][sbEntranceZ]))
{
format(string, sizeof(string), "~w~%s~n~~r~Benoetigte Produkte~w~: %d~n~~y~Produktpreis: ~w~: $%d~n~~g~: ~w~Preis: $%d",SBizzInfo[h][sbMessage],(SBizzInfo[h][sbMaxProducts]-SBizzInfo[h][sbProducts]),SBizzInfo[h][sbPriceProd],SBizzInfo[h][sbTill]);
GameTextForPlayer(i, string, 5000, 3);
return 1;
}
if(IsPlayerInRangeOfPoint(i,3.0, SBizzInfo[h][sbEntranceX], SBizzInfo[h][sbEntranceY], SBizzInfo[h][sbEntranceZ]))
{
if(SBizzInfo[h][sbOwned] == 1)
{
format(string, sizeof(string), "~w~%s~w~~n~Inhaber: %s~n~Teilhaber: %s~n~Eintrittspreis: ~g~$%d ~w~Level : %d ~n~Benutze /enter zum betreten",SBizzInfo[h][sbMessage],SBizzInfo[h][sbOwner],SBizzInfo[h][sbExtortion],SBizzInfo[h][sbEntranceCost],SBizzInfo[h][sbLevelNeeded]);
}
else
{
format(string, sizeof(string), "~w~%s~w~~n~Dieses Business ist zu verkaufen~n~Preis ~g~$%d ~w~Level : %d ~n~Benutze /buybiz um das Biz zu kaufen",SBizzInfo[h][sbMessage],SBizzInfo[h][sbBuyPrice],SBizzInfo[h][sbLevelNeeded]);
}
GameTextForPlayer(i, string, 5000, 3);return 1;
}
}
for(new h = 0; h < sizeof(HouseInfo); h++)
{
if(IsPlayerInRangeOfPoint(i,2.0, HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez]))
{
if(HouseInfo[h][hOwned] == 1)
{
if(HouseInfo[h][hRentabil] == 0)
{
format(string, sizeof(string), "~w~Dieses Haus gehoert: ~n~%s~n~Level : %d",HouseInfo[h][hOwner],HouseInfo[h][hLevel]);
}
else
{
format(string, sizeof(string), "~w~Dieses Haus gehoert: ~n~%s~n~Miete: $%d Level : %d~n~Benutze /rentroom, um ein Zimmer zu mieten",HouseInfo[h][hOwner],HouseInfo[h][hRent],HouseInfo[h][hLevel]);
}
GameTextForPlayer(i, string, 5000, 3);
return 1;
}
else
{
format(string, sizeof(string), "~w~Dieses Haus ist zu Verkaufen~n~Beschreibung: %s ~n~Preis: ~g~$%d~n~~w~ Level: %d~n~Benutze /buyhouse um es zu kaufen",HouseInfo[h][hDiscription],HouseInfo[h][hValue],HouseInfo[h][hLevel]);
}
GameTextForPlayer(i, string, 5000, 3);
return 1;
}
}
for(new h = 0; h < sizeof(BizzInfo); h++)
{
if(IsATruck(tmpcar) && IsPlayerInRangeOfPoint(i,10.0, BizzInfo[h][bEntranceX], BizzInfo[h][bEntranceY], BizzInfo[h][bEntranceZ]))
{
format(string, sizeof(string), "~w~%s~n~~r~Benoetigte Produkte~w~: %d~n~~y~Produktpreis: ~w~: $%d~n~~g~Preis: ~w~: $%d",BizzInfo[h][bMessage],(BizzInfo[h][bMaxProducts]-BizzInfo[h][bProducts]),BizzInfo[h][bPriceProd],BizzInfo[h][bTill]);
GameTextForPlayer(i, string, 5000, 3);
return 1;
}
if(IsPlayerInRangeOfPoint(i,2.0, BizzInfo[h][bEntranceX], BizzInfo[h][bEntranceY], BizzInfo[h][bEntranceZ]))
{
if(BizzInfo[h][bOwned] == 1)
{
format(string, sizeof(string), "~w~%s~w~~n~Inhaber: %s~n~Teilhaber: %s~n~Eintrittspreis: ~g~$%d ~w~Level: %d ~n~Benutze /enter zum betreten",BizzInfo[h][bMessage],BizzInfo[h][bOwner],BizzInfo[h][bExtortion],BizzInfo[h][bEntranceCost],BizzInfo[h][bLevelNeeded]);
}
else
{
format(string, sizeof(string), "~w~%s~w~~n~Dieses Business ist zu verkaufen~n~Preis: ~g~$%d ~w~Level: %d ~n~Benutze /buybiz um das Biz zu kaufen",BizzInfo[h][bMessage],BizzInfo[h][bBuyPrice],BizzInfo[h][bLevelNeeded]);
}
GameTextForPlayer(i, string, 5000, 3);
return 1;
}
}
}
}
}
return 1;
}hoffentlich kann das jemand für mich machen
MfG. Cody09
-
Funktioniert jetzt ohne Probleme :).
Kannst gut behilflich sein:) -
Tag,
ich bin grade dabei, ein Anti-IP System in meinen Script einzubauen.
Dieser Funktioniert auch super, bis auf, das man bei /b /l /o etc. ip´s schreiben kann.
Hierzu wird ein Callback zur verfügung gestellt:if(CheckPlayerText(playerid,tmp) == 0) { return 1; }
Wie gehe ich vor um dieses Callback in z.B. den /close befehl einzubauen?
if(strcmp(cmd, "/close", true) == 0 || strcmp(cmd, "/c", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(gPlayerLogged[playerid] == 0)
{
SendClientMessage(playerid, COLOR_GREY, " Du bist noch nicht eingeloggt !");
return 1;
}
GetPlayerName(playerid, sendername, sizeof(sendername));
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[64];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
{
SendClientMessage(playerid, COLOR_GRAD2, "FEHLER: /(c)lose [close chat text]");
return 1;
}
format(string, sizeof(string), "%s Sagt: %s", sendername, result);
ProxDetector(3.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
printf("%s", string);
}
return 1;
}für weiteren Code einfach fragen
MfG. Cody09
-
unsere Userfiles sind nicht verschlüsselt, es liegt an den schreibrechten am root, wie kann man das beheben?
-
Also, ich benötige für meinen Server den Befehl
/supmobil
Wenn man diesen Befehl eingibt soll der Spieler, wenn er in einem Auto ist, aus dem Auto heraus geworfen werden.
Admin/Sup bezeichnung: if(PlayerInfo[playerid][pAdmin] >= 1 || PlayerInfo[playerid][pSupporter] >= 1)
Dann soll das Spawnen und der Spieler in das Fahrzeug hineingesetzt werden:new Float:X,Float:Y,Float:Z;
GetPlayerPos(playerid, X,Y,Z);
AddStaticVehicle(583,X+3,Y+1,Z+1, 0.0, 106, 106);Wenn der Sup/Admin das Fahrzeug verlässt soll es zerstört werden.
MfG. Cody09
-
ja, aber auch wenn ich das DT-Carsystem und den Rentcar gleichzeitig nutze?
-
ist es gf kompatibel? Ich nutze das DT-Car System, würde es ohne car-id verschiebung funktionieren? Habe wie gesagt GF
-
keine schlechte Idee, mal was anderes
-
es gibt was, da werden die cars synchronisiert, musste mal googlen, habs unter youtube mal gesehen. Und man kann Fahrzeuge abschleppen..
-
Hallo,
Ich habe das Problem, das zurzeit die Fahrschule auf unserem Server nicht betriebsbereit ist, da der Befehl /startlesson nicht geht. Immer wenn man /startlesson [id] macht und derjenige dann Fahrschul Autos betreten will, kommt " Du hast kein Schlüssel"
Hier: onplayerstatechange
if(!IsPlayerInFrac(playerid,11) || TakingLesson[playerid] != 1)
{
for(new pv = 0; pv < sizeof(FahrschulVehs); pv++)
{
if(newcar == FahrschulVehs[pv])
{
SendClientMessage(playerid,COLOR_RED,"Du hast keine Schlüssel!");
RemovePlayerFromVehicle(playerid);
}
}
}/startlesson:
if(strcmp(cmd, "/startlesson", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(PlayerInfo[playerid][pMember] == 11 || PlayerInfo[playerid][pLeader] == 11)
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_WHITE, "USAGE: /startlesson [playerid/PartOfName]");
return 1;
}
giveplayerid = ReturnUser(tmp);
if(IsPlayerConnected(giveplayerid))
{
if(giveplayerid != INVALID_PLAYER_ID)
{GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
format(string, sizeof(string), "* Du hast %s's Lehrstunde Gestartet.",giveplayer);
SendClientMessage(playerid, COLOR_WHITE, string);
format(string, sizeof(string), "* Fahrlehrer %s hat deine Lehrstunde gestartet.",sendername);
SendClientMessage(giveplayerid, COLOR_WHITE, string);
TakingLesson[giveplayerid] = 1;
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, " Dieser Spieler ist Offline !");
return 1;
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, " Du bist kein Fahrlehrer !");
return 1;
}
}
return 1;
}Wenn ihr mehr braucht, einfach schreiben
Ich hoffe das es dann funktionieren wird, da dies den kompletten Betrieb der Fahrschul Fraktion lahmlegt
MfG. Cody09
-
ja funktioniert, vielen Dank
-
Hallo,
ich habe das Problem, das ich einen Befehl erstellt habe, mit dem man sich auf den Fahrersitz des Autos setzen kann.
Jedoch geht das nur für die Personen die den Befehl eingeben.Wäre es möglich, diesen zu erweitern, sodass ich eingeben muss /getincar [playerid] [carid]
Hier der Befehl
if(strcmp(cmd, "/getincar", true) == 0)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD1, "USAGE: /getincar [carid]");
return 1;
}
new testcar = strval(tmp);
if (PlayerInfo[playerid][pAdmin] >= 3)
{
new Float:cwx2,Float:cwy2,Float:cwz2;
GetVehiclePos(testcar, cwx2, cwy2, cwz2);
if (GetPlayerState(playerid) == 2)
{
SetVehicleToRespawn(GetPlayerVehicleID(playerid));
RemovePlayerFromVehicle(playerid);
PutPlayerInVehicle(playerid, testcar, 0);
}
else
{
SetPlayerInterior(playerid,0);
PutPlayerInVehicle(playerid, testcar, 0);
}
SendClientMessage(playerid, COLOR_ORANGE, "** Du wurdest teleportiert");
format(string, sizeof(string), "[ADMIN]: %s hat sich selbst in zu der Carid: [%d] teleportiert.", sendername, testcar);
ABroadCast(COLOR_LIGHTRED,string, 5);
DisablePlayerCheckpoint(playerid);
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, "** Du bist kein Admin!");
return 1;
}
}
return 1;
}Hoffentlich könnt ihr mir helfen
MfG. Cody09
-
warum Link entfernt ?
Musst nur ein wenig in google suchen, da haste den Pastbin link wieder...
-
Hallo,
wie in der überschrift bereits gesagt, benötige ich ein Script, der die Wanteds des Spielers über dem Kopf anzeigt.
Der ROTE 3d Text soll enthalten:
-Wanteds:
-Grund:-Diesen 3d Text sollen nur Cops sehen... (ich glaub mit isacop)
-Wenn Spieler keine Wanteds hat, kein 3d Text anzeigen...Genau, mehr brauche ich nicht, wer weitere Infos braucht, bitte melden.
MfG. Cody09
-
hm, ich Poste jetzt mal den gesamten zusammenhang(alle Befehle, etc. die mit dem Zusammenhängen...ich schaff es nicht..)
pRoadblock,
Bein onplayerdiscontect:
if (PlayerInfo[playerid][pRoadblock] != 0)
{
RemoveRoadblock(playerid);
}/rb
if(strcmp(cmdtext, "/roadblock", true)==0 || strcmp(cmdtext, "/rb", true)==0)
{
if (!IsACop(playerid)) return SendClientMessage(playerid, COLOR_GREY, "Du bist kein Cop!");
if (PlayerInfo[playerid][pRank] < 2)
{
SendClientMessage(playerid, COLOR_GREY, "Du mußt mindestens Rang 2 haben um diesen Befehl nutzen zu können!");
return 1;
}
if (PlayerInfo[playerid][pRoadblock] != 0) return SendClientMessage(playerid, COLOR_GREY, "Du kannst nur eine Straßensperre errichten, gib /rrb ein um eine vorhandene Sperre zu entfernen.");
new Float:X, Float:Y, Float:Z, Float:A;
GetPlayerPos(playerid, X, Y, Z);
GetPlayerFacingAngle(playerid, A);
PlayerInfo[playerid][pRoadblock] = CreateObject(981, X, Y, Z, 0.0, 0.0, A+180);
SetPlayerPos(playerid, X, Y, Z+4);
GameTextForPlayer(playerid, "~w~Strassensperre ~r~platziert", 5000, 5);
SendClientMessage(playerid, COLOR_GREEN, "Starßensperre erfolgreich platziert, gib /rrb oder /roadunblock ein um sie zu entfernen.");
//roadblocktimer = 1;
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "HQ: Officer %s hat eine Straßensperre platziert, auf der Karte ist sie als Checkpoint zu sehen.", sendername);
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(IsACop(i))
{
SetPlayerCheckpoint(playerid, X, Y, Z-10, 1.0);
SendClientMessage(i, TEAM_BLUE_COLOR, string);
if (PlayerInfo[i][pRank] >= 5 && PlayerInfo[i][pMember] || PlayerInfo[i][pLeader] == 1)
{
SendClientMessage(i, COLOR_YELLOW, "Du kannst alle Sperren mit /rrball entfernen");
}
}
}
}
return 1;
}/rrb + /rrball
if(strcmp(cmdtext, "/roadunblock", true)==0 || strcmp(cmdtext, "/rrb", true)==0)
{
if(!IsACop(playerid))
{
SendClientMessage(playerid, COLOR_GREY, "Du bist kein Cop!");
return 1;
}
if (PlayerInfo[playerid][pRank] < 2)
{
SendClientMessage(playerid, COLOR_GREY, "Du mußt mindestens Rang 2 haben um diesen Befehl nutzen zu können!");
return 1;
}
if (PlayerInfo[playerid][pRoadblock] == 0)
{
SendClientMessage(playerid, COLOR_GREY, "Du hast keine Straßensperre platziert!");
return 1;
}
RemoveRoadblock(playerid);
SendClientMessage(playerid, COLOR_GREEN, "Straßensperre erfolgreich entfernt.");
return 1;
}if(strcmp(cmdtext, "/roadunblockall", true)==0 || strcmp(cmdtext, "/rrball", true)==0)
{
if (PlayerInfo[playerid][pRank] >= 2 && PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1 || PlayerInfo[playerid][pAdmin] > 1 || PlayerInfo[playerid][pLeader] == 2 || PlayerInfo[playerid][pMember] == 2)
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(PlayerInfo[i][pRoadblock] != 0)
{
RemoveRoadblock(i);
}
}
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "HQ: Durch die Anordnung von Officer %s wurden alle Starßensperren entfernt.", sendername);
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PlayerInfo[i][pMember] == 1 || PlayerInfo[i][pLeader] == 1 || PlayerInfo[playerid][pLeader] == 2 || PlayerInfo[playerid][pMember] == 2)
{
SendClientMessage(i, TEAM_BLUE_COLOR, string);
}
}
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, "Du mußt Rang 2 haben oder Polizeichef sein um alle Straßensperren entfernen zu können!");
}
return 1;
}Public remove roadblock:
public RemoveRoadblock(playerid)
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PlayerInfo[i][pMember] == 1 || PlayerInfo[i][pLeader] == 1)
{
DisablePlayerCheckpoint(i);
}
}
}
DestroyObject(PlayerInfo[playerid][pRoadblock]);
PlayerInfo[playerid][pRoadblock] = 0;
return 1;
}Das ist wirklich wichtig, ich hänge grade nur an diesem Punkt beim Scripten fest
-
mom, ich hab herausgefunden, woran es lag, daran ist nichts falsch, aber ich habe ein Include, das heist noDM v.3.
Immer wenn ich in dieser No-DM zone bin, wird das was ich oben im Code aufgelistet habe angezeigt, gibt es da Id´s(also das die sich vertauschen können?)