Wird eh von Internetink geclosed / gelöscht, SoL Script = LoH Script - zu LoH Script sollen keine X-Scriptveröffentlichungen kommen.
Mach ihm einen Gefallen und lösch es selber ^^.
Beiträge von [SoL]Game
-
-
//Edit: War der falsche Pastebin-Link.
Der richtige: http://pastebin.com/P0Pte5Nx -
Hast du sscanf 2.0 richtig installiert?
Bei mir geht es hab auch die selbe Anleitung benutzt. -
Es funzt zwar bringt aber nichts. Das Tutorial ist vom aktuellen "abgeschaut" nur extra für Leute die kein Englisch können auf Deutsch.
Man kann zwar damit mappen aber im Server werden die Objekte nicht angezeigt da die IDs vertauscht sind, d.h. es bringt keinen weiter.
Dieses Problem kann man ganz leicht mit dem in Game Converter von Leong124
Anleitung (Made by Leong124 http://forum.sa-mp.com/showthread.php?t=196650) :- Wenn ihr mit dem Mappen fertig seid geht ihr in den Ordner, wo die .map Datei gespeichert wurde. Ihr kopiert die .map Datei und kopiert sie in euer Scriptfiles Ordner, wenn ihr das gemacht habt, müsst ihr die .map Datei in "source.map" umbenennen.
- Als nächstes müsst ihr (falls ihr es noch nicht habt) den sscanf 2.0 Plugin von y_less installieren (http://forum.sa-mp.com/showthread.php?t=120356)
- Für das Converten benötigt ihr einen Filterscript. Den findet ihr hier: http://pastebin.com/P0Pte5Nx. Einfach die Datei als mapconverter.pwn im Filterscripts Ordner speichern und dann Compilen.
- Wenn dies erledigt ist geht ihr ins Spiel rein, loggt euch als RCON Admin ein und gebt /loadfs mapconverter ein.
- Die Objekte sind nun alle im Scripfiles Ordner mit dem Namen "output.txt"
Die variante Funktioniert und ist auch sehr leicht anzuwenden.
Zum Tutorial von FoxHound:
Gut erklärtes Tutorial, ich würde die erste, leichtere Variante empfehlen.MfG
Game//EDIT: Wenn ihr nicht auf die Buttons klicken könnt, eventuell die neueste MTA Version herunterladen (war bei mir das Problem).
//EDIT²: Pastebin-Link gewechselt -
Super Anbieter.
Bei Problemen ist immer einer da, das Webinterface ist sehr gut gemacht.
Und seit dem der Server auf einem neuen Root ist läuft auch alles gut.9,9 / 10
-
Unter OnPlayerDisconnect:
new Spieler[MAX_PLAYER_NAME], string[50];
GetPlayerName(playerid, Spieler, sizeof(Spieler));
format(string, sizeof(string), "%s hat die Verbindung zum Server getrennt.",Spieler);
SendClientMessageToAll(DEINE_FARBE, string); -
Unter public OnPlayerConnect(playerid) :
new Spieler[MAX_PLAYER_NAME], string[50];
GetPlayerName(playerid, Spieler, sizeof(Spieler));
format(string, sizeof(string), "%s hat die Verbindung zum Server hergestellt.",Spieler);
SendClientMessageToAll(DEINE_FARBE, string); -
Also zum Error: Es muss GetVehicleHealth(vehicleid, health); heißen also:
format(string, sizeof(string), "~w~Geschwindigkeit: %d~w~ KM/H~n~Tankinhalt: ~w~%d ~b~/~w~ %d~w~~n~Zustand:~g~ %d~n~~w~Fahrzeug: ~w~%s",floatround(value/1400),Gas[vehicleid],GetGasMax(GetVehicleModel(vehicleid)),GetVehicleHealth(vehicleid,health)),VehicleName[GetVehicleModel(vehicleid)-400]);Zum Problem mit dem Textdraw:
Am Besten einfügen, dass wenn der Spieler in keinem Auto ist, der Textdraw ausgeblendet wird:
if(!IsPlayerInAnyVehicle(playerid))
{
TextDrawHideForPlayer(playerid, Tacho[playerid]);
return 1;
}MfG
Game -
Hier wird keine Koordinate abgefragt, sondern der Local.
pLocal = Biz ID + 99.Wenn du eine Koordinate haben willst dann änder das
if(PlayerInfo[playerid][pLocal] != 102)
{
SendClientMessage(playerid, COLOR_GREY, " Du bist nicht an der Bank !");
return 1;
}zu
if(!IsPlayerInRangeOfPoint(playerid, 5.0, X,Y,Z))
{
SendClientMessage(playerid, COLOR_GREY, " Du bist nicht an der Bank !");
return 1;
}Wenn du es beim Local lassen willst, muss du schauen welcher deiner Businesses die Biz ID 2 hat.
MfG
Game -
Probiers mal so:
if(strcmp(cmdtext, "/stunt1", true) == 0) -
Hier muss das hin:
if(PlayerInfo[i][pPaydayZeit] >= 60)
{
PayDay(i);
PlayerInfo[i][pPaydayZeit] = 0;
} -
Liegt dann wohl an den Warnings, post sie mal hier rein.
-
Bei OnPlayerLogin müsste das dort sein:
if(PlayerInfo[playerid][pReg] == 0)
{
PlayerInfo[playerid][pLevel] = 1;
PlayerInfo[playerid][pSHealth] = 0.0;
PlayerInfo[playerid][pHealth] = 99.0;
PlayerInfo[playerid][pPos_x] = 2246.6;
PlayerInfo[playerid][pPos_y] = -1161.9;
PlayerInfo[playerid][pPos_z] = 1029.7;
PlayerInfo[playerid][pInt] = 15;
PlayerInfo[playerid][pLocal] = 255;
PlayerInfo[playerid][pTeam] = 3;
PlayerInfo[playerid][pModel] = 212;
PlayerInfo[playerid][pPhousekey] = 255;
PlayerInfo[playerid][pPbiskey] = 255;
PlayerInfo[playerid][pAccount] = 0;
PlayerInfo[playerid][pReg] = 1;
GivePlayerMoney(playerid, 10000);
} -
Zuerst oben dein Objekt und den Status definieren:
new LSPDTor;
new bool:LSPDStatus;Dann bei OnGameModeInit das Objekt rein, ohne Objectstreamer mit CreateObject z.B.
CreateObject(Object ID, X, Y, Z, RotationX, RotationY, RotationZ);Als nächstes der Befehl unter OnPlayerCommandText:
if(strcmp(cmd, "/lspdtor", true) == 0)
{
if(LSPDStatus == false) //Wenn Tor zu
{
SendClientMessage(playerid, Farbe, "Tor geöffnet."); // Nachricht an Spieler
MoveObject(LSPDTor, X, Y, Z, Geschwindigkeit in MS); //Geöffneter Status - Der neue Ort, wo das Object sein soll
LSPDStatus = true; //Tor ist offen
}
else if(LSPDStatus == true) //Wenn Tor offen
{
SendClientMessage(playerid, Farbe, "Tor geschlossen."); // Nachricht
MoveObject(LSPDTor, X, Y, Z, Geschwindigkeit in MS); //Geschlossener Status - am Besten X Y Z vom Object, dass unter ONGameModeINit ist
LSPDStatus = false; //Tor ist zu
}
return 1;
}Die X Y Z einfach mit deinen Koordianten austauschen
Wiki-Links:
CreateObject
MoveObject
SendClientMessageMfG
Game -
Ganz oben im Script new MoneySpam[MAX_PLAYERS];
Sollte gehen//EDIT new vergeesen
-
Unter GameModeInit:
AddStaticVehicleEx(522, 2040.4073,1346.2791,10.6719, 316.4788, FARBE1, FARBE2, RESPAWNZEIT);
"Respawnzeit" mit der Zeit in der es ohne Fahrer respawnen soll ersetzen (in Millisekunden)
Und Farbe1 und Farbe 2 mit den Farb IDs, siehe unten.Siehe auch:
AddStaticVehicleEx
Farben
Model ID's//EDIT: Angle von 0 auf 316.4788
MfG
Game -
Probier mal ganz oben
new Dtc_LockOnSpawn = 1; einzufügen bzw, wenn an der Stelle eine "0" ist zu einer "1" zu machen. -
new Text:Textdraw0;
//EDIT: Obersalzberg war schneller
-
Entweder unter der Klammer also:
public OnGameModeInit
{
//Hieroder ganz unten vorm Return:
//hier
return 1;
}oder auch dazwischen, muss nur unter dem Public sein.
Damits halt übersichtlicher ist am Besten oben oder unten, ist aber egal.Wenn du außerdem willst, dass es dann gleich allen angezeigt wird, einach noch
TextDrawShowForAll(Textdraw0);
hinzufügen. -
Wenn du die Includes hast, dann sollten auch die Warnings weg sein.
MfG
Game