Das Radio ausschalten ist per PlayerPlaySound möglich. Versuch mal Soundid 1181 zum Ausschalten und 1182 zum Anschalten
Beiträge von Haxler
-
-
Oder das hier: http://forum.sa-mp.com/showthread.php?t=428066
-
Seit 0.3d (oder so) gibts das Einkaufzentrum ohne Eingänge. Einfach mal das neue Objekt suchen und mit dem alten ersetzen
edit: http://www.k-dst.de/kategorien.php?kat=Mall&ver=SA:MP%200.3d -
SA-MP Dedicated Server
----------------------
v0.3d, (C)2005-2011 SA-MP Team
sagt doch schon alles. Du brauchst nicht nur die richtigen Includes, sondern auch den richtigen Server. Update mal die samp-server.exe (bzw. auch announce.exe und samp-npc.exe) -
format(FCInfo[idx][Model], 16, val);
format(FCInfo[idx][Color1], 16, val);
format(FCInfo[idx][Color2], 16, val);
format(FCInfo[idx][Fraktion], 26, val);
format(FCInfo[idx][Carid], 16, val);
format(FCInfo[idx][Kosten], 16, val);
fällt dir was auf? Versuchs mal mit strval
FCInfo[idx][Model] = strval(val); //etc. -
Erstell dir einfach ein Script dafür (musst aber darauf achten dass du keine anderen Objekte erstellst):
#include <a_samp>main()
{
}
public OnGameModeInit()
{
new first = CreateObject(1337,5.0,12.0,55.0,0.0,0.0,0.0); //Erstes Objekt
CreateObject(1337,5125.0,412.0,255.0,0.0,0.0,0.0); //Weitere Objekte
CreateObject(1337,15.0,142.0,525.0,0.0,0.0,0.0);
new last = CreateObject(1337,52.0,152.0,552.0,0.0,0.0,0.0); //Letzes Objekt
new Float:x, Float:y, Float:z;
for(;first<=last;first++)
{
GetObjectPos(first, x, y, z);
printf("%f,%f,%f",x,y,z);
}
return 1;
}
den Gamemode startest du einfach und schon hast du alle Koordinaten im Server-Log.
Beachte aber, dass Samp ein Objekt-Limit von 1000 Objekten hat. -
if(!fexist(datei))
Du lädst nur aus der Datei, wenn diese nicht existiert.
stock LoadItems(Item)
{
new datei[128];
format(datei, 128, "/Items/%d.txt", Item);
if(fexist(datei)) //So stimmts
{
sItem[Item][Type] = dini_Int(datei, "Type");
sItem[Item][SpawnX] = dini_Float(datei, "PosX");
sItem[Item][SpawnY] = dini_Float(datei, "PosY");
sItem[Item][SpawnZ] = dini_Float(datei, "PosZ");
sItem[Item][Pickup] = CreatePickup(854, 2, sItem[Item][SpawnX], sItem[Item][SpawnY], sItem[Item][SpawnZ], 0);
print("Item Geladden");
}
return 1;
} -
Liegt die Ban-Datei im Scriptfiles-Ordner? Falls ja:
IsInFile(ip[], file[])
{
new File:fBan = fopen(file,io_read);
new buff[16];
while(fread(fBan, buff))
{
if(!strcmp(ip,buff))return fclose(fBan),1;
}
return fclose(fBan),0;
}
//...
printf("BAN: %d",IsInFile("009.009.009.009","ban.txt"));
Gibt 1 zurück, falls die IP gefunden wurde. -
Schau dir mal die RNPC.pwn Datei in npcmodes an.
z.B.:
public OnRecordingPlaybackEnd()
{
SendCommand("RNPC:002");
if (repeat) {
new rec[9];
if (vehicle) {
StartRecordingPlayback(PLAYER_RECORDING_TYPE_DRIVER, curplayback);
format(rec, 9, "RNPC:201");
} else {
StartRecordingPlayback(PLAYER_RECORDING_TYPE_ONFOOT, curplayback);
format(rec, 9, "RNPC:202");
}
SendCommand(rec);
}
} -
Was wird denn in PlayerInfo[playerid][pLeader] gespeichert? Die Fraktions-ID oder 0/1 (true/false) ?
-
Stimmt, daran hatte ich nicht gedacht^^
-
Dann müsste er aber den Index zwischenspeichern, da die Variable ( i ) nach der Schleife nichtmehr verfügbar ist.
-
Die Schleife wird aber abgebrochen, sobald eine Datei erstellt wurde (return), was ja auch der Sinn an der Funktion ist
-
apoolecu: Was soll an seiner Funktion falsch sein? Den Fehler haben wir ihm schon gezeigt, in CreateItems gibt es keinen Fehler. Beim Erstellen wird in einer Schleife überprüft ob die Datei existiert, wenn nicht wird sie erstellt und die Schleife mit return abgebrochen.
-
stock LoadItems(Item)
{
new Navidatei[16]; //16 Zeichen reichen
format(Navidatei, 16, "/Items/%i.txt", Item);
if(!fexist(Navidatei))return 0; //Datei existiert nicht, abbrechen
//-> Datei existiert, Ladevorgang
sItem[Item][Type] = dini_Int(Navidatei, "Type");
sItem[Item][SpawnX] = dini_Float(Navidatei, "PosX");
sItem[Item][SpawnY] = dini_Float(Navidatei, "PosY");
sItem[Item][SpawnZ] = dini_Float(Navidatei, "PosZ");
sItem[Item][Pickup] = CreatePickup(854, 2, sItem[Item][SpawnX], sItem[Item][SpawnY], sItem[Item][SpawnZ], 0);
return 1;
} -
stock LoadItems(Item)
{
new Navidatei[128];
format(Navidatei, 128, "/Items/%i.txt", Item);
if(!fexist(Navidatei))
{
dini_Create(Navidatei);
sItem[Item][Type] = dini_Int(Navidatei, "Type");
sItem[Item][SpawnX] = dini_Float(Navidatei, "PosX");
sItem[Item][SpawnY] = dini_Float(Navidatei, "PosY");
sItem[Item][SpawnZ] = dini_Float(Navidatei, "PosZ");
sItem[Item][Pickup] = CreatePickup(854, 2, sItem[Item][SpawnX], sItem[Item][SpawnY], sItem[Item][SpawnZ], 0);
}
return 1;
}
wieso erstellst du die Datei beim Laden, falls sie nicht vorhanden ist? -
408 ist das Fahrzeugmodell, was du abfragst ist die Fahrzeug-ID.
Nutze GetVehicleModel(GetPlayerVehicleID(playerid)) um das Modell des aktuellen Fahrzeuges herrauszufinden. -
forward LoginMenu(playerid);
public LoginMenu(playerid)
{
//Dein Code
return 1;
}SetTimerEx("LoginMenu", 15500, 0, "d", playerid); //Ausführen, wenn der Timer gestartet werden soll (OnPlayerConnect?)
Kleiner Tipp: Wenn du bei Beitragverfassen auf den PWN-Button klickst, kannst du deinen Code übersichtlich darstellen.
-
Du erfarmst dir auch nur Beiträge ne? Was ist wenn der Hoster die Datei nicht installiert hat bzw. das Plugin nicht unterstützt?
-
Kann auch sein, dass dein Script eine ältere Version verwendet und die neuere die Funktion nichtmehr unterstützt. Am besten schaust du in den Include-Dateien nach der Version (falls diese dort eingetragen ist) und suchst dir das passende Plugin.