Abschleppsystem + kidnapsystem+"Versteckte Teams" mit gTeam

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
  • Hi,
    ich suche jemanden, der mir ein Abschleppsystem und ein kidnapsystem erstellt.


    Infos zum Abschleppsystem:
    Wenn man in einem Schlepper sitzt, muss man eine Taste drücken oder ein Befehl eingeben, damit ein Wagen, der in der nähe des Harken ist, am harken ist (schlechtes Deutsch :D )


    Infos zum kidnapsystem:
    Wenn man in einem Wagen sitzt und nahe genug an einem Spieler ist, kann man /kidnap eingeben, damit der Spieler hinten im Wagen sitzt und gefreezt ist.


    Ich hoffe ihr könnt das etwas nachvollziehen und mir Scripte anbieten.
    MfG Thomas3000

  • Hier ist Abschleppen
    if(!strcmp("/tow",cmdtext,true))
    {
    if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 525)
    {
    new Float:pX,Float:pY,Float:pZ;
    GetPlayerPos(playerid,pX,pY,pZ);
    new Float:vX,Float:vY,Float:vZ;
    new Found=0;
    new vid=0;
    while((vid<MAX_VEHICLES)&&(!Found))
    {
    vid++;
    GetVehiclePos(vid,vX,vY,vZ);
    if((floatabs(pX-vX)<7.0)&&(floatabs(pY-vY)<7.0)&&(floatabs(pZ-vZ)<7.0)&&(vid!=GetPlayerVehicleID(playerid)))
    {
    Found=1;
    if(IsTrailerAttachedToVehicle(GetPlayerVehicleID(playerid)))
    {
    return DetachTrailerFromVehicle(GetPlayerVehicleID(playerid));
    }
    AttachTrailerToVehicle(vid,GetPlayerVehicleID(playerid));
    SendClientMessage(playerid,0xFFFF00AA,"Fahrzeug am Hänger!");
    return 1;
    }
    }
    if(!Found)
    {
    return SendClientMessage(playerid,COLOR_GREY,"Es ist kein Fahrzeug in der Nähe");
    }
    }
    else
    {
    return SendClientMessage(playerid,COLOR_GREY,"Du bist in keinem Abschleppfahrzeug!");
    }
    return 1;
    }
    else if(!strcmp("/utow",cmdtext,true))
    {
    if(IsPlayerInAnyVehicle(playerid))
    {
    if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 525)
    {
    DetachTrailerFromVehicle(GetPlayerVehicleID(playerid));
    SendClientMessage(playerid,COLOR_GREY,"Fahrzeug abgehängt!");
    return 1;
    }
    else
    {
    return SendClientMessage(playerid,COLOR_GREY,"Du bist in keinem Fahrzeug, wo man was abhängen kann!");
    }
    }
    else
    {
    return SendClientMessage(playerid,COLOR_GREY,"Du bist in keinem Fahrzeug!");
    }
    }

  • So, hab ein bissel gebastelt und das kam raus(zum Kidnapsystem)


    if(strcmp(cmd, "/kidnap", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_WHITE, "NUTZUNG: /kidnap [Playerid/PartOfName] [sitzid]");
    return 1;
    }
    new playa;
    new sitzid;
    playa = ReturnUser(tmp);
    tmp = strtok(cmdtext, idx);
    sitzid = strval(tmp);
    if (PlayerInfo[playerid][pAdmin] >= 2)
    {
    if(IsPlayerConnected(playa))
    {
    if(playa != INVALID_PLAYER_ID)
    {
    new Float:x,Float:y,Float:z;
    GetPlayerPos(playerid, x, y, z);
    new carid = GetPlayerVehicleID(playerid);
    PutPlayerInVehicle(playa, carid, sitzid);
    TogglePlayerControllable(playa, 0);
    }
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, " Du bist kein Admin!");
    }
    }
    return 1;
    }


    Ich will, dass man die Person nur aus einer entfernung von 10 neppen kann.


    Probleme mit gTeam:


    Ich habe mir ein neues Team mit gTeam erstellt, was nur von eingeladenen Elitemembern genutzt werden sollte. Wenn man ein Elitemember ist, klappt alles super, aber wenn man ein zivi ist, kann man die Skins trotzdem auswählen (die Skins erscheinen bei den anderen Teams) -.-


    public OnPlayerRequestClass(playerid, classid)
    {
    PlayerInfo[playerid][pModel] = classid;
    SetPlayerClass(playerid, classid);
    PlayerPlaySound(playerid, 1068, 0.0, 0.0, 0.0 );
    switch(classid)
    {
    case 0..2:
    {
    SetPlayerPos(playerid, 2498.2249,-1644.6326,18.8751);
    SetPlayerCameraPos(playerid, 2498.2676,-1640.1935,18.6116);
    SetPlayerCameraLookAt(playerid, 2498.2249,-1644.6326,18.8751);
    SetPlayerFacingAngle(playerid, 0.0);
    GameTextForPlayer(playerid, "~n~~n~~n~~n~~n~~n~~n~~n~~n~~g~Grove Street Families", 3000, 3);
    ApplyAnimation(playerid,"LOWRIDER", "RAP_B_Loop",4.0,1,1,1,1,1);
    }
    case 3..5:
    {
    SetPlayerPos(playerid, 1979.8929,-1143.1704,25.9858);
    SetPlayerCameraPos(playerid, 1975.8948,-1145.9689,25.9895);
    SetPlayerCameraLookAt(playerid, 1979.8929,-1143.1704,25.9858);
    SetPlayerFacingAngle(playerid, 120.0);
    GameTextForPlayer(playerid, "~n~~n~~n~~n~~n~~n~~n~~n~~n~~p~Rolling Height Ballas", 3000, 3);
    ApplyAnimation(playerid,"GHANDS", "gsign2LH",4.0,1,1,1,1,1);
    }
    case 6..8:
    {
    SetPlayerPos(playerid, 2654.5081,-1063.5448,69.5937);
    SetPlayerCameraPos(playerid, 2658.3940,-1060.7126,69.5209);
    SetPlayerCameraLookAt(playerid, 2654.5081,-1063.5448,69.5937);
    SetPlayerFacingAngle(playerid, 300.0);
    GameTextForPlayer(playerid, "~n~~n~~n~~n~~n~~n~~n~~n~~n~~y~Los Santos Vagos", 3000, 3);
    ApplyAnimation(playerid,"RIOT", "RIOT_CHANT",4.0,1,1,1,1,1);
    }
    case 9..18:
    {
    if (PlayerInfo[playerid][pElite] >= 1)
    {
    SetPlayerPos(playerid, 1123.5857,-2036.9181,69.8867);
    SetPlayerCameraPos(playerid, 1128.5033,-2036.9597,69.5198);
    SetPlayerCameraLookAt(playerid, 1123.5857,-2036.9181,69.8867);
    SetPlayerFacingAngle(playerid, 270.0);
    GameTextForPlayer(playerid, "~n~~n~~n~~n~~n~~n~~n~~n~~n~~w~Elite", 3000, 3);
    ApplyAnimation(playerid,"RIOT", "RIOT_ANGRY",4.0,1,1,1,1,1);
    }
    }
    }
    return 1;
    }
    //==============================================================================
    SetPlayerClass(playerid, classid)
    {
    switch(classid)
    {
    case 0..2: { gTeam[playerid] = TEAM_GROVE; SetPlayerTeam(playerid, TEAM_GROVE); }
    case 3..5: { gTeam[playerid] = TEAM_BALLAS; SetPlayerTeam(playerid, TEAM_BALLAS); }
    case 6..8: { gTeam[playerid] = TEAM_VAGOS; SetPlayerTeam(playerid, TEAM_VAGOS); }
    case 9..18: { gTeam[playerid] = TEAM_ELITE; SetPlayerTeam(playerid, TEAM_ELITE); }
    }
    }


    Bei beiden Problemen sind keine Errors vorhanden.
    P.S. Es ist selfmade, kein godfather