Getin

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
  • Hey Leute,
    ich bin neu in der Scripting Welt, und komme allein nicht weiter. Es geht um den /getin Befehl. Es gibt zwar ähnliche Fälle, die helfen mir aber nicht weiter. Am anfang dachte ich, dass ich den Befehl fertig hätte, dann ist mir aber aufgefallen dass ich den Typen von überall ins Auto setzen kann. Ich wollte es irgendwie ändern da komme ich aber nicht weiter. Also mein Befehl sieht so aus:
    ocmd:getin(playerid,params[])
    {
    new pID,sitz,vehID,string[128],bst[128];
    if(sscanf(params,"ui",pID,sitz)) return SendClientMessage(playerid,grau,"Benutze: /getin [PlayerID] [Sitz: 1=Vorne Rechts, 2=Hinten Links, 3=Hinten Rechts]");
    else if(playerid==pID) return SendClientMessage(playerid,dunkelrot,"Du kannst dich nicht selbst in den Wagen zerren");
    else if(!IsPlayerConnected(pID)) return SendClientMessage(playerid,dunkelrot,"Dieser Spieler ist nicht online.");
    else if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,dunkelrot,"Du bist in keinem Auto");
    else if(GetDistanceBetweenPlayers(playerid,pID)>5.0) return SendClientMessage(playerid,rot,"Du bist zu weit vom Spieler entfernt");
    else
    {
    vehID=GetPlayerVehicleID(playerid);
    PutPlayerInVehicle(pID,vehID,sitz);
    TogglePlayerControllable(pID,0);
    format(string,sizeof(string),">>%s hat dich ins Auto gesetzt<<",SpielerName(playerid));
    format(bst,sizeof(bst),">>Du hast %s erfolgreich ins Auto gesetzt<<",SpielerName(pID));
    SendClientMessage(playerid,grün,bst);
    SendClientMessage(pID,dunkelrot,string);
    }
    return 1;
    }


    Mein Fehler:
    C:\Dokumente und Einstellungen\Administrator\Desktop\samp03dsvr_R2_win32\gamemodes\tutorial.pwn(199) : error 017: undefined symbol "GetDistanceBetweenPlayers"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


    1 Error.

    Dieser wäre in der achten Zeile meines befehls. Ich weiß nicht wie ich es mit der Distanz regeln kann, könnte mir da einer helfen?
    Wie gesagt bin ich neu und ziemlich Ahnungslos, also bitte eher normal erklären.



    mfg Teddy :)

  • Dir fehlt einfach nur die Bezeichnung für GetDistanceBetweenPlayers.



    Mach oben ins Script das:
    forward Float:GetDistanceBetweenPlayers(p1,p2);


    & unten das:

    public Float:GetDistanceBetweenPlayers(p1,p2)
    {
    new Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2;
    if(!IsPlayerConnected(p1) || !IsPlayerConnected(p2))
    {
    return -1.00;
    }
    GetPlayerPos(p1,x1,y1,z1);
    GetPlayerPos(p2,x2,y2,z2);
    return floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2));
    }