[SAMMELTHREAD] Kleine Scripting Fragen

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
  • 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)

    [tabmenu][tab='Angebote',http://images-1.findicons.com/files/icons/1722/gnome_2_18_icon_theme/48/stock_new_meeting.png][subtab='CMS und Forumsystem',http://icons.iconarchive.com/icons/uribaani/realm/128/Control-panel-icon.png]Installationen & Forumlösung - Forumthread

  • 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 ;)

    All in all it's just another brick in the wall

  • @Javier.Caruzo


    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


  • Hau das mal in die "gamemode" Zeile:

    Code
    gamemode0 bsrp 1


    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?

  • So ich hab mal 2 Fragen :D


    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

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • 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?

    [tabmenu][tab='Angebote',http://images-1.findicons.com/files/icons/1722/gnome_2_18_icon_theme/48/stock_new_meeting.png][subtab='CMS und Forumsystem',http://icons.iconarchive.com/icons/uribaani/realm/128/Control-panel-icon.png]Installationen & Forumlösung - Forumthread

  • @[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;
    }

  • && GetPlayerVirtualWorld(playerid)==2)


    Hab ich, wird aber irgendwie trotzdem zum Arbeitsamt geportet. Betrete ich dann das eigentliche Arbeitsamt, bin ich dann im richtigen Interior.

    [tabmenu][tab='Angebote',http://images-1.findicons.com/files/icons/1722/gnome_2_18_icon_theme/48/stock_new_meeting.png][subtab='CMS und Forumsystem',http://icons.iconarchive.com/icons/uribaani/realm/128/Control-panel-icon.png]Installationen & Forumlösung - Forumthread


  • Mach bei OnPlayerConnect einmal TogglePlayerSpectating(playerid, 1); und wenn er erfolgreich eingeloggt ist machst du dann TogglePlayerSpectating(playerid, 0);



    Mfg

  • 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);

    [tabmenu][tab='Angebote',http://images-1.findicons.com/files/icons/1722/gnome_2_18_icon_theme/48/stock_new_meeting.png][subtab='CMS und Forumsystem',http://icons.iconarchive.com/icons/uribaani/realm/128/Control-panel-icon.png]Installationen & Forumlösung - Forumthread

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen