SetPlayerInterior und dann erst SetPlayerPos verwenden.
Beiträge von Ap0llinaris
-
-
Ja, das ist meiner.
-
Vielen Dank.
Wir überlegen schon, was in Zukunft kommen wird.
Und wir hoffen, dass das SA-MP Team mehr Objekte zur Verfügung stellt.
-
Was meinst du mit nicht ganz sauber?
Das mit den Fenstern habe ich ihm aber auch gesagt, daraufhin meinte er es wäre nurnoch schwierig, die Fenster einzusetzen. -
Die SA-MP Objekte von 0.3c, etc. sind alle dabei. (Objekte ab 19000 oderso.. ;))
-
Vielen Dank.
Marco
Objekt erstellt, SetObjectMaterial Benutzt. -
Guten Abend liebe Community.
Vor 3 Tagen, begann der liebe V1P3RLP eine schöne Map zu erstellen.
Wir haben uns das Ziel genommen, einer der besten Stadthallen zu mappen, die es gibt.
Unser Ziel ist vor ein paar Stunden erfüllt worden.Map-Informationen
Ersteller:- V1P3RLP (Viper) - das gesamte Haus, teilweise Einrichtung
- Ap0llinaris - Ausstattung, Beschmückung, etc.
Arbeitszeit: 3 Tage
Objekt-Anzahl: 870 Objekte
Video:Externer Inhalt www.youtube.comInhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.Das ganze "Werk" könnt ihr unter unserem Server (http://www.v-rl.de) betrachten. Die Uhr aktualisiert Stunde, sowie Minute. Die Objekte laden leider etwas langsam, und wir hoffen in Naher Zukunft die Limits der Objekte werden erhöht, damit es auch nicht immer so "Abgeschnitten" aussieht.
Ich hoffe ebenfalls, dass ihr uns eine kleine Bewertung da lassen könnt.
Vielen Dank.
-
Okay, werde es mal versuchen.
Ebenfalls werde ich den Hinweis von V1P3RLP anschauen, wegen dem 1024er String beim Autohaus fürn Dialog. -
1) Den Callback habe ich in meinem letzten Beitrag im Expander eingefügt.
Und warum soll ich ~500-1000 Zeilen printen? wtf. -
Spoiler anzeigen
public OnPlayerStateChange(playerid, newstate, oldstate)
{
if(newstate == PLAYER_STATE_PASSENGER)
{
if(GetPlayerWeapon(playerid) != 29 || GetPlayerWeapon(playerid) != 30 || GetPlayerWeapon(playerid) != 31)
{
SetPlayerArmedWeapon(playerid, 0);
}
}
if(oldstate == PLAYER_STATE_DRIVER || oldstate == PLAYER_STATE_PASSENGER)
{
StopAudioStreamForPlayer(playerid);
}
if(newstate == PLAYER_STATE_DRIVER || newstate == PLAYER_STATE_PASSENGER)
{
new vID = GetPlayerVehicleID(playerid);
if(RadioSender[vID] > 0)
{
if(RadioSender[vID] == 1)
{
PlayAudioStreamForPlayer(playerid, "http://www.wdr.de/wdrlive/media/einslive.m3u");
}
else if(RadioSender[vID] == 2)
{
PlayAudioStreamForPlayer(playerid, "http://ni39999_2.fastdownload.nitrado.net/TechnoBase.pls");
}
else if(RadioSender[vID] == 3)
{
PlayAudioStreamForPlayer(playerid, "http://ni39999_2.fastdownload.nitrado.net/HardBase.pls");
}
else if(RadioSender[vID] == 4)
{
PlayAudioStreamForPlayer(playerid, "http://ni39999_2.fastdownload.nitrado.net/iloveradio.m3u");
}
else if(RadioSender[vID] == 5)
{
PlayAudioStreamForPlayer(playerid, "http://www.hardcoreradio.nl/hr.m3u");
}
}
}
if(newstate == PLAYER_STATE_DRIVER)
{
SetPlayerArmedWeapon(playerid, 0);
new mod = GetVehicleModel(GetPlayerVehicleID(playerid));
if(IsAFahrrad(mod))
{
new engine, light, alarm, doors, bonnet, boot, objective;Spoiler anzeigen GetVehicleParamsEx(GetPlayerVehicleID(playerid), engine, light, alarm, doors, bonnet, boot, objective);Spoiler anzeigen SetVehicleParamsEx(GetPlayerVehicleID(playerid), VEHICLE_PARAMS_ON, light, alarm, doors, bonnet, boot, objective);Spoiler anzeigen }
if(Spieler[playerid][pLevel] <= 2)
{
if(!IsAFahrrad(mod))
{
SendClientMessage(playerid, COLOR_GREEN, "* Verwende /motor um den Motor zu starten/stoppen.");
SendClientMessage(playerid, COLOR_GREEN, "* Verwende /licht um das Licht an/auszuschalten.");
}
}
if(IsACar(mod))
{
if(Spieler[playerid][pCarLic] == 0 && pFahrStunde[playerid] == 0)
{
if(pMakeTutorial[playerid] == 1)return 1;
FreezePlayer(playerid);
RemovePlayerFromVehicle(playerid);
UnfreezePlayer(playerid);
SendClientMessage(playerid, COLOR_RED, "Du hast noch keinen Führerschein!");
return 1;
}
}
if(IsABoat(mod))
{
if(Spieler[playerid][pBoatLic] == 0 && pFahrStunde[playerid] == 0)
{
FreezePlayer(playerid);
RemovePlayerFromVehicle(playerid);
UnfreezePlayer(playerid);
SendClientMessage(playerid, COLOR_RED, "Du hast noch keinen Bootsschein!");
return 1;
}
}
if(IsAPlane(mod))
{
if(Spieler[playerid][pFlyLic] == 0 && pFahrStunde[playerid] == 0)
{
FreezePlayer(playerid);
RemovePlayerFromVehicle(playerid);
UnfreezePlayer(playerid);
SendClientMessage(playerid, COLOR_RED, "Du hast noch keinen Flugschein!");
return 1;
}
}Spoiler anzeigen if(IsATruck(mod))
{
if(Spieler[playerid][pLKWLic] == 0 && pFahrStunde[playerid] == 0)
{
FreezePlayer(playerid);
RemovePlayerFromVehicle(playerid);
UnfreezePlayer(playerid);
SendClientMessage(playerid, COLOR_RED, "Du hast noch keinen LKW-Schein!");
return 1;
}
}
if(IsABike(mod))
{
if(Spieler[playerid][pMotoLic] == 0 && pFahrStunde[playerid] == 0)
{
FreezePlayer(playerid);
RemovePlayerFromVehicle(playerid);
UnfreezePlayer(playerid);
SendClientMessage(playerid, COLOR_RED, "Du hast noch keinen Motorradschein!");
return 1;
}
}
new vehicleid = GetPlayerVehicleID(playerid);
new typ, string[256];
typ=IsAutohausCar(vehicleid);
if(!(typ==-1))
{
FreezePlayer(playerid);
Spectating[playerid][0]=typ;
new str[1024];
format(str, sizeof(str), "{FFFFFF}Willkommen im Autohaus.\n{3F62DA}Informationen:\n{3F62DA}Name:{FFFFFF}\t%s\n{3F62DA}Preis:{FFFFFF}\t %d$\n{3F62DA}Tank:{FFFFFF}\t %d\n\nWenn du dieses Fahrzeug wirklich kaufen möchtest,\ndann drücke auf \"{3F62DA}Kaufen{FFFFFF}\".\nWenn nicht drücke auf \"{3F62DA}Abbrechen{FFFFFF}\".", Kaufliste[typ][Name], Kaufliste[typ][aPreis], Kaufliste[typ][Tank]);
ShowPlayerDialog(playerid, DIALOG_SELLCAR, DIALOG_STYLE_MSGBOX, "{3F62DA}Autohaus", str, "Kaufen", "Abbrechen");
}
for(new i=0;i<sizeof(combines);i++)
{
new vID = GetPlayerVehicleID(playerid);
if(vID == combines[i])
{
for(new pID=0;pID<MAX_PLAYERS;pID++)
{
if(JobVehicle[pID] == vID && JobVehicle[playerid] != vID)
{
SendClientMessage(playerid, COLOR_GREY, "Das Fahrzeug wird derzeit noch benutzt!");
RemovePlayerFromVehicle(playerid);
return 1;
}
}
if(Spieler[playerid][pJob] == 1)
{
JobVehicle[playerid] = vID;
SendClientMessage(playerid, COLOR_GREEN, "* Farmer Information *");
SendClientMessage(playerid, COLOR_WHITE, "Tippe /startharvest zum starten.");
SendClientMessage(playerid, COLOR_WHITE, "Tippe /stopharvest zum stoppen.");
SendClientMessage(playerid, COLOR_WHITE, "Tippe /joblock zum abschließen des Fahrzeugs.");
return 1;
}
else
{
SendClientMessage(playerid, COLOR_GREY, "Du bist kein Farmer.");
RemovePlayerFromVehicle(playerid);
return 1;
}
}
}
for(new i=0;i<sizeof(drogen);i++)
{
new vID = GetPlayerVehicleID(playerid);
if(vID == drogen[i])
{
for(new pID=0;pID<MAX_PLAYERS;pID++)
{
if(JobVehicle[pID] == vID && JobVehicle[playerid] != vID)
{
SendClientMessage(playerid, COLOR_GREY, "Das Fahrzeug wird derzeit noch benutzt!");
return 1;
}
}
if(Spieler[playerid][pJob] == 7)
{
JobVehicle[playerid] = vID;
new str[128];
format(str, sizeof(str), "** Drogenbestand des Fahrzeugs: %d/5 **", bestand[vID]);
SendClientMessage(playerid, COLOR_GREEN, str);
SendClientMessage(playerid, COLOR_WHITE, "Tippe /loadpakete zum aufladen der Pakete.");
SendClientMessage(playerid, COLOR_WHITE, "Tippe /unloadpakete zum entladen der Pakete.");
SendClientMessage(playerid, COLOR_WHITE, "Tippe /joblock zum abschließen des Fahrzeugs.");
return 1;
}
else
{
SendClientMessage(playerid, COLOR_GREY, "Du bist kein Drogendealer.");
RemovePlayerFromVehicle(playerid);
return 1;
}
}
}
for(new i=0;i<sizeof(wdealer);i++)
{
new vID = GetPlayerVehicleID(playerid);
if(vID == wdealer[i])
{
for(new pID=0;pID<MAX_PLAYERS;pID++)
{
if(JobVehicle[pID] == vID && JobVehicle[playerid] != vID)
{
SendClientMessage(playerid, COLOR_GREY, "Das Fahrzeug wird derzeit noch benutzt!");
return 1;
}
}
if(Spieler[playerid][pJob] == 8)
{
JobVehicle[playerid] = vID;
new str[128];
format(str, sizeof(str), "** Waffenbestand des Fahrzeugs: %d/5 **", bestand[vID]);
SendClientMessage(playerid, COLOR_GREEN, str);
SendClientMessage(playerid, COLOR_WHITE, "Tippe /loadpakete zum aufladen der Pakete.");
SendClientMessage(playerid, COLOR_WHITE, "Tippe /unloadpakete zum entladen der Pakete.");
SendClientMessage(playerid, COLOR_WHITE, "Tippe /joblock zum abschließen des Fahrzeugs.");
return 1;
}
else
{
SendClientMessage(playerid, COLOR_GREY, "Du bist kein Drogendealer.");
RemovePlayerFromVehicle(playerid);
return 1;
}
}
}
for(new i=0;i<sizeof(bus);i++)
{
new vID = GetPlayerVehicleID(playerid);
if(vID == bus[i])
{
for(new pID=0;pID<MAX_PLAYERS;i++)
{
if(JobVehicle[pID] == vID && JobVehicle[playerid] != vID)
{
SendClientMessage(playerid, COLOR_GREY, "Das Fahrzeug wird derzeit noch benutzt!");
RemovePlayerFromVehicle(playerid);
return 1;
}
}
if(Spieler[playerid][pJob] == 2)
{
JobVehicle[playerid] = vID;
SendClientMessage(playerid, COLOR_GREEN, "* Busfahrer Information *");
SendClientMessage(playerid, COLOR_WHITE, "Tippe /startlinie zum starten.");
SendClientMessage(playerid, COLOR_WHITE, "Tippe /stoplinie zum stoppen.");
SendClientMessage(playerid, COLOR_WHITE, "Tippe /joblock zum abschließen des Fahrzeugs.");
return 1;
}
else
{
SendClientMessage(playerid, COLOR_GREY, "Du bist kein Busfahrer.");
RemovePlayerFromVehicle(playerid);
return 1;
}
}
}
for(new i=0;i<sizeof(flug);i++)
{
new vID = GetPlayerVehicleID(playerid);
if(vID == flug[i])
{
for(new pID=0;pID<MAX_PLAYERS;pID++)
{
if(JobVehicle[pID] == vID && JobVehicle[playerid] != vID)
{
SendClientMessage(playerid, COLOR_GREY, "Das Fahrzeug wird derzeit noch benutzt!");
RemovePlayerFromVehicle(playerid);
return 1;
}
}
if(Spieler[playerid][pJob] == 4)
{
JobVehicle[playerid] = vID;
SendClientMessage(playerid, COLOR_GREEN, "* Pilot Information *");
SendClientMessage(playerid, COLOR_WHITE, "Tippe /startflug zum starten.");
SendClientMessage(playerid, COLOR_WHITE, "Tippe /joblock zum abschließen des Fahrzeugs.");
return 1;
}
else
{
SendClientMessage(playerid, COLOR_GREY, "Du bist kein Pilot.");
RemovePlayerFromVehicle(playerid);
return 1;
}
}
}
for(new i=0;i<sizeof(truck);i++)
{
new vID = GetPlayerVehicleID(playerid);
if(vID == truck[i])
{
for(new pID=0;pID<MAX_PLAYERS;pID++)
{
if(JobVehicle[pID] == vID && JobVehicle[playerid] != vID)
{
SendClientMessage(playerid, COLOR_GREY, "Das Fahrzeug wird derzeit noch benutzt!");
RemovePlayerFromVehicle(playerid);
return 1;
}
}
if(Spieler[playerid][pJob] == 3)
{
JobVehicle[playerid] = vID;
SendClientMessage(playerid, COLOR_GREEN, "* Trucker Information *");
SendClientMessage(playerid, COLOR_WHITE, "Tippe /starttruck zum starten.");
SendClientMessage(playerid, COLOR_WHITE, "Tippe /stoptruck zum stoppen.");
SendClientMessage(playerid, COLOR_WHITE, "Tippe /joblock zum abschließen des Fahrzeugs.");
return 1;
}
else
{
SendClientMessage(playerid, COLOR_GREY, "Du bist kein Trucker.");
RemovePlayerFromVehicle(playerid);
return 1;
}
}
}
for(new i=0;i<sizeof(kfz);i++)
{
new vID = GetPlayerVehicleID(playerid);
if(vID == kfz[i])
{
for(new pID=0;pID<MAX_PLAYERS;pID++)
{
if(JobVehicle[pID] == vID && JobVehicle[playerid] != vID)
{
SendClientMessage(playerid, COLOR_GREY, "Das Fahrzeug wird derzeit noch benutzt!");
RemovePlayerFromVehicle(playerid);
return 1;
}
}
if(Spieler[playerid][pJob] == 5)
{
JobVehicle[playerid] = vID;
SendClientMessage(playerid, COLOR_GREEN, "* KFZ-Mechatroniker Information *");
SendClientMessage(playerid, COLOR_WHITE, "Tippe /repaircar [SpielerID/Name] [Preis] zum reparieren.");
SendClientMessage(playerid, COLOR_WHITE, "Tippe /refillcar [SpielerID/Name] [Preis] zum auftanken.");
SendClientMessage(playerid, COLOR_WHITE, "Tippe /joblock zum abschließen des Fahrzeugs.");
return 1;
}
else
{
SendClientMessage(playerid, COLOR_GREY, "Du bist kein KFZ-Mechatroniker.");
RemovePlayerFromVehicle(playerid);
return 1;
}
}
}
for(new i=0;i<sizeof(lspdcars);i++)
{
new vID = GetPlayerVehicleID(playerid);
if(vID == lspdcars[i])
{
if(!(Spieler[playerid][pFraktion] == 1))
{
FreezePlayer(playerid);
UnfreezePlayer(playerid);
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid, COLOR_GREY, "Du bist kein LSPD Mitglied.");
return 1;
}
}
}
for(new i=0;i<sizeof(sanicars);i++)
{
new vID = GetPlayerVehicleID(playerid);
if(vID == sanicars[i])
{
if(!(Spieler[playerid][pFraktion] == 3))
{
FreezePlayer(playerid);
UnfreezePlayer(playerid);
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid, COLOR_GREY, "Du bist kein SA-MD Mitglied.");
return 1;
}
}
}
for(new i=0;i<sizeof(oamtcars);i++)
{
new vID = GetPlayerVehicleID(playerid);
if(vID == oamtcars[i])
{
if(!(Spieler[playerid][pFraktion] == 5))
{
FreezePlayer(playerid);
UnfreezePlayer(playerid);
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid, COLOR_GREY, "Du bist kein Ordnungsämtler.");
return 1;
}
}
}
for(new i=0;i<sizeof(fbicars);i++)
{
new vID = GetPlayerVehicleID(playerid);
if(vID == fbicars[i])
{
if(!(Spieler[playerid][pFraktion] == 2))
{
FreezePlayer(playerid);
UnfreezePlayer(playerid);
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid, COLOR_GREY, "Du bist kein FBI Mitglied.");
return 1;
}
}
}
for(new i=0;i<sizeof(ballascars);i++)
{
new vID = GetPlayerVehicleID(playerid);
if(vID == ballascars[i])
{
if(!(Spieler[playerid][pFraktion] == 7))
{
FreezePlayer(playerid);
UnfreezePlayer(playerid);
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid, COLOR_GREY, "Du bist kein Ballas Mitglied.");
return 1;
}
}
}
for(new i=0;i<sizeof(grovecars);i++)
{
new vID = GetPlayerVehicleID(playerid);
if(vID == grovecars[i])
{
if(!(Spieler[playerid][pFraktion] == 6))
{
FreezePlayer(playerid);
UnfreezePlayer(playerid);
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid, COLOR_GREY, "Du bist kein Grove Street Mitglied.");
return 1;
}
}
}
for(new i=0;i<sizeof(fscars);i++)
{
new vID = GetPlayerVehicleID(playerid);
if(vID == fscars[i])
{
if(!(Spieler[playerid][pFraktion] == 8 || pFahrStunde[playerid] == 1))
{
FreezePlayer(playerid);
UnfreezePlayer(playerid);
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid, COLOR_GREY, "Du bist kein Fahrlehrer oder kein Fahrschüler!");
return 1;
}
}
}
for(new i=0;i<sizeof(virtualtruck);i++)
{
new vID = GetPlayerVehicleID(playerid);
if(vID == virtualtruck[i])
{
if(!(Spieler[playerid][pFraktion] == 9))
{
FreezePlayer(playerid);
UnfreezePlayer(playerid);
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid, COLOR_GREY, "Du bist kein Virtual Trucking GmbH Mitglied.");
return 1;
}
}
}
for(new i=0;i<sizeof(newscars);i++)
{
new vID = GetPlayerVehicleID(playerid);
if(vID == newscars[i])
{
if(!(Spieler[playerid][pFraktion] == 4))
{
FreezePlayer(playerid);
UnfreezePlayer(playerid);
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid, COLOR_GREY, "Du bist kein San Andreas News Agentur Mitglied.");
return 1;
}
}
}Spoiler anzeigen new vehicle = GetPlayerVehicleID(playerid);Spoiler anzeigen new besitzer = GetCarOwner(vehicle);Spoiler anzeigen new Slot = GetCarOwnerSlot(besitzer, vehicle);Spoiler anzeigen if(vehicle == PlayerCar[besitzer][Slot][CarId])
{Spoiler anzeigen if(PlayerCar[besitzer][Slot][CarState] == 1)
{
FreezePlayer(playerid);
format(string, sizeof(string), COLOR_HEX_BLUE"Dieses Fahrzeug wurde abgeschleppt!\n"COLOR_HEX_WHITE"Um das Fahrzeug freizukaufen, benötigst du "COLOR_HEX_ORANGE"$2000"COLOR_HEX_WHITE"!\nKlicke nun auf \"Freikaufen\" um dein Fahrzeug zurück zu bekommen.");
ShowPlayerDialog(playerid, DIALOG_CAROAMT, DIALOG_STYLE_MSGBOX, COLOR_HEX_BLUE"Ordnungsamt", string, "Freikaufen", "Abbrechen");
}
}
}Spoiler anzeigen return 1;
}//Edit
Kann niemand helfen?PS: Habe die OnPlayerStateChange mal hinzugefügt.. <.<
//edit
Der Server ist vorhin erneut abgeschmiert, und das stand im Log:Code
Alles anzeigen[21:21:16] [debug] Run time error 4: "Array index out of bounds" [21:21:16] [debug] Accessing element at index 555 past array upper bound 4 [21:21:16] [debug] AMX backtrace: [21:21:16] [debug] #0 00080e84 in public OnPlayerStateChange () from visualtest.amx [21:21:17] [chat] [PLKing12]: em [21:21:18] [chat] [Eric.Stuberg]: ;) [21:21:21] [chat] [Eric.Stuberg]: was? [21:21:24] [chat] [PLKing12]: weist du wo [21:21:28] [chat] [Eric.Stuberg]: was? [21:21:36] [chat] [PLKing12]: man als farmer hin muss ? [21:21:40] [chat] [Eric.Stuberg]: ja [21:21:42] [chat] [Eric.Stuberg]: zur farm ;) [21:21:48] [chat] [PLKing12]: kannst du mich hinfahren? [21:21:50] [chat] [PLKing12]: pls [21:22:01] [chat] [PLKing12]: warum bin ich verhaftet ? [21:22:43] Incoming connection: 178.203.230.24:52160
Kann jemand helfen?
-
Wie wäre es mit dem toEdit? (Text Object Editor)
//Edit
Pastebin:
http://pastebin.com/Yyjcnet1 -
Den Spieler spawnen?
-
Bei OnGameModeInit einfach eine Schleife durch die Tabelle halt machen, und alle laden.
Das könnte ca. so aussehen:
format(query, sizeof(query), "SELECT `model`, `vX`, `vY`, `vZ`, `vR` FROM `vehicles`", [..]);
mysql_query(query);
mysql_store_result();
while(mysql_fetch_row_format(query))
{
//.. Laden usw
new vModel;
mysql_fetch_field_row(vModel, "model");
CreateVehicle();
}
mysql_free_result();Irgendwie so.
-
Attachments haben ja auch eine boneid, was bei den anderen Sachen nicht der Fall ist. Ambesten wäre sowas wie GetPlayerPosInfo o.ä wie bei Den anderen mit der Fahrzeug-Info da. Und eine boneid bei OnPlayerGiveDamage oderso
-
Z.B mit einem Gangzone Editor
-
Bei Nova e-Sports.
Man stirbt, landet aufm Friedhof in LS in einer anderen virtualworld und kann sich nicht auf die Straße usw bewegen. -
Garnicht, diese müsstest du dann für jeden Skin neu erstellen da jeder Skin eine unterschiedliche Größe hat.
-
Wenn du es wie bei Nova e-(Gammel)Sports meinst, SetPlayerWorldBoundries
-
SetPlayerWorldBoundries war das glaube ich. Oder Boundaries.
-
Gut, ich dachte schon eh.. xD
Close