Beiträge von ErikSon

    Es muss if(!sscanf(...)) sein.


    Muss es nicht..
    Es ist eigentlich schon richtig so..
    Wenn du es mit ! machen würdest, würde es so aussehen:
    ocmd:setskin(playerid, params[])
    {
    new pID, Skin;
    if(!isPlayerAnAdmin(playerid,3))return SendClientMessage(playerid,ROT,"FEHLER:Du besitzt keine Rechte, um diesen Befehl zu benutzen!");
    if(!sscanf(params,"ui",pID,Skin)){
    if(Skin < 1 || Skin > 299)return SendClientMessage(playerid,ROT,"FEHLER: Bitte gültige SkinID eingeben.[1-299]");
    SetPlayerSkin(pID, Skin);
    }
    else SendClientMessage(playerid,ROT,"FEHLER: /setskin [SPIELER/ID][SKINID]");
    return 1;
    }


    //bzw


    ocmd:setskin(playerid, params[])
    {
    new pID, Skin;
    if(!isPlayerAnAdmin(playerid,3))return SendClientMessage(playerid,ROT,"FEHLER:Du besitzt keine Rechte, um diesen Befehl zu benutzen!");
    if(!sscanf(params,"ui",pID,Skin)){
    if(Skin < 1 || Skin > 299)return SendClientMessage(playerid,ROT,"FEHLER: Bitte gültige SkinID eingeben.[1-299]");
    return SetPlayerSkin(pID, Skin);
    }
    return SendClientMessage(playerid,ROT,"FEHLER: /setskin [SPIELER/ID][SKINID]");
    }


    Mach es mal so:
    ocmd:setskin(playerid, params[])
    {
    new pID, Skin;
    if(!isPlayerAnAdmin(playerid,3))return SendClientMessage(playerid,ROT,"FEHLER:Du besitzt keine Rechte, um diesen Befehl zu benutzen!");
    if(sscanf(params,"ui",pID,Skin))return SendClientMessage(playerid,ROT,"FEHLER: /setskin [SPIELER/ID][SKINID]");
    if(!IsPlayerConnected(pID))return SendClientMessage(playerid,ROT,"FEHLER: Dieser Spieler ist nicht Online!");
    else if(Skin < 1 || Skin > 299)return SendClientMessage(playerid,ROT,"FEHLER: Bitte gültige SkinID eingeben.[1-299]");
    return SetPlayerSkin(pID, Skin);
    }
    Du fragst nie ab, ob der Spieler überhaupt Online ist ..
    Das ändert aber nichts an deinem Fehler..



    Schreib uns doch mal, wie du den Skin setzt, denn das ist eigentlich richtig..

    Einzigartige Freizeitaktivitäten


    Daran habe ich auch schon gedacht, wird bisschen kompliziert, sollte aber gehen..




    Einzigartige Berufe


    Das mit den Berufen ist auch ein bisschen schwer, erstmal richtige bzw gute zu finden, aber ich ueberlege mir mal welche ;)


    Danke euch allen fuer eure Hilfe!


    Weiteres koennt ihr gerne Posten..


    //Handy (auch die Beitraege vorher)






    Eine neue Sichtweise -> Egoshooter Sicht ? (so wie bei ehm, Minecraft ? )


    Danke dir, werde mal sehen, ob ich dies einfuege, ist ein guter Vorschlag.

    Ja oder wir entwickeln einfach einen Multiplayer Mod für Sims. :thumbup:


    Lass dir selbst was einfallen, wenn du was ordentliches auf die Beine stellen willst.
    Denk nicht daran, was andere im Script haben. Stell dir einfach mal, völlig unabhängig von anderen Gamemodes vor, was du gerne in einem Reallife Script haben würdest.


    Naja, ich habe noch ein paar andere sehr gute Systeme, aber die kommen wahrscheinlich in einem Update, jedoch gehen mir langsam die Ideen aus..


    Wäre trdm nett, wenn ihr noch welche postet, aber denke ich finde selber noch ein Paar..

    Hey,
    ich weiß, es gibt schon paar Threads mit diesen Fragen, jedoch habe ich mal nachgeschaut, und habe eigentlich alles, was dort alles so stand..


    Hier die Liste

    Lottosystem
    Frakkassen
    Ánti-Cheat
    Levelbonus
    Handysystem
    Adminsystem
    Waffen + Health / Armour - Speicherung
    Eventsystem
    Blitzersystem
    Gangfightsystem
    Clansystem
    Gang- / NoDM-Zonen
    Aktiensystem
    Haussystem
    ATM-System
    Biz-System
    Navi-System
    Skill-System
    ViP-System
    Carsystem
    Autohaussystem
    Knast
    Glücksspiele
    Banksystem
    Inventar
    Jobs
    Fraktionen
    Login-/Registersystem
    Reportsystem
    Paydaysystem
    Zollsystem
    Accessoires



    Kennt da jemand noch ein paar Systeme ?
    Danke im Voraus!

    Wäre ohne dem "[playerid]" Sinnvoller!
    ocmd:pd1(playerid, params[])
    {
    if(!lspdtor1)//das ist die Zeile 1331
    {
    lspdtor1 = true;
    return MoveObject(LSPDTor1,1267.45898, -1602.30176, 7.0000,5);//auf
    }
    else if(lspdtor1)
    {
    lspdtor1 = false;
    return MoveObject(LSPDTor1,1267.45898, -1602.30176, 9.98416,5);//zu
    }
    else if(COPABFRAGE) return SendClientMessage(playerid,Rot,"Du bist kein Polizist!");
    return 1;
    }


    War n Klammerfehler + ein Parameter bei "MoveObject" vergessen..


    MoveObject

    Hey,
    habe ein Problem mit TextLabels.
    public OnPlayerPause(playerid){
    new Float:p[3]; GetPlayerPos(playerid,p[0],p[1],p[2]);
    Spieler[playerid][AFKLabel] = Create3DTextLabel(playerid,"Desktop seit 1 Sekunde",Rot,p[0],p[1],p[2],10,0,0);
    Spieler[playerid][AFKTime] = SetTimerEx("DeskTime",888,true,"i",playerid);
    new nName[MAX_PLAYER_NAME]; format(nName,MAX_PLAYER_NAME,"%s",PlayerName[playerid]);
    Spieler[playerid][afk] = 1;
    strins(nName,"[AFK]",0);
    return SetPlayerName(playerid,nName);
    }
    Alles wird erfolgreich gemacht, nur das Label wird nicht angezeigt..

    stock GetVehicleDriver(vehicleid)
    {
    new i;
    for(;i!=MAX_PLAYERS;i++) if(IsPlayerConnected(i) && GetPlayerState(i) == PLAYER_STATE_DRIVER && GetPlayerVehicleID(i) == vehicleid) return i;
    return INVALID_PLAYER_ID;
    }
    Verwendung:
    new cardriver = GetVehicleDriver(vehicleid);

    Push

    //OnPlayerUpdate
    new keys, ud, lr;
    GetPlayerKeys(playerid, keys, ud, lr);
    if(ud & KEY_UP || ud & -128)GibtGas[playerid] = true;
    else GibtGas[playerid] = false;


    Habe einen weiteren Fehler..
    Jeffry hat mir ja eine Funktion gegeben, die die Geschwindikeit des Spielers verändert, jedoch verändert es die Geschwindigkeit doch nicht..
    Ich habe mir die Geschwindigkeit immer ausgeben lassen usw, und es sah so aus, als ob es klappt..


    Die Geschwindigkeit verändert sich nur, wenn ich laufe und dabei springe. Dann verändert sie sich aber nicht um die Geschwindigkeit, die ich angegeben habe, sondern um 100, 200 , 2000, 3000 ( unterschiedlich ) km/h ..


    Hier nochmal ein Versuch, die Geschwindigkeit auf 30 km/h zu stellen ( OnPlayerUpdate )
    if(!IsPlayerInAnyVehicle(playerid) && !Jumped[playerid])
    {
    new Float:speed; GetPlayerSpeed_New(playerid,speed);
    return SetPlayerSpeed(playerid,30.0,speed);
    }


    Und hier nochmal die Funktionen "GetPlayerSpeed_New" & "SetPlayerSpeed"

    stock GetPlayerSpeed_New(playerid, &Float:speed) // By: [XST]O_x
    {
    new Float:ST[4];
    if(IsPlayerInAnyVehicle(playerid) && GetPlayerState(playerid)!=PLAYER_STATE_PASSENGER)
    GetVehicleVelocity(GetPlayerVehicleID(playerid),ST[0],ST[1],ST[2]);
    else GetPlayerVelocity(playerid,ST[0],ST[1],ST[2]);
    ST[3] = floatsqroot(floatpower(floatabs(ST[0]), 2.0) + floatpower(floatabs(ST[1]), 2.0) + floatpower(floatabs(ST[2]), 2.0)) * 100.3;
    speed = ST[3];
    return 1;
    }
    stock SetPlayerSpeed(playerid, Float:_speed, Float:_isspeed){
    if(playerid == INVALID_PLAYER_ID)return INVALID_PLAYER_ID;
    if(IsPlayerNPC(playerid))return 1;
    if(IsPlayerInAnyVehicle(playerid))return 1;
    new Float:x1, Float:y1, Float:z1;
    GetPlayerVelocity(playerid, x1, y1, z1);
    return SetPlayerVelocity(playerid, x1*(1+(1/(1+(_speed/_isspeed)))), y1*(1+(1/(1+(_speed/_isspeed)))), z1);
    }


    Ist irgendwas falsch? ..


    //Post2


    new keys, ud, lr;
    GetPlayerKeys(playerid, keys, ud, lr);
    //Spielergeschwindigkeit..

    else if(IsPlayerInAnyVehicle(playerid))
    {
    new vehicle = GetPlayerVehicleID(playerid);
    if(keys & -128){
    printf("2");
    if(GetVehicleSpeed(vehicle) > float(VehSpeed[GetVehicleModel(vehicle)]))return SetVehicleSpeed(vehicle,float(VehSpeed[GetVehicleModel(vehicle)]));
    else if(GetVehicleSpeed(vehicle) >= float((VehSpeed[GetVehicleModel(vehicle)]/2)))SetVehicleSpeed(vehicle,GetVehicleSpeed(vehicle) +10);
    }
    }


    Außerdem wird die Taste nur manchmal ausgegeben ...



    //Post 1

    Habe auch anstatt


    ud & -128 //&
    ud & KEY_UP // &
    ud == KEY_UP // &
    ud & KEY_UP



    keys & KEY_UP // &
    keys == KEY_UP // &
    keys & -128 // &
    keys == -128



    Jedoch klappt nichts davon ..

    Könnt ihr mir ein Gangfightsystem empfehlen ??


    Versuch doch erstmal, selber ein Gangfightsystem zu erstellen..
    Würde ich jetzt kein Selfmade machen, würde ich längst ein dynamisches Gangfightsystem released haben..


    Wie gesagt, versuch es, wenn du dann nicht weiterkommst, können wir dir helfen!

    Eventuell eine Include von dir enthalten , wo du OnPlayerUpdate falsch hookst.
    Verwendest du die richtige .amx.


    Lösche mal die .amx und kompile das skript neu, da eventuell dein kompiler bugt dieses problem hatte ich mit xp das die .amx nicht überschrieben wurde.


    In allen Includes wird "OnPlayerUpdate" nicht verwendet..


    Habe nochmal bisl dran gearbeitet, nun wird die Taste erkannt, jedoch bekomme ich kein Speed drauf..
    new keys, ud, lr;
    GetPlayerKeys(playerid, keys, ud, lr);
    //Spielergeschwindigkeit..

    else if(IsPlayerInAnyVehicle(playerid))
    {
    new vehicle = GetPlayerVehicleID(playerid);
    if(keys & -128){
    printf("2");
    if(GetVehicleSpeed(vehicle) > float(VehSpeed[GetVehicleModel(vehicle)]))return SetVehicleSpeed(vehicle,float(VehSpeed[GetVehicleModel(vehicle)]));
    else if(GetVehicleSpeed(vehicle) >= float((VehSpeed[GetVehicleModel(vehicle)]/2)))SetVehicleSpeed(vehicle,GetVehicleSpeed(vehicle) +10);
    }
    }
    Außerdem wird die Taste nur manchmal ausgegeben ...


    Diese funktionieren jedoch musst du das über OnPlayerUpdate lösen mit der Funktion GetPlayerKey eventuell erkennst du darüber auch die Restlichen Numpad-Tasten.


    Warum ist das so ?
    Das liegt daran das dieses Callback sonst zu oft aufgerufen werden würde(könnte zu laggs führen), daher wurden nur bestimmte Tasten verwendet.


    Ist etwas länger her..
    Jedoch klappt es nicht, auch wenn ich es unter "OnPlayerUpdate" versuche..


    Code


    new keys, ud, lr;
    GetPlayerKeys(playerid, keys, ud, lr);
    if(ud & KEY_UP || ud & -128)GibtGas[playerid] = true;
    else GibtGas[playerid] = false;


    //Edit:
    Habe einen weiteren Fehler..
    Jeffry: hat mir ja eine Funktion gegeben, die die Geschwindikeit des Spielers verändert, jedoch verändert es die Geschwindigkeit doch nicht..
    Ich habe mir die Geschwindigkeit immer ausgeben lassen usw, und es sah so aus, als ob es klappt..


    Die Geschwindigkeit verändert sich nur, wenn ich laufe und dabei springe. Dann verändert sie sich aber nicht um die Geschwindigkeit, die ich angegeben habe, sondern um 100, 200 , 2000, 3000 ( unterschiedlich ) km/h ..


    Hier nochmal ein Versuch, die Geschwindigkeit auf 30 km/h zu stellen ( OnPlayerUpdate )
    if(!IsPlayerInAnyVehicle(playerid) && !Jumped[playerid])
    {
    new Float:speed; GetPlayerSpeed_New(playerid,speed);
    return SetPlayerSpeed(playerid,30.0,speed);
    }


    Und hier nochmal die Funktionen "GetPlayerSpeed_New" & "SetPlayerSpeed"

    stock GetPlayerSpeed_New(playerid, &Float:speed) // By: [XST]O_x
    {
    new Float:ST[4];
    if(IsPlayerInAnyVehicle(playerid) && GetPlayerState(playerid)!=PLAYER_STATE_PASSENGER)
    GetVehicleVelocity(GetPlayerVehicleID(playerid),ST[0],ST[1],ST[2]);
    else GetPlayerVelocity(playerid,ST[0],ST[1],ST[2]);
    ST[3] = floatsqroot(floatpower(floatabs(ST[0]), 2.0) + floatpower(floatabs(ST[1]), 2.0) + floatpower(floatabs(ST[2]), 2.0)) * 100.3;
    speed = ST[3];
    return 1;
    }
    stock SetPlayerSpeed(playerid, Float:_speed, Float:_isspeed){
    if(playerid == INVALID_PLAYER_ID)return INVALID_PLAYER_ID;
    if(IsPlayerNPC(playerid))return 1;
    if(IsPlayerInAnyVehicle(playerid))return 1;
    new Float:x1, Float:y1, Float:z1;
    GetPlayerVelocity(playerid, x1, y1, z1);
    return SetPlayerVelocity(playerid, x1*(1+(1/(1+(_speed/_isspeed)))), y1*(1+(1/(1+(_speed/_isspeed)))), z1);
    }


    Ist irgendwas falsch? ..