/undercover für das LSPD

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
  • Guten Tag ich bin grade dabei /undercover fürs LSPD zu scripten
    ich habe schon den Befehl und er geht auch soweit aber ich würde das gerne so haben
    das er den alten Skin speichert und wenn man normal /undercover eingibt seinen alten Skin auch wieder bekommt.



    Das zweite wäre dann noch das man alle skins nehmen kann die es von SAMP wiki gibt
    es sieht grade so aus :
    }
    if(strcmp(cmd, "/undercover", true) == 0)
    {
    if(IsPlayerInFrac(playerid, 1))
    {
    if(IsPlayerInRangeOfPoint(playerid, 5.0, 257.6224,77.3044,1003.6406))
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_WHITE, "Benutze: /undercover [Skin Nummer]");
    SendClientMessage(playerid, COLOR_GRAD1, "*Es gibt 6 Skins (Nummer 1-6");
    return 1;
    }
    new skin = strval(tmp);
    if(skin == 1)
    {
    SetPlayerSkin(playerid, 127);
    return 1;
    }
    if(skin == 2)
    {
    SetPlayerSkin(playerid, 28);
    return 1;
    }
    if(skin == 3)
    {
    SetPlayerSkin(playerid, 10);
    return 1;
    }
    if(skin == 4)
    {
    SetPlayerSkin(playerid, 122);
    return 1;
    }
    if(skin == 5)
    {
    SetPlayerSkin(playerid, 27);
    return 1;
    }
    if(skin == 6)
    {
    SetPlayerSkin(playerid, 181);
    return 1;
    }
    if(skin <= 0 || skin > 6)
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Skin nicht vorhanden!");
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Du bist nicht am LSPD/FBI Duty Point!");
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Du bist kein Cop/FBIler!");
    }
    return 1;


    Ich denke es gibt sicherlich noch eine andere Lösung außer das man da jetzt alle Skinids reinschreibt was Ewig dauern würde
    bzw. eine kürzere Lösung als diese.


    MFG XDFanta


    Jeder hat hier nen geilen Text stehen außer mir ._. <3

  • Du könntest mit "switch & case" arbeiten.
    if(strcmp(cmd,"/undercover",true)==0){
    if(!IsPlayerInFrak(playerid,1))return SendClientMessage(playerid,COLOR_GRAD1, "Du bist kein Cop/FBIler!");
    if(!IsPlayerInRangeOfPoint(playerid,5.0, 257.6224,77.3044,1003.6406))return SendClientMessage(playerid, COLOR_GRAD1, "Du bist nicht am LSPD/FBI Duty Point!");
    tmp = strtok(cmdtext,idx);
    if(!strlen(tmp))return SendClientMessage(playerid,COLOR_WHITE,"Benutze: /undercover [Skin Nummer]"),SendClientMessage(playerid,COLOR_GRAD1,"*Es gibt 6 Skins (Nummer 1-6)");
    switch(strval(tmp)){
    case 1:return SetPlayerSkin(playerid,127);
    case 2:return SetPlayerSkin(playerid,28);
    case 3:return SetPlayerSkin(playerid,10);
    case 4:return SetPlayerSkin(playerid,122);
    case 5:return SetPlayerSkin(playerid,27);
    case 6:return SetPlayerSkin(playerid,181);
    default:return SendClientMessage(playerid,COLOR_GRAD1,"Skin nicht vorhanden!");
    }
    return 1;
    }

  • Danke schon mal dafür das macht das alles wesentlich kürzer.
    Jetzt brauche ich nur noch Hilfe dabei das er den Skin denn man vorher hatte speichert und wenn man /undercover macht wieder seinen alten Skin hat.


    Jeder hat hier nen geilen Text stehen außer mir ._. <3

  • Mach das mal so, eigentlich müsste das klappen ;)
    if(strcmp(cmd,"/undercover",true)==0){
    if(!IsPlayerInFrac(playerid,1))return SendClinetMessage(playerid,COLOR_GRAD1, "Du bist kein Cop/FBIler!");
    if(!IsPlayerInRangeOfPoint(playerid,5.0, 257.6224,77.3044,1003.6406))return SendClientMessage(playerid, COLOR_GRAD1, "Du bist nicht am LSPD/FBI Duty Point!");
    tmp = strtok(cmdtext,idx);
    if(!strlen(tmp))return SendClientMessage(playerid,COLOR_WHITE,"Benutze: /undercover [Skin Nummer]"),SendClientMessage(playerid,COLOR_GRAD1,"*Es gibt 6 Skins (Nummer 1-6)");
    if(IsUndercover[playerid]==0){
    PlayerSkin[playerid] = GetPlayerSkin(playerid);
    IsUndercover[playerid]=1;
    switch(strval(tmp)){
    case 1:return SetPlayerSkin(playerid,127);
    case 2:return SetPlayerSkin(playerid,28);
    case 3:return SetPlayerSkin(playerid,10);
    case 4:return SetPlayerSkin(playerid,122);
    case 5:return SetPlayerSkin(playerid,27);
    case 6:return SetPlayerSkin(playerid,181);
    default:return SendClientMessage(playerid,COLOR_GRAD1,"Skin nicht vorhanden!");
    }
    }
    else if(IsUndercover[playerid]==1){
    SetPlayerSkin(playerid,PlayerSkin[playerid]);
    return IsUndercover[playerid]=0;
    }
    return 1;
    }

  • C:\Users\Marvin\Desktop\SAMP 0,3z\gamemodes\ChicagoReallife.pwn(17815) : error 017: undefined symbol "SendClinetMessage"
    C:\Users\Marvin\Desktop\SAMP 0,3z\gamemodes\ChicagoReallife.pwn(17819) : error 017: undefined symbol "IsUndercover"
    C:\Users\Marvin\Desktop\SAMP 0,3z\gamemodes\ChicagoReallife.pwn(17819) : warning 215: expression has no effect
    C:\Users\Marvin\Desktop\SAMP 0,3z\gamemodes\ChicagoReallife.pwn(17819) : error 001: expected token: ";", but found "]"
    C:\Users\Marvin\Desktop\SAMP 0,3z\gamemodes\ChicagoReallife.pwn(17819) : error 029: invalid expression, assumed zero
    C:\Users\Marvin\Desktop\SAMP 0,3z\gamemodes\ChicagoReallife.pwn(17819) : fatal error 107: too many error messages on one line


    Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    5 Errors.


    Jeder hat hier nen geilen Text stehen außer mir ._. <3

  • Du musst oben auch das machen ;)
    new IsUndercover[MAX_PLAYERS],PlayerSkin[MAX_PLAYERS];

  • haha fail voll verpeilt danke :DD



    //Edit So jetzt gehts Teilweise immer abwechselnd Undercover Skin normaler Skin
    und wenn man wieder den normalen Skin bekommt steht da Server : Unknow Command


    also in etwa so :


    /undercover 1 . Undercover Skin
    /undercover 2. normaler alter Skin + Server Unknow command
    /undercover 3. Undercover Skin
    /undercover 4. normaler alter Skin + Server Unknow command


    usw.


    Jeder hat hier nen geilen Text stehen außer mir ._. <3

    Einmal editiert, zuletzt von XDFanta ()

  • Du kannst es noch besser schreiben:


    //Schreib oben folgendes in dein Script
    static const lspd_skins[] = {127,28,10,122,27,181};
    new bool:IsUndercover[MAX_PLAYERS char],PlayerSkin[MAX_PLAYERS];


    //Und dann den Befehl so schreiben:
    if(!strcmp(cmd,"/undercover",true)){
    if(!IsPlayerInFrac(playerid,1))return SendClientMessage(playerid,COLOR_GRAD1, "Du bist kein Cop/FBIler!");
    if(!IsPlayerInRangeOfPoint(playerid,5.0, 257.6224,77.3044,1003.6406))return SendClientMessage(playerid, COLOR_GRAD1, "Du bist nicht am LSPD/FBI Duty Point!");
    tmp = strtok(cmdtext,idx);
    if(!tmp[0])return SendClientMessage(playerid,COLOR_WHITE,"Benutze: /undercover [Skin Nummer]"),SendClientMessage(playerid,COLOR_GRAD1,"*Es gibt 6 Skins (Nummer 1-6)");
    if(!IsUndercover{playerid}){
    PlayerSkin[playerid] = GetPlayerSkin(playerid),IsUndercover{playerid}=true;
    return (strval(tmp) > sizeof lspd_skins) ? SendClientMessage(playerid,COLOR_GRAD1,"Skin nicht vorhanden!") : SetPlayerSkin(playerid,lspd_skins[strval(tmp)-1]);
    }
    return SetPlayerSkin(playerid,PlayerSkin[playerid]),IsUndercover{playerid}=false,1;
    }


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • if(strcmp(cmd,"/undercover",true)==0){
    if(!IsPlayerInFrac(playerid,1))return SendClinetMessage(playerid,COLOR_GRAD1, "Du bist kein Cop/FBIler!");
    if(!IsPlayerInRangeOfPoint(playerid,5.0, 257.6224,77.3044,1003.6406))return SendClientMessage(playerid, COLOR_GRAD1, "Du bist nicht am LSPD/FBI Duty Point!");
    tmp = strtok(cmdtext,idx);
    if(!strlen(tmp))return SendClientMessage(playerid,COLOR_WHITE,"Benutze: /undercover [Skin Nummer]"),SendClientMessage(playerid,COLOR_GRAD1,"*Es gibt 6 Skins (Nummer 1-6)");
    if(!strlen(tmp) && IsUndercover[playerid] == 1)
    {
    SetPlayerSkin(playerid,PlayerSkin[playerid]);
    return IsUndercover[playerid]=0;
    }
    else if(IsUndercover[playerid]==0){
    PlayerSkin[playerid] = GetPlayerSkin(playerid);
    IsUndercover[playerid]=1;
    switch(strval(tmp)){
    case 1:return SetPlayerSkin(playerid,127);
    case 2:return SetPlayerSkin(playerid,28);
    case 3:return SetPlayerSkin(playerid,10);
    case 4:return SetPlayerSkin(playerid,122);
    case 5:return SetPlayerSkin(playerid,27);
    case 6:return SetPlayerSkin(playerid,181);
    default:return SendClientMessage(playerid,COLOR_GRAD1,"Skin nicht vorhanden!");
    }
    }
    return 1;
    }

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Und wie bekomme ich das jetzt raus das ich immer abwechselnd Undercover Skin bekomme und dann wieder denn normalen denn ich als Cop habe ?


    Achso, jetzt weiß ich was du meinst, dann schreib es so:


    if(!strcmp(cmd,"/undercover",true)){
    if(!IsPlayerInFrac(playerid,1))return SendClientMessage(playerid,COLOR_GRAD1, "Du bist kein Cop/FBIler!");
    if(!IsPlayerInRangeOfPoint(playerid,5.0, 257.6224,77.3044,1003.6406))return SendClientMessage(playerid, COLOR_GRAD1, "Du bist nicht am LSPD/FBI Duty Point!");
    tmp = strtok(cmdtext,idx);
    if(!tmp[0] && !IsUndercover{playerid}) return SendClientMessage(playerid,COLOR_WHITE,"Benutze: /undercover [Skin Nummer]"),SendClientMessage(playerid,COLOR_GRAD1,"*Es gibt 6 Skins (Nummer 1-6)");
    if(!tmp[0]) return SetPlayerSkin(playerid,PlayerSkin[playerid]),IsUndercover{playerid}=false,1;
    if(!IsUndercover{playerid}) PlayerSkin[playerid] = GetPlayerSkin(playerid),IsUndercover{playerid}=true;
    return (strval(tmp) > sizeof lspd_skins) ? SendClientMessage(playerid,COLOR_GRAD1,"Skin nicht vorhanden!") : SetPlayerSkin(playerid,lspd_skins[strval(tmp)-1]);
    }


    Jetzt bekommt er den normalen Skin wieder, wenn er nur /undercover eingibt, ohne Zahl ;)


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Also es passiert nichts kommt keine Textausgabe z.b. Du bist nicht an einer Umkleide sowas halt
    habe keine Error Fehler halt der Befehl wird sozusagen nicht ausgeführt.


    Dann hast du den wahrscheinlich falsch eingefügt :D


    Mal darauf geachtet, dass oberhalb alle Klammern von vorherigen Befehlen geschlossen werden? :whistling:


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Stimmt jetzt Crasht der Comp. X(


    Wenn du meinen Code nutzt, hast du auch diese Variablen oben deklariert:


    //Schreib oben folgendes in dein Script
    static const lspd_skins[] = {127,28,10,122,27,181};
    new bool:IsUndercover[MAX_PLAYERS char],PlayerSkin[MAX_PLAYERS];


    mfg. :rolleyes:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S


  • Wenn du meinen Code nutzt, hast du auch diese Variablen oben deklariert:


    //Schreib oben folgendes in dein Script
    static const lspd_skins[] = {127,28,10,122,27,181};
    new bool:IsUndercover[MAX_PLAYERS char],PlayerSkin[MAX_PLAYERS];


    mfg. :rolleyes:



    Ja iwas stimmt da nicht ich habe das auch mal in dem Klammerfehler Detector durchgejagt
    findet keinen Fehler X(



    //edit


    So geht es aber ist falsch weil ne Klammer fehlt


    }
    if(strcmp(cmd,"/undercover",true)==0)
    {
    if(!IsPlayerInFrac(playerid,1))return SendClientMessage(playerid,COLOR_GRAD1, "Du bist kein Cop/FBIler!");
    if(!IsPlayerInRangeOfPoint(playerid,5.0, 257.6224,77.3044,1003.6406))return SendClientMessage(playerid, COLOR_GRAD1, "Du bist nicht am LSPD/FBI Duty Point!");
    tmp = strtok(cmdtext,idx);
    if(!strlen(tmp))return SendClientMessage(playerid,COLOR_WHITE,"Benutze: /undercover [Skin Nummer]"),SendClientMessage(playerid,COLOR_GRAD1,"*Es gibt 6 Skins (Nummer 1-6)");
    if(!strlen(tmp) && IsUndercover[playerid] == 1)
    {
    SetPlayerSkin(playerid,PlayerSkin[playerid]);
    return IsUndercover[playerid]=0;
    }
    else if(IsUndercover[playerid]==0){
    PlayerSkin[playerid] = GetPlayerSkin(playerid);
    IsUndercover[playerid]=1;
    switch(strval(tmp)){
    case 1:return SetPlayerSkin(playerid,127);
    case 2:return SetPlayerSkin(playerid,28);
    case 3:return SetPlayerSkin(playerid,10);
    case 4:return SetPlayerSkin(playerid,122);
    case 5:return SetPlayerSkin(playerid,27);
    case 6:return SetPlayerSkin(playerid,181);
    default:return SendClientMessage(playerid,COLOR_GRAD1,"Skin nicht vorhanden!");
    }
    }
    return 1;


    So gehts nicht weil da eine Klammer dann ist und der Comp. dann Crasht finde aber auch keinen Klammer Fehler ...


    }
    if(strcmp(cmd,"/undercover",true)==0)
    {
    if(!IsPlayerInFrac(playerid,1))return SendClientMessage(playerid,COLOR_GRAD1, "Du bist kein Cop/FBIler!");
    if(!IsPlayerInRangeOfPoint(playerid,5.0, 257.6224,77.3044,1003.6406))return SendClientMessage(playerid, COLOR_GRAD1, "Du bist nicht am LSPD/FBI Duty Point!");
    tmp = strtok(cmdtext,idx);
    if(!strlen(tmp))return SendClientMessage(playerid,COLOR_WHITE,"Benutze: /undercover [Skin Nummer]"),SendClientMessage(playerid,COLOR_GRAD1,"*Es gibt 6 Skins (Nummer 1-6)");
    if(!strlen(tmp) && IsUndercover[playerid] == 1)
    {
    SetPlayerSkin(playerid,PlayerSkin[playerid]);
    return IsUndercover[playerid]=0;
    }
    else if(IsUndercover[playerid]==0){
    PlayerSkin[playerid] = GetPlayerSkin(playerid);
    IsUndercover[playerid]=1;
    switch(strval(tmp)){
    case 1:return SetPlayerSkin(playerid,127);
    case 2:return SetPlayerSkin(playerid,28);
    case 3:return SetPlayerSkin(playerid,10);
    case 4:return SetPlayerSkin(playerid,122);
    case 5:return SetPlayerSkin(playerid,27);
    case 6:return SetPlayerSkin(playerid,181);
    default:return SendClientMessage(playerid,COLOR_GRAD1,"Skin nicht vorhanden!");
    }
    }
    return 1;
    }


    Jeder hat hier nen geilen Text stehen außer mir ._. <3

    2 Mal editiert, zuletzt von XDFanta ()

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