Stunt selfmade !

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
  • Sehr geehrte Scripter,


    ich bin gerade dabei ein selfmade Stunt GM zu erstellen, dass /login,/Register system habe ich schon, jetzt fehlen mir nur noch 2 Sachen die wären, ich brauche hilfe bei dem Spawnen der Skins es sollen alle Skins geben alle die es gibt und sie sollen alle auch an der gleichen stelle spawnen diese 2 Sachen weiß ich nicht wie es funktioniert :/ ich versuche es seit gestern abend aber ich kriege es nicht hin wäre echt nett wenn ihr mir helfen würdet

  • in Deinem Gta Sa Ordner gibts ein Programm dass nennt sich samp Debug du musst es öffnen dann auf launch debug dann kommst du ins spiel nun kannst du mit /vsel autos spawnen und mit F11 und F12 Skins ändern dann machst du /save wenn sie bei der position sind jetzt gehst du du aus dem spiel und in deinen sa ordner jetzt ist eine datei erstellt worden namen /savepositions oder so dass öffnest du und da stehn deine Gespeicherten positionen drin dann kopier sie und füg sie unter GameModeInit ein!

    » Inaktiv als Scripter
    » Youtuber mit Herz
    » ExComBle


    » Ihr wollt auf die krasseste Halloween Party? Schreibt mir ;)

  • Di standorte der CameraPosition etc. habe ich alle die sind alle schon vorhanden ich habe es mal so probiert


    public SetupPlayerForClassSelection(playerid)
    {
    switch (gTeam[playerid])
    {
    case TEAM_BLUE:
    {
    SetPlayerInterior(playerid,0);
    SetPlayerPos(playerid,2032.9274,1545.6582,10.8203);
    SetPlayerFacingAngle(playerid, 269.6990);
    SetPlayerCameraPos(playerid,2037.8097,1546.2125,10.6719);
    SetPlayerCameraLookAt(playerid,2032.9274,1545.6582,10.8203);


    }
    case TEAM_BLUE:
    {
    SetPlayerInterior(playerid,0);
    SetPlayerPos(playerid,2032.9274,1545.6582,10.8203);
    SetPlayerFacingAngle(playerid, 269.6990);
    SetPlayerCameraPos(playerid,2037.8097,1546.2125,10.6719);
    SetPlayerCameraLookAt(playerid,2032.9274,1545.6582,10.8203);
    }
    default:
    {
    SetPlayerInterior(playerid,0);
    SetPlayerPos(playerid,2032.9274,1545.6582,10.8203);
    SetPlayerFacingAngle(playerid,269.6990);
    SetPlayerCameraPos(playerid,2035.8097,1546.2125,10.6719);
    SetPlayerCameraLookAt(playerid,2032.9274,1545.6582,10.8203);
    }
    }
    }



    Da kommen bei mir diese errors ?



    C:\Dokumente und Einstellungen\Realdog\Desktop\Stunt.pwn(340) : warning 235: public function lacks forward declaration (symbol "SetupPlayerForClassSelection")
    C:\Dokumente und Einstellungen\Realdog\Desktop\Stunt.pwn(353) : error 040: duplicate "case" label (value 2)
    C:\Dokumente und Einstellungen\Realdog\Desktop\Stunt.pwn(356) : warning 217: loose indentation
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Error.

  • lol jo danke das habe ich gerade eben auch gemerkt aber ehm ja das mit dem forward verstehe ich nicht ganz gucke


    public SetupPlayerForClassSelection(playerid)
    {
    switch (gTeam[playerid])
    {
    case TEAM_BLUE:
    {
    SetPlayerInterior(playerid,0);
    SetPlayerPos(playerid,2032.9274,1545.6582,10.8203);
    SetPlayerFacingAngle(playerid, 269.6990);
    SetPlayerCameraPos(playerid,2037.8097,1546.2125,10.6719);
    SetPlayerCameraLookAt(playerid,2032.9274,1545.6582,10.8203);


    }
    }
    }



    C:\Dokumente und Einstellungen\Realdog\Desktop\Stunt.pwn(340) : warning 235: public function lacks forward declaration (symbol "SetupPlayerForClassSelection")
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Warning.


    was muss ich da genau machen?

  • so erstmal sorry wegen doppel post aber ehm ja ich habe dasd mit fem forward gemacht da habs selbst heraus gefunden jetzt aber ein anderes problem und zwar werden keine Skins angezeigt? also am anfang wo man die Skins aussuchen muss die werden nicht angezeigt ! ich bitte um ganz dringender hilfe und um die super scripter mein script (Stunt GM sieht bis jetzt so aus !


    #include <a_samp>
    static gTeam[MAX_PLAYERS];


    #define FILTERSCRIPT


    #if defined FILTERSCRIPT
    #define COLOR_GREEN 0x00B800FF
    #define COLOR_LIGHT_RED 0x0000CAFF
    #define COLOR_ORANGE 0x00B8FFFF
    #define COLOR_GREY 0x757168FF
    #define COLOR_WHITE 0xFFFFFFFF
    #define COLOR_RED 0x0000FFFF
    #define TEAM_BLUE_COLOR 0x8D8DFF00
    #define TEAM_BLUE 2


    forward SetupPlayerForClassSelection(playerid);



    forward ShowStats(playerid,targetid);
    forward OnPlayerUpdate(playerid);
    forward Encrypt(string[]);
    forward OnPlayerLogin(playerid,const string[]);


    enum pInfo
    {
    pPassword[128],
    pMorde,
    pgestorben,
    pGeld,
    };


    new PlayerInfo[MAX_PLAYERS][pInfo];
    new gPlayerLogged[MAX_PLAYERS];
    new gPlayerAccount[MAX_PLAYERS];



    public OnFilterScriptInit()
    {
    print("\n$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$");
    print(" Realdog´s Login/Register Filterscript");
    print("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\n");
    return 1;
    }


    public OnFilterScriptExit()
    {
    return 1;
    }


    public OnPlayerRequestClass(playerid, classid)
    {
    return 1;
    }


    public OnPlayerRequestSpawn(playerid)
    {
    return 1;
    }


    public OnPlayerConnect(playerid)
    {
    new playrname[MAX_PLAYER_NAME];
    new connect[128];
    GetPlayerName(playerid, playrname, sizeof(playrname));
    format(connect, sizeof(connect), "%s.cer", playrname);
    if(fexist(connect))
    {
    gPlayerAccount[playerid] = 1;
    SendClientMessage(playerid, COLOR_GREEN, "Du bist registriert, bitte logge dich mit /login [password] ein");
    return 1;
    }
    else
    {
    gPlayerAccount[playerid] = 0;
    SendClientMessage(playerid, COLOR_LIGHT_RED, "Du bist noch nicht Registriert, bitte tippe: /register [password]");
    }
    return 1;
    }


    public OnPlayerDisconnect(playerid, reason)
    {
    OnPlayerUpdate(playerid);
    gPlayerLogged[playerid] = 0;
    return 1;
    }


    public OnPlayerSpawn(playerid)
    {
    return 1;
    }


    public OnPlayerDeath(playerid, killerid, reason)
    {
    new Morde = PlayerInfo[playerid][pMorde];
    SetPlayerScore(playerid, Morde);
    new Float:Health;
    GetPlayerHealth(playerid, Health);
    if(Health == 0.0)
    {
    PlayerInfo[playerid][pgestorben] += 1;
    }
    GivePlayerMoney(killerid,2000);
    PlayerInfo[killerid][pMorde] = PlayerInfo[killerid][pMorde] + 1;
    return 1;
    }


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    new cmd[256];
    new idx;
    cmd = strtok(cmdtext, idx);
    new tmp[256];
    new playername[MAX_PLAYER_NAME];
    if (strcmp(cmd, "/login", true) ==0 )
    {
    if(IsPlayerConnected(playerid))
    {
    new tmppass[64];
    if(gPlayerLogged[playerid] == 1)
    {
    SendClientMessage(playerid, COLOR_GREY, " Du bist bereits eingeloggt.");
    return 1;
    }
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GREY, " Benutze: /login [password]");
    return 1;
    }
    strmid(tmppass, tmp, 0, strlen(cmdtext), 255);
    Encrypt(tmppass);
    OnPlayerLogin(playerid,tmppass);
    }
    return 1;
    }
    if (strcmp(cmd, "/register", true)==0)
    {
    new string[265];
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GREY, "Benutze: /register [password]");
    return 1;
    }
    if (gPlayerAccount[playerid] == 1)
    {
    SendClientMessage(playerid, COLOR_ORANGE, " Der Name ist bereits vergeben");
    return 1;
    }


    strmid(PlayerInfo[playerid][pPassword], tmp, 0, strlen(cmdtext), 255);
    Encrypt(PlayerInfo[playerid][pPassword]);
    GetPlayerName(playerid, playername, sizeof(playername));
    format(string, sizeof(string), "%s.cer", playername);
    new File: file = fopen(string, io_read);
    if (file)
    {
    SendClientMessage(playerid, COLOR_ORANGE, " Der Name ist bereits vergeben");
    fclose(file);
    return 1;
    }
    new File:hFile;
    hFile = fopen(string, io_append);
    new var[32];//
    format(var, 32, "%s\n", PlayerInfo[playerid][pPassword]);fwrite(hFile, var);
    format(var, 32, "Morde=%d\n",PlayerInfo[playerid][pMorde]);fwrite(hFile, var);
    format(var, 32, "gestorben=%d\n",PlayerInfo[playerid][pgestorben]);fwrite(hFile, var);
    PlayerInfo[playerid][pGeld] = GetPlayerMoney(playerid);
    format(var, 32, "Money=%d\n",PlayerInfo[playerid][pGeld]);fwrite(hFile, var);
    fclose(hFile);
    SendClientMessage(playerid, COLOR_WHITE, "Du hast dich erfolgreich registriert!");
    SendClientMessage(playerid, COLOR_WHITE, "Beim nächsten mal kannst du dich einfach mit /login <password> einloggen.");
    OnPlayerLogin(playerid,PlayerInfo[playerid][pPassword]);
    return 1;
    }
    if (strcmp(cmd, "/stats", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if (gPlayerLogged[playerid] != 0)
    {
    ShowStats(playerid,playerid);
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, " Du bist nicht eingeloggt !");
    }
    }
    return 1;
    }
    return 0;
    }


    public Encrypt(string[])
    {
    for(new x=0; x < strlen(string); x++)
    {
    string[x] += (3^x) * (x % 15);
    if(string[x] > (0xff))
    {
    string[x] -= 64;
    }
    }
    return 1;
    }



    public OnPlayerLogin(playerid,const string[])
    {
    new pname2[MAX_PLAYER_NAME];
    new pname3[MAX_PLAYER_NAME];
    new string2[64];
    new string3[128];
    GetPlayerName(playerid, pname2, sizeof(pname2));
    format(string2, sizeof(string2), "%s.cer", pname2);
    new File: UserFile = fopen(string2, io_read);


    if (UserFile)
    {
    new valtmp[128];
    fread(UserFile, valtmp);strmid(PlayerInfo[playerid][pPassword], valtmp, 0, strlen(valtmp)-1, 255);


    if ((strcmp(PlayerInfo[playerid][pPassword], string, true, strlen(valtmp)-1) == 0))
    {
    new key[128],val[128];
    new Data[128];
    while(fread(UserFile,Data,sizeof(Data)))
    {
    key = ini_GetKey(Data);
    if( strcmp( key , "Morde" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pMorde] = strval( val ); }
    if( strcmp( key , "gestorben" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pgestorben] = strval( val ); }
    if( strcmp( key , "Geld" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pGeld] = strval( val ); }
    GivePlayerMoney(playerid,PlayerInfo[playerid][pGeld]);
    }
    fclose(UserFile);
    gPlayerLogged[playerid] = 1;
    gPlayerAccount[playerid] = 1;
    new Morde = PlayerInfo[playerid][pMorde];
    SetPlayerScore(playerid, Morde);
    GetPlayerName(playerid, pname3, sizeof(pname3));
    format(string3, sizeof(string3), "Willkommen %s, du hast dich erfolgreich eingeloggt, suche dir einen Skin aus!", pname3);
    SendClientMessage(playerid, COLOR_WHITE,string3);
    }
    else
    {
    SendClientMessage(playerid, COLOR_RED, " Falsches Passwort");
    fclose(UserFile);
    }
    }
    return 1;
    }


    public OnPlayerUpdate(playerid)
    {
    if(IsPlayerConnected(playerid))
    {
    if(gPlayerLogged[playerid])
    {
    new string3[32];
    new pname3[MAX_PLAYER_NAME];
    GetPlayerName(playerid, pname3, sizeof(pname3));
    format(string3, sizeof(string3), "%s.cer", pname3);
    new File: pFile = fopen(string3, io_write);
    if (pFile)
    {
    new var[32];
    format(var, 32, "%s\n", PlayerInfo[playerid][pPassword]);fwrite(pFile, var);
    fclose(pFile);
    new File: hFile = fopen(string3, io_append);
    PlayerInfo[playerid][pGeld] = GetPlayerMoney(playerid);
    format(var, 32, "Morde=%d\n",PlayerInfo[playerid][pMorde]);fwrite(hFile, var);
    format(var, 32, "gestorben=%d\n",PlayerInfo[playerid][pgestorben]);fwrite(hFile, var);
    format(var, 32, "Geld=%d\n",PlayerInfo[playerid][pGeld]);fwrite(hFile, var);
    fclose(hFile);
    }
    }
    }
    return 1;
    }


    stock ini_GetKey( line[] )
    {
    new keyRes[128];
    keyRes[0] = 0;
    if ( strfind( line , "=" , true ) == -1 ) return keyRes;
    strmid( keyRes , line , 0 , strfind( line , "=" , true ) , sizeof( keyRes) );
    return keyRes;
    }


    stock ini_GetValue( line[] )
    {
    new valRes[128];
    valRes[0]=0;
    if ( strfind( line , "=" , true ) == -1 ) return valRes;
    strmid( valRes , line , strfind( line , "=" , true )+1 , strlen( line ) , sizeof( valRes ) );
    return valRes;
    }



    strtok(const string[], &index)
    {
    new length = strlen(string);
    while ((index < length) && (string[index] <= ' '))
    {
    index++;
    }


    new offset = index;
    new result[20];
    while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
    {
    result[index - offset] = string[index];
    index++;
    }
    result[index - offset] = EOS;
    return result;
    }


    public ShowStats(playerid,targetid)
    {
    if(IsPlayerConnected(playerid)&&IsPlayerConnected(targetid))
    {
    new Geld = GetPlayerMoney(targetid);
    new gestorben = PlayerInfo[targetid][pgestorben];
    new Morde = PlayerInfo[targetid][pMorde];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(targetid, name, sizeof(name));
    new Float:px,Float:py,Float:pz;
    GetPlayerPos(targetid, px, py, pz);
    new coordsstring[256];
    SendClientMessage(playerid, COLOR_GREEN,"_______________________________________");
    format(coordsstring, sizeof(coordsstring),"** %s **",name);
    SendClientMessage(playerid, COLOR_WHITE,coordsstring);
    format(coordsstring, sizeof(coordsstring), "Morde:[%d] gestorben:[%d] Geld:[$%d]",Morde,gestorben,Geld);
    SendClientMessage(playerid, COLOR_GREY,coordsstring);
    SendClientMessage(playerid, COLOR_GREEN,"_______________________________________");
    }
    }


    #endif
    //------------------------------------------------------------------------------------------
    public SetupPlayerForClassSelection(playerid)
    {
    switch (gTeam[playerid])
    {
    case TEAM_BLUE:
    {
    SetPlayerInterior(playerid,0);
    SetPlayerPos(playerid,2032.9274,1545.6582,10.8203);
    SetPlayerFacingAngle(playerid, 269.6990);
    SetPlayerCameraPos(playerid,2037.8097,1546.2125,10.6719);
    SetPlayerCameraLookAt(playerid,2032.9274,1545.6582,10.8203);


    }
    }
    }



    Ich bitte durm das ihr mir genau erklärt was ich zu tuhn habe damit die Skins angezeigt werden :)