Hab grad ein Problem bei einer eher leichteren Sache.
Ich würd gerne einen /invite Befehl & einen /accept Befehl machen. Hätte da jemand ein kleines Beispiel? Ich hab schon was, das klappt aber gar nicht (auch wenn es keine Errors/Warnings gibt)
[SAMMELTHREAD] Kleine Scripting Fragen
- Rafelder
- Unerledigt
Dein Problem konnte durch einen User gelöst werden? Bedank dich bei ihm indem du seinen Beitrag als Hilfreich markierst sowie einen Daumen oben dalässt
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!
Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
-
-
Setz in PVar einfach den User der den Invite ausspricht, die Farktionsid
Und dann fragst du ab ob er invitet wurde wenn ja
setzt du ihn in den Team (dafür die PVar variable nutzen) und sendest den typ der den invitet hat ne message da die playerid von den inviter auch in nen pvar gesetzt wurde
Am ende die PVars löschen und schon funkt alles -
Amx Datei erstellen: In das Script gehen (.pwn Datei) und dann F5 drücken.
Wenn alles richtig ist, wird dir eine .amx Datei dort erstellt, wo du es auch speicherst auf deinen Rechner.Wenn du Scripting Neuling bist, empfehle ich dir nicht, das BaySide Roleplay Script weiterhin zu probieren.
Es hat einige Fehler und läuft auch auf MySQL, welches auch einige Fehler beinhaltet, welche du eher nicht raus bringen wirst als Neuling.Server.cfg: Du musst auch alles genau eintragen, da der Server von dieser .cfg Datei alles ausliest und erst dann den Server startet
-
Hey ich bin ein Script neuling, und habe vollgendesproblem:
SA-MP Dedicated Server
----------------------
v0.3x, (C)2005-2013 SA-MP Team[20:22:48] filterscripts = "" (string)
[20:22:48]
[20:22:48] Server Plugins
[20:22:48] --------------
[20:22:48] Loading plugin: mysql
[20:22:48]> MySQL plugin R5 successfully loaded.
[20:22:48] Loaded.
[20:22:48] Loading plugin: streamer
[20:22:48]*** Streamer Plugin v2.6 by Incognito loaded ***
[20:22:48] Loaded.
[20:22:48] Loaded 2 plugins.[20:22:48] I couldn't load any gamemode scripts. Please verify your server.cfg
[20:22:48] It needs a gamemode0 line at the very least.und ich kriege irgendwie keine amx hin.
Hoffentlich kann mir jemand helfen.
Teamviewer vorhanden, falls es mir jemand machen will.
hier meine Server.cfg:
echo Executing Server Config...
lanmode 0
rcon_password hallo
maxplayers 500
port 7777
hostname Bayside-Roleplay
gamemode0 bsrp
filterscripts
announce 1
query 1
weburl nemesus-scripts.de
onfoot_rate 40
incar_rate 40
weapon_rate 40
stream_distance 300.0
stream_rate 1000
maxnpc 100
plugins mysql streamer
mapname Nemesus-Scripts.de
Hau das mal in die "gamemode" Zeile:
siehe http://wiki.sa-mp.com/wiki/Server.cfg --> gamemode(n)(N)(t) -
Hallo Leute,
ihr kennt doch sicher auch das nervige Spawnauswahlsfenster?
Dieses Fenster habe ich damit deaktiviert.
public OnPlayerRequestClass(playerid, classid)
{
SetSpawnInfo(playerid,0,0,1958.3783, 1343.1572, 15.3746,0,0,0,0,0,0,0);
SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
SpawnPlayer(playerid);
return 1;
}
Nun ist das aber so wen ich mich einlogge schau ich über Ls und muss mich einloggen.
Ich
gebe ein falsches Passwort ein und werde schon 1958.3783, 1343.1572,
15.3746 dahin gesetzt und schaue nicht mehr über Ls aber muss trotzdem
noch mein Passwort eingeben woran liegt das? -
Probiers mal so:
public OnPlayerRequestClass(playerid, classid)
{
SetSpawnInfo(playerid,0,0,1958.3783, 1343.1572, 15.3746,0,0,0,0,0,0,0);
SpawnPlayer(playerid);
return 1;
} -
Geht leider nicht!
-
So ich hab mal 2 Fragen
Wie frage ich wo der am nahesten zum Spieler Punkt ist?
Beispiel ein
enum data{
Float:x,
Float:y,
Float:z,
}
new BSP[ZAHL][data];So jez muss man die GetPlayerPos iwie vergleichen was am nächsten ist?
Zweite Frage wie kann ich Abfragen ob die Ration UNGEFÄHR gleich ist wie das Facing Angle
Danke euch
-
for schleife durch die BSP
User pos holen
PlayerToPoint abfrage
mit der Rotation nummst du einfach den
GetPlayerCameraPos
und
GetPlayerCameraFrontVector -
mit der Rotation nummst du einfach den
GetPlayerCameraPos
und
GetPlayerCameraFrontVectorKannst du mir da nen Beispiel machen das erste habe icch kapiert
-
Du könntest dir ja mal das anschauen
http://forum.sa-mp.de/san-andr…eschnipsel-45#post1472861
Das ist sowas ähnliches -
Ist das wo ih mit meiner Camera schau ebsp wenn ich q und e drücke ist die cmaera dahinten denn ich will das für ein Blitzersystem machen und ein Blitzer kann shclacht hinten Blitzen?
-
Hab hier noch eine Frage:
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(newkeys & KEY_SECONDARY_ATTACK)
{
if(IsPlayerInRangeOfPoint(playerid, 3, -1605.5076,710.7003,13.8672)) ///SFPD EINGANG////
{
SetPlayerInterior(playerid, 10);
SetPlayerVirtualWorld(playerid, 2);
SetPlayerPos(playerid, 246.3739,109.2477,1003.21889);
}
else
{
if(IsPlayerInRangeOfPoint(playerid, 3, 246.3739,109.2477,1003.2188)) ///SFPD AUSGANG////
SetPlayerInterior(playerid, 0);
SetPlayerVirtualWorld(playerid, 0);
SetPlayerPos(playerid, -1605.5076,710.7003,13.8672);
}
if(IsPlayerInRangeOfPoint(playerid, 3, -2055.3606,452.9065,35.1719)) ////ARBEITSAMT EINGANG////
{
SetPlayerInterior(playerid, 10);
SetPlayerVirtualWorld(playerid, 3);
SetPlayerPos(playerid, 246.3739,109.2477,1003.21889);
}
else
{
if(IsPlayerInRangeOfPoint(playerid, 3, 246.3739,109.2477,1003.21889)) ///ARBEITSAMT AUSGANG///
SetPlayerInterior(playerid, 0);
SetPlayerVirtualWorld(playerid, 0);
SetPlayerPos(playerid, -2055.3606,452.9065,35.1719);
}
}
return 1;
}Da ich für SFPD & Arbeitsamt das gleiche Interior nutze, hab ich beide Interiors in verschiedene Virtual Worlds gesetzt. Wenn ich jetzt jedoch z.B. das SFPD verlasse werde ich zum Arbeitsamt geportet.
Wie verhindere ich das? -
@[DT]Beavis;
Also wie Wanele ich das denn jetzt um, damit es die FLoats returnt?
stock IsViewInRangeOfPointa(playerid, Float: r, Float: x, Float: y, Float: z){
new Float:GP[3], Float:GPCFV[3], Float: Output[3], Float: fcarpos[3], fcar;
fcar = GetPlayerVehicleID(playerid);
const Float: weite = 30.0; //4.0, 5.0
GetVehiclePos(fcar,fcarpos[0],fcarpos[1],fcarpos[2]);
GetPlayerCameraPos(playerid, GP[0], GP[1], GP[2]);
GetPlayerCameraFrontVector(playerid, GPCFV[0], GPCFV[1], GPCFV[2]);
Output[0] = GP[0] + floatmul(GPCFV[0], weite);
Output[1] = GP[1] + floatmul(GPCFV[1], weite);
Output[2] = fcarpos[2];
if(FKInfo[Aim_Feuerwehrauto] == 1){ SetPlayerCheckpoint(playerid, Output[0], Output[1], Output[2], r);}
if((Output[0] - x)*(Output[0] - x) + (Output[1] - y)*(Output[1] - y) <= r*r && Output[2] <= z) return 1;
else return 0;
}Brauche jetzt die Player Rotation
-
Hallo Leute,
ich habe ein Problem.
Undzwar ich habe funktionen wie SpielerSpeichern und SpielerLaden.
Sobald ich mir Manuel das Adminlevel 5 gebe und dannach Ingame gehe habe ich das Level.
Wen ich aber Gmx in der Konsole oder Ingame mache resetet sich dies.
Aber wen ich LoadAcoount(playerid)
{
new Spielerdatei[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
SetPlayerScore(playerid,dini_Int(Spielerdatei,"Level"));
GivePlayerMoney(playerid,dini_Int(Spielerdatei,"Geld"));
SetPVarInt(playerid,"Adminlevel",dini_Int(Spielerdatei,"Adminlevel"));
SetPVarInt(playerid,"Fraktion",dini_Int(Spielerdatei,"Frakiton"));
SetPVarInt(playerid,"Banned",dini_Int(Spielerdatei,"Banned"));
if(GetPVarInt(playerid,"Banned")==1)
{
SendClientMessage(playerid,0xFF1400FF,"Dieser Account ist gebannt.");
Kick(playerid);
}
return 1;
}stock SpielerSpeichern(playerid)
{
new Spielerdatei[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
dini_IntSet(Spielerdatei,"Level",GetPlayerScore(playerid));
dini_IntSet(Spielerdatei,"Geld",GetPlayerMoney(playerid));
dini_IntSet(Spielerdatei,"Adminlevel",GetPVarInt(playerid,"Adminlevel"));
dini_IntSet(Spielerdatei,"Fraktion",GetPVarInt(playerid,"Fraktion"));
dini_IntSet(Spielerdatei,"Banned",GetPVarInt(playerid,"Banned"));
return 1;
} -
Wie verhindere ich das?
abfragen ob er auch in der Virtuellen Welt sitzt
bsp:
if(IsPlayerInRangeOfPoint(playerid, 3, 246.3739,109.2477,1003.2188) && GetPlayerVirtualWorld(playerid)==2) ///SFPD AUSGANG//// -
&& GetPlayerVirtualWorld(playerid)==2)
Hab ich, wird aber irgendwie trotzdem zum Arbeitsamt geportet. Betrete ich dann das eigentliche Arbeitsamt, bin ich dann im richtigen Interior. -
Hallo Leute,
ihr kennt doch sicher auch das nervige Spawnauswahlsfenster?
Dieses Fenster habe ich damit deaktiviert.
public OnPlayerRequestClass(playerid, classid)
{
SetSpawnInfo(playerid,0,0,1958.3783, 1343.1572, 15.3746,0,0,0,0,0,0,0);
SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
SpawnPlayer(playerid);
return 1;
}Nun ist das aber so wen ich mich einlogge schau ich über Ls und muss mich einloggen.
Ich gebe ein falsches Passwort ein und werde schon 1958.3783, 1343.1572,
15.3746 dahin gesetzt und schaue nicht mehr über Ls aber muss trotzdem
noch mein Passwort eingeben woran liegt das?Mach bei OnPlayerConnect einmal TogglePlayerSpectating(playerid, 1); und wenn er erfolgreich eingeloggt ist machst du dann TogglePlayerSpectating(playerid, 0);
Mfg
-
Habe das Problem mit dem Save herausgefunden es savet das Adminlevel nicht aber wieso?
-
Hab endlich alle Probleme gelöst, da kommt ein neues. Das Geld wird einfach nicht dem Spieler gegeben, was mach ich falsch?
new Geld = SpielerInfo[playerid][pGeld];
GivePlayerMoney(playerid, Geld); -