Beiträge von Key

    public OnPlayerStateChange(playerid, newstate, oldstate)
    {
    new carid = GetPlayerVehicleID(playerid);
    if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
    {
    if(Spielerinfo[playerid][Motorradschein] == 0)
    {
    if(IsABike(carid))
    {
    SendClientMessage(playerid,COLOR_WHITE,"Du hast kein Motorradschein!");
    SendClientMessage(playerid,COLOR_WHITE,"Lass dich nicht von den Cops erwischen, sonst musst du Stafe zahlen!");
    }
    }
    if(Spielerinfo[playerid][Flugschein] == 0)
    {
    if(IsAFlieger(carid))
    {
    SendClientMessage(playerid,COLOR_WHITE,"Du hast kein Flugschein!");
    SendClientMessage(playerid,COLOR_WHITE,"Lass dich nicht von den Cops erwischen, sonst musst du Stafe zahlen!");
    }
    }
    else if(Spielerinfo[playerid][Autoschein] == 0)
    {
    SendClientMessage(playerid,COLOR_WHITE,"Du hast kein Führerschein!");
    SendClientMessage(playerid,COLOR_WHITE,"Lass dich nicht von den Cops erwischen, sonst musst du Strafe zahlen!");
    }
    return 1;
    }
    return 1;
    }


    So besser?
    //edit: Wenn ich das so mache, passiert InGame garnichts.

    Also, ich hab das jetzt so:


    OnPlayerStateChange:
    public OnPlayerStateChange(playerid, newstate, oldstate)
    {
    new carid = GetPlayerVehicleID(playerid);
    if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
    {
    if(Spielerinfo[playerid][Motorradschein] == 0)
    {
    if(IsABike(carid))
    {
    SendClientMessage(playerid,COLOR_WHITE,"Du hast kein Motorradschein!");
    SendClientMessage(playerid,COLOR_WHITE,"Lass dich nicht von den Cops erwischen, sonst musst du Stafe zahlen!");
    }
    if(Spielerinfo[playerid][Flugschein] == 0)
    {
    if(IsAFlieger(carid))
    {
    SendClientMessage(playerid,COLOR_WHITE,"Du hast kein Flugschein!");
    SendClientMessage(playerid,COLOR_WHITE,"Lass dich nicht von den Cops erwischen, sonst musst du Stafe zahlen!");
    }
    if(Spielerinfo[playerid][Autoschein] == 0)
    {
    SendClientMessage(playerid,COLOR_WHITE,"Du hast kein Führerschein!");
    SendClientMessage(playerid,COLOR_WHITE,"Lass dich nicht von den Cops erwischen, sonst musst du Strafe zahlen!");
    }
    return 1;
    }
    }
    }
    return 1;
    }
    IsABike & IsAFlieger:
    forward IsABike(playerid);
    forward IsAFlieger(playerid);


    public IsABike(playerid)
    {
    new carid = GetPlayerVehicleID(playerid);
    if(carid == 581 || carid == 522 || carid == 461 || carid == 521 || carid == 523 || carid == 463 || carid == 586 || carid == 468 || carid == 471)
    {
    return 1;
    }
    return 0;
    }
    public IsAFlieger(playerid)
    {
    new carid = GetPlayerVehicleID(playerid);
    if(carid == 592 || carid == 577 || carid == 511 || carid == 512 || carid == 593 || carid == 520 || carid == 553 || carid == 476 || carid == 519 || carid == 460 || carid == 513 || carid == 548 || carid == 425 || carid == 417 || carid == 487 || carid == 488 || carid == 497 || carid == 563 || carid == 447 || carid == 469)
    {
    return 1;
    }
    return 0;
    }


    Funktioniert aber immer noch nicht.

    Da bekomm ich die Errors:


    D:\Downloads\samp03bsvr_R2_win32 (2)\gamemodes\Selfmade.pwn(662) : error 017: undefined symbol "carid"D:\Downloads\samp03bsvr_R2_win32 (2)\gamemodes\Selfmade.pwn(669) : error 017: undefined symbol "carid"



    Die sind halt in den Zeilen mit if(IsABike(carid)) und if(IsAFlieger(carid))

    Hallo,
    ich habe folgendes Problem mit den Führerscheinen.
    Wenn ich in ein Auto einsteige, ohne Schein, kommt die Nachricht " Du hast kein Führerschein! ".
    Das ist ja auch gut, jedoch wenn ich in ein Bike einsteige, kommt die selbe Nachricht, obwohl eigentlich die Nachricht "Du hast kein Motorradschein!" kommen sollte.


    OnPlayerEnterVehicle:
    public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
    {
    if(Spielerinfo[playerid][Motorradschein] == 0)
    {
    if(IsABike(vehicleid))
    {
    SendClientMessage(playerid,COLOR_WHITE,"Du hast kein Motorradschein!");
    SendClientMessage(playerid,COLOR_WHITE,"Lass dich nicht von den Cops erwischen, sonst musst du Stafe zahlen!");
    }

    if(Spielerinfo[playerid][Flugschein] == 0)
    {
    if(IsAFlieger(vehicleid))
    {
    SendClientMessage(playerid,COLOR_WHITE,"Du hast kein Flugschein!");
    SendClientMessage(playerid,COLOR_WHITE,"Lass dich nicht von den Cops erwischen, sonst musst du Stafe zahlen!");
    }


    if(Spielerinfo[playerid][Autoschein] == 0)
    {
    SendClientMessage(playerid,COLOR_WHITE,"Du hast kein Führerschein!");
    SendClientMessage(playerid,COLOR_WHITE,"Lass dich nicht von den Cops erwischen, sonst musst du Strafe zahlen!");
    }
    return 1;
    }
    }
    return 1;
    }

    IsABike und IsAFlieger:
    public IsABike(carid)
    {
    if(carid == 581 && 522 && 461 && 521 && 523 && 463 && 586 && 468 && 471)
    {
    return 1;
    }
    return 0;
    }
    public IsAFlieger(carid)
    {
    if(carid == 592 && 577 && 511 && 512 && 593 && 520 && 553 && 476 && 519 && 460 && 513 && 548 && 425 && 417 && 487 && 488 && 497 && 563 && 447 && 469)
    {
    return 1;
    }
    return 0;
    }


    Kann mir jemand helfen?


    LG

    Hatte ein wenig Langeweile und hab ein /setskin Befehl mit OCDM geschrieben.

    ocmd:setskin(playerid,params[])
    {
    new pID, level;
    new string[128];
    new oname[MAX_PLAYER_NAME],aname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,aname,sizeof aname);
    GetPlayerName(pID,oname,sizeof oname);
    if(IsPlayerAdmin(playerid))
    {
    if(sscanf(params,"ud",pID,level))
    return SendClientMessage(playerid,COLOR_WHITE,"Nutze: /setskin [playerid] [SkinID]");
    if(!IsPlayerConnected(pID))
    return SendClientMessage(playerid,COLOR_WHITE,"ID nicht vergeben");
    if(sscanf(params,"ud",pID,level)) {
    SendClientMessage(playerid,COLOR_WHITE,"Nutze: /setskin [playerid] [SkinID]"); }
    if(level < 0 || level > 300) { return SendClientMessage(playerid,COLOR_WHITE,"Die Skin ID muss zwischen 0 und 300 liegen!"); }
    SetPlayerSkin(pID, level);
    format(string,sizeof string,"Du hast %s sein Skin zur ID %d gewechselt.",oname,level);
    SendClientMessage(playerid,COLOR_WHITE,string);
    format(string,sizeof string,"Admin %s hat dein Skin zur ID %d gewechselt.",aname,level);
    SendClientMessage(pID,COLOR_WHITE,string);
    }
    else { return SendClientMessage(playerid,COLOR_WHITE,"Du bist nicht befugt diesen Befehl zu benutzen!"); }
    return 1;
    }

    //edit: Command bearbeitet

    Zu 2.:


    ocmd:changeteam(playerid,params[])
    {
    new pID, level;
    new string[128];
    new oname[MAX_PLAYER_NAME],aname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,aname,sizeof aname);
    GetPlayerName(pID,oname,sizeof oname);
    if(IsPlayerConnected(playerid))
    {
    if(IsPlayerAdmin(playerid))
    {
    if(sscanf(params,"ud",pID,level))
    return SendClientMessage(playerid,COLOR_WHITE,"Nutze: /changeteam [playerid] [TeamID]");
    if(!IsPlayerConnected(pID))
    return SendClientMessage(playerid,COLOR_WHITE,"ID nicht vergeben");
    if(sscanf(params,"ud",pID,level)) {
    SendClientMessage(playerid,COLOR_WHITE,"Nutze: /changeteam [playerid] [TeamID]");}
    if(level < 1 || level > 6) { return SendClientMessage(playerid,COLOR_WHITE,"Es gibt kein Team unter 1 oder über 6 !"); } // bei level < 1 || level > 6 musst du die minimale und maximale Größe der TeamID eintragen
    SetPlayerTeam(pID, level);
    format(string,sizeof string,"Du hast %s zum Teammitglied vom Team %d gemacht.",oname,level);
    SendClientMessage(playerid,COLOR_WHITE,string);
    format(string,sizeof string,"%s hat dich zum Teammitglied des Teams %d gemacht.",aname,level);
    SendClientMessage(pID,COLOR_WHITE,string);
    }
    else { return SendClientMessage(playerid,COLOR_WHITE,"Du bist kein Admin!"); }
    }
    return 1;
    }
    Ist ungetestet, sollte aber funktionieren. ( Du brauchst OCMD! )

    Hallo,
    ich wollte fragen, ob jemand zufällig die Koordinaten vom Knast ( also wenn man im Knast ist ) von dem LVPD hat. Wenn ja, währe es nett, wenn die hier gepostet werden könnten.


    LG

    public OnPlayerPickUpPickup(playerid, pickupid)
    {
    if(pickupid == BluePickup)
    {
    if(Team[playerid] == TEAM_GREEN)
    {
    SendClientMessage(playerid,blue,"Bleibe 10 Sekunden in dem Pickup stehen, dann hat dein Team gewonnen!");
    SendClientMessage(playerid,blue,"Stirbst du allerdings, spawnst du neu und musst wieder zum Pickup laufen.");
    SetTimer("GREEN_TIMER",10000,1);
    }
    }
    if(pickupid == GreenPickup)
    {
    if(Team[playerid] == TEAM_BLUE)
    {
    SendClientMessage(playerid,blue,"Bleibe 10 Sekunden in dem Pickup stehen, dann hat dein Team gewonnen!");
    SendClientMessage(playerid,blue,"Stirbst du allerdings, spawnst du neu und musst wieder zum Pickup laufen.");
    SetTimer("BLUE_TIMER",10000,1);
    }
    }
    return 1;
    }

    Hallo,
    ich bekomme Errors bei KillTimer.


    Die Errors:
    D:\Downloads\samp03bsvr_R2_win32 (2)\gamemodes\MiniThree.pwn(95) : error 076: syntax error in the expression, or invalid function call
    D:\Downloads\samp03bsvr_R2_win32 (2)\gamemodes\MiniThree.pwn(99) : error 076: syntax error in the expression, or invalid function call

    Die Zeilen:
    public OnPlayerDeath(playerid, killerid, reason)
    {


    if(IsPlayerInRangeOfPoint(playerid,7.0,-640.1326,864.3789,2.0000))
    {
    KillTimer(GREEN_TIMER); // <- Zeile 95
    }
    if(IsPlayerInRangeOfPoint(playerid,7.0,-489.3181,611.7156,1.7739))
    {
    KillTimer(BLUE_TIMER); // <- Zeile 99
    }
    return 1;
    }

    Normalerweise, wenn ich keine Errors hätte.


    Die Errors:


    Code
    D:\Downloads\samp03bsvr_R2_win32 (2)\gamemodes\Selfmade.pwn(102) : error 017: undefined symbol "Spielerdatei"
    D:\Downloads\samp03bsvr_R2_win32 (2)\gamemodes\Selfmade.pwn(102) : warning 215: expression has no effect
    D:\Downloads\samp03bsvr_R2_win32 (2)\gamemodes\Selfmade.pwn(102) : error 001: expected token: ";", but found "]"
    D:\Downloads\samp03bsvr_R2_win32 (2)\gamemodes\Selfmade.pwn(102) : error 029: invalid expression, assumed zero
    D:\Downloads\samp03bsvr_R2_win32 (2)\gamemodes\Selfmade.pwn(102) : fatal error 107: too many error messages on one line



    Die Zeile:
    SetPlayerSkin(playerid,Spielerdatei[playerid][Skin]);

    Geht auch nicht.
    Vielleicht liegt es daran, dass im Moment der Skin nachdem ich mich eingeloggt habe geladen wird, und danach muss ich ja noch in diesem "<< >> Spawn" Menu Spawn klicken, und da wird mir dann ja der CJ Skin gegeben. Aber wie kann ich dieses "<< >> Spawn" Menu entfernen?

    Jetzt bekomm ich ein Warning:


    Code
    D:\Downloads\samp03bsvr_R2_win32 (2)\gamemodes\Selfmade.pwn(102) : warning 213: tag mismatch



    Zeile:
    SetPlayerSkin(playerid, Skin);



    //edit: Eigentlich müsste es doch auch reichen, wenn ich bei LoadAccount
    SetPlayerSkin(playerid,dini_Int(Spielerdatei,"Skin"));
    habe. Oder? Aber leider funktioniert das nicht :S

    Hallo,
    ich habe in meinem Script eingebaut, das der Skin beim Verlassen des Servers in der Userdatei gespeichert werden soll. Das funktioniert soweit auch! Jedoch lädt er den Skin nicht.


    Speichern:
    stock SpielerSpeichern(playerid)
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    dini_IntSet(Spielerdatei,"Level",GetPlayerScore(playerid));
    dini_IntSet(Spielerdatei,"Geld",GetPlayerMoney(playerid));
    dini_IntSet(Spielerdatei,"Adminlevel",Spielerinfo[playerid][Adminlevel]);
    dini_IntSet(Spielerdatei,"Fraktion",Spielerinfo[playerid][Fraktion]);
    dini_IntSet(Spielerdatei,"Leader",Spielerinfo[playerid][Leader]);
    dini_IntSet(Spielerdatei,"Skin",GetPlayerSkin(playerid));
    return 1;
    }


    public OnPlayerDisconnect(playerid, reason)
    {
    SpielerSpeichern(playerid);
    ResetVariablen(playerid);
    return 1;
    }


    Laden:
    stock Login(playerid,key[])
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    if(!strcmp(key,dini_Get(Spielerdatei,"Passwort"),false))
    {
    LoadAccount(playerid);
    SendClientMessage(playerid,COLOR_WHITE,"Du hast dich erfolgreich eingeloggt!");
    return 1;
    }
    else
    {
    SendClientMessage(playerid,COLOR_WHITE,"Das Passwort war falsch!");
    ShowPlayerDialog(playerid, DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Gebe bitte hier dein Passwort ein.","Login","Abbrechen");
    return 1;
    }
    }


    stock LoadAccount(playerid)
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    SetPlayerScore(playerid,dini_Int(Spielerdatei,"Level"));
    GivePlayerMoney(playerid,dini_Int(Spielerdatei,"Geld"));
    SetPlayerSkin(playerid,dini_Int(Spielerdatei,"Skin"));
    Spielerinfo[playerid][Adminlevel]=dini_Int(Spielerdatei, "Adminlevel");
    Spielerinfo[playerid][Fraktion]=dini_Int(Spielerdatei,"Fraktion");
    Spielerinfo[playerid][Leader]=dini_Int(Spielerdatei,"Leader");
    return 1;
    }


    Jedoch spawne ich immer noch mit dem CJ Skin, obwohl in der Userdatei "Skin=283" steht.

    Ich bekomme 2 Errors..

    Code
    D:\Downloads\samp03bsvr_R2_win32 (2)\gamemodes\Selfmade.pwn(159) : error 017: undefined symbol "sscanf"
    D:\Downloads\samp03bsvr_R2_win32 (2)\gamemodes\Selfmade.pwn(163) : error 017: undefined symbol "sscanf"