[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
  • Hättest du mal so ein kleines Beispiel wie das ganze Aussehen würde? Sprich Spieler anzeigen usw.
    Dazu ist ja im Godfather es üblich das in den meisten Befehlen eine Abfrage drinnen ist ob der Spieler connected ist (IsPlayerConnected) wenn man das ausklammert dann ist das doch theoretisch so als ob man den Spieler auch offline kicken kann oder irre ich mich da Jeffry:

  • Du musst eine Schleife durch die Datei Pfade machen. Ich kann dir zwar ein Beispiel geben, aber das wird dir nicht helfen, wenn dein System komplett anders aufgebaut ist.


    Versuche dich mal daran, eine Schleife durch die Dateien hinzubekommen. Wenn da oder danach Fragen aufkommen, dann erstelle bitte einen neuen Thread und erkläre woran du hängst, das gehört dann nicht mehr hier rein.

  • Hallo, habe jetzt auch probiert den Spieler ganz normal unter OnPlayerSpawn spawnen zu lassen.
    Funktioniert natürlich auch. Nur sehe ich ganz kurz wie er in LV steht, an dem Standardspawn.
    Dann spawnt er erst an der gewünschten Position...
    Kann ich das umgehen ?

  • Ist nichts drin.

    public OnPlayerRequestClass(playerid, classid)
    {
    TogglePlayerSpectating(playerid, 1);
    InterpolateCameraPos(playerid, 662.793823, -1230.628906, 103.279098, 487.261230, -1540.240234, 49.741668, 17000);
    InterpolateCameraLookAt(playerid, 659.840881, -1234.597167, 102.549331, 487.067871, -1535.948242, 47.184101, 17000);
    return 1;
    }

  • public OnPlayerSpawn(playerid)
    {
    if(!isPlayerInFrakt(playerid,0) && sInfo[playerid][spawnchange]==1)
    {
    new fID;
    fID = sInfo[playerid][fraktion];
    SetPlayerPos(playerid, fInfo[fID][f_x],fInfo[fID][f_y],fInfo[fID][f_z]);
    SetPlayerInterior(playerid,fInfo[fID][f_interior]);
    }
    else if(sInfo[playerid][spawnchange]==0)
    {
    SetPlayerPos(playerid, fInfo[0][f_x],fInfo[0][f_y],fInfo[0][f_z]);
    SetPlayerFacingAngle(playerid,fInfo[0][f_r]);
    SetPlayerInterior(playerid,0);
    }
    else if(sInfo[playerid][spawnchange]==2)
    {
    for(new i=0; i<sizeof(hInfo); i++)
    {
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    if(!hInfo[i][h_id])continue;
    if(!strlen(hInfo[i][h_besitzer]))continue;
    if(strcmp(hInfo[i][h_besitzer],name,true))continue;
    SetPlayerPos(playerid, hInfo[i][h_ix],hInfo[i][h_iy],hInfo[i][h_iz]);
    SetPlayerInterior(playerid,hInfo[i][h_interior]);
    SetPlayerVirtualWorld(playerid,i);
    }
    }
    return 1;
    }
    Spawnen lasse ich ihn dann einfach mit SpawnPlayer




    Das ist aber wirklich nur ganz ganz kurz, fällt vielen fast nicht auf. Vielleicht geht das ja auch nicht weg ?

  • Da funktioniert es, habe ich auch erst gemacht.
    Nur das Problem war jetzt habe ich das Haussystem eingebaut und jetzt muss ich ja den Interior hinzufügen.


    Das Problem tritt ja auch z.B. auf wenn man stirbt. Für den Fall muss ich ja den Interior bei OnPlayerSpawn setzen.
    Dann kann das Problem auftreten dass er wegen SetSpawnInfo mit den Koordinaten ins Haus gesetzt wird und ganz kurz danach
    erst der Interior gesetzt wird. Deshalb fällt man manchmal durch...

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Wie kann ich einen Spieler den Server verlassen lassen?


    So das er automatisch "/q" eingibt ?


    Dachte jetzt SendRconCommand("/q");


    Und wie kann ich es umgehen, dass ein Spieler bei OnPlayerRequestedClass "Spawn" drücken kann?



    Mit freundlichen Grüßen



    Die heutigen Noobs, sind die Profis von morgen! :thumbup:


    Danke an Jeffry für seine ständige Hilfsbereitschaft und freundliche Art. 8)

  • Kaliber:


    Wenn ich return 0; mache wird er trotz SpawnPlayer(playerid); nicht mehr gespawnt.
    Das spawnplayer mache ich dort, nachdem er sein PW beim Einloggen/Reg. eingegeben hat.



    Mit freundlichen Grüßen



    Die heutigen Noobs, sind die Profis von morgen! :thumbup:


    Danke an Jeffry für seine ständige Hilfsbereitschaft und freundliche Art. 8)

  • Zitat

    Das Problem tritt ja auch z.B. auf wenn man stirbt. Für den Fall muss ich ja den Interior bei OnPlayerSpawn setzen.
    Dann kann das Problem auftreten dass er wegen SetSpawnInfo mit den Koordinaten ins Haus gesetzt wird und ganz kurz danach
    erst der Interior gesetzt wird. Deshalb fällt man manchmal durch...


    Natürlich musst du auch mit SetPlayerInterior arbeiten.


    mfg :thumbup:



  • Danke für die Antwort, jedoch brauche ich tatsächlich eine richtige Liste und keine möglichkeit abzufragen, ob der Skin männlich oder weiblich ist :)


    Möchte eine Skin-Auswahl machen mit mSelection von D0erfler und brauche die dafür :P


    Mit freundlichen Grüßen


    Madretsma



    EDIT: Habe etwas gefunden, trotzdem vielen Dank!


    Für die, die es ebenfalls brauchen:



    IM AUFBAU!

  • Guten Tag,


    alle Auto Befehle gehen nicht.. Hier ist einer davon:


    CMD:carlock(playerid,params[])
    {
    if(PlayerInfo[playerid][pCarKey] == 1)
    {
    if(PlayerInfo[playerid][pKey] == 0) return Nachricht(playerid, cLIGHTRED,"Du besitzt kein Auto !");
    new Float: X, Float: Y, Float: Z;
    GetVehiclePos(PlayerInfo[playerid][pKey], X, Y, Z);
    if(PlayerToPoint(10.0, playerid, X, Y, Z))
    {
    new zengine, zlights, zalarm, zdoors, zbonnet, zboot, zobjective;
    GetVehicleParamsEx(PlayerInfo[playerid][pKey], zengine, zlights, zalarm, zdoors, zbonnet, zboot, zobjective);
    if(doors == 0)
    {
    SetVehicleParamsEx(PlayerInfo[playerid][pKey], zengine, zlights, zalarm, 1, zbonnet, zboot, zobjective);
    GameTextForPlayer(playerid, "~r~Abgeschlossen", 5000, 5);
    }
    else
    {
    SetVehicleParamsEx(PlayerInfo[playerid][pKey], zengine, zlights, zalarm, 0, zbonnet, zboot, zobjective);
    GameTextForPlayer(playerid, "~g~Aufgeschlossen", 5000, 5);
    }
    }
    else return Nachricht(playerid, cLIGHTRED,"Du befindest dich nicht in der Nähe von deinem Auto !");
    }
    else if(PlayerInfo[playerid][pCarKey] == 2)
    {
    if(PlayerInfo[playerid][pKey2] == 0) return Nachricht(playerid, cLIGHTRED,"Du besitzt kein Auto !");
    new Float: X, Float: Y, Float: Z;
    GetVehiclePos(PlayerInfo[playerid][pKey2], X, Y, Z);
    if(PlayerToPoint(10.0, playerid, X, Y, Z))
    {
    new zengine, zlights, zalarm, zdoors, zbonnet, zboot, zobjective;
    GetVehicleParamsEx(PlayerInfo[playerid][pKey2], zengine, zlights, zalarm, zdoors, zbonnet, zboot, zobjective);
    if(doors == 0)
    {
    SetVehicleParamsEx(PlayerInfo[playerid][pKey2], zengine, zlights, zalarm, 1, zbonnet, zboot, zobjective);
    GameTextForPlayer(playerid, "~r~Abgeschlossen", 5000, 5);
    }
    else
    {
    SetVehicleParamsEx(PlayerInfo[playerid][pKey2], zengine, zlights, zalarm, 0, zbonnet, zboot, zobjective);
    GameTextForPlayer(playerid, "~g~Aufgeschlossen", 5000, 5);
    }
    }
    else return Nachricht(playerid, cLIGHTRED,"Du befindest dich nicht in der Nähe von deinem Auto !");
    }
    else if(PlayerInfo[playerid][pCarKey] == 3)
    {
    if(PlayerInfo[playerid][pKey3] == 0) return Nachricht(playerid, cLIGHTRED,"Du besitzt kein Auto !");
    new Float: X, Float: Y, Float: Z;
    GetVehiclePos(PlayerInfo[playerid][pKey3], X, Y, Z);
    if(PlayerToPoint(10.0, playerid, X, Y, Z))
    {
    new zengine, zlights, zalarm, zdoors, zbonnet, zboot, zobjective;
    GetVehicleParamsEx(PlayerInfo[playerid][pKey3], zengine, zlights, zalarm, zdoors, zbonnet, zboot, zobjective);
    if(doors == 0)
    {
    SetVehicleParamsEx(PlayerInfo[playerid][pKey3], zengine, zlights, zalarm, 1, zbonnet, zboot, zobjective);
    GameTextForPlayer(playerid, "~r~Abgeschlossen", 5000, 5);
    }
    else
    {
    SetVehicleParamsEx(PlayerInfo[playerid][pKey3], zengine, zlights, zalarm, 0, zbonnet, zboot, zobjective);
    GameTextForPlayer(playerid, "~g~Aufgeschlossen", 5000, 5);
    }
    }
    else return Nachricht(playerid, cLIGHTRED,"Du befindest dich nicht in der Nähe von deinem Auto !");
    }
    return 1;
    }


    (Es kommen keine Warnings/Errors)