[SAMMELTHREAD] Kleine Scripting Fragen

Dein Problem konnte durch einen User gelöst werden? Bedank dich bei ihm indem du seinen Beitrag als Hilfreich markierst sowie einen Daumen oben dalässt
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

  • jup, über einen kleinen Umweg:

    #define vagosspawn 180,-2183.0176,957.6070,80.0000
    SetSpawn ( playerid , skin , Float:X , Float:Y , Float:Z )
    {
    SetPlayerPos ( playerid , X , Y , Z );
    SetPlayerSkin ( playerid , skin );
    }


    public OnPlayerSpawn ( playerid )
    {
    SetSpawn ( playerid , vagosspawn );
    }

    PAWNit gratis nutzen?
    Geschenkcode: 2017VQXPKB8V3KA

    Hier könnte Ihre Werbung stehen.

  • Hey,
    wenn ich sterbe, spawne ich für eine sekunde am krankenhaus, was auch richtig ist.Aber erst dann falle ich auf den Boden, und respawne richtig, und dann lande ich wieder am großen firstspawn platz, was ich nicht möchte.
    Was ist falsch?!
    public OnPlayerDeath(playerid, killerid, reason)
    {


    SendClientMessage(playerid,COLOR_RED,"Du bist gestorben und im Krankenhaus respawnt.");
    SetPlayerPos(playerid,-320.4219,1048.2454,20.3403); //Koordinaten des KH


    return 1;
    }

    Mit freundlichen Grüßen,
    hundi :thumbup:


    "Wuff!, Wuff!"
    hundi, 2017

  • Hi


    Ich bin mal auf eine kleine Logfunktion gestossen. Diese schreibt Logstrings in eine Datei. Nun, wofür wird aber fputchar verwendet ? Ich habe mal gegoogelt, aber der wirkliche Sinn der Verwendung ist mir nicht ganz klar, da fwrite bereits ausgeführt wurde, bevor fputchar aufgerufen wird. Der Code stammt eben nicht von mir.



    stock WerbungLog(text[])
    {
    new File:fhnd;
    if(fexist(FRAKTION_LOG)) fhnd = fopen(FRAKTION_LOG, io_append);
    else
    fhnd = fopen(FRAKTION_LOG, io_write);
    fwrite(fhnd, message);
    fputchar(fhnd, 13);
    fputchar(fhnd, 10);
    fclose(fhnd);
    return 1;
    }


    MfG Simon


  • Jo:

    new bool:SendGlobal[MAX_PLAYERS];
    public OnPlayerCommandText(playerid,cmdtext[])
    {
    if(!strcmp("/uc",cmdtext))
    {
    if(SendGlobal[playerid])
    {
    SendGlobal[playerid] = false;
    SendClientMessage(playerid,0x545454AA,"Globalerchat deaktiviert!");
    }
    else
    {
    SendGlobal[playerid] = true;
    SendClientMessage(playerid,0x545454AA,"Globalerchat aktiviert!");
    }
    }
    }


    public OnPlayerText(playerid, text[] ) {
    if(SendGlobal[playerid])
    return 1;
    new Float:x,Float:y,Float:z,name[MAX_PLAYER_NAME],string[128];
    GetPlayerName(playerid,name,MAX_PLAYER_NAME);
    format(string,128,"%s sagt: %s",name,text);
    GetPlayerPos(playerid,x,y,z);
    for(new i; i
    if (IsPlayerInRangeOfPoint(i,50,x,y,z))
    SendClientMessage(i,0x444444AA,string);
    else
    continue;
    }
    return 0;
    }

  • Um die Stelle zu finden solltest du im Script nach der Funktion TogglePlayerControllable suchen. Aber ich kann mir eigentlich nicht Vorstellen, dass man einfach so gefreezt wird, das muss schon irgendeinen Sinn haben (Tutorial). Wie dem auch sei, such im Script nach der oben genannten Funktion an Stellen wie OnPlayerSpawn oder du suchst im Script nach den Zeilen wo Texte ausgegeben werden, welche du Lesen kannst bevor du gefreezt wirst.


    http://wiki.sa-mp.com/wiki/Function:TogglePlayerControllable

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • das is wohl net so einfach kommt drauf an welches system du hast, wird wahrscheinlich ein auto in der ini gespeichert, was beduetet dass du eben die variablen kopieren kannst und halt umbenenne Auto1, Auto 2, etc, und dann noch eine var die speichert wie viele autos der spieler schon hat, und wenn die 4 ist dann mit ner negativen message returnen

  • Was ist daran falsch ?
    if(strcmp(cmdtext,"/stats",true)==0)
    {
    new factionname[64];
    switch(PlayerStats[playerid][Faction])
    {
    case 0:{factionname="Keine";}
    case 1:{factionname="LVPD";}
    case 2:{factionname="FBI";}
    case 3:{factionname="NSA";}
    case 4:{factionname="Army";}
    case 5:{factionname="Dark Dragons";}
    case 6:{factionname="Devils MC";}
    case 7:{factionname="LV Blackz";}
    case 8:{factionname="Public Enemy";}
    case 9:{factionname="LV Crime Family";}
    }
    new point1 = GetPlayerName(playerid);
    new point2 = GetPlayerScore(playerid);
    new point3 = PlayerStats[playerid][Admin];
    new string[128];
    format(string,sizeof(string),"Name : %s \nAlter : %s \nAdministratorengrad : %s \nFraktion : %s",point1,point2,point3,factionname);
    ShowPlayerDialog(playerid,DIALOG_STATS,DIALOG_STYLE_MSGBOX,"Deine Papiere", string, "Okay", "Okay");
    return 1;
    }
    Ich bekomme folgende Warnings :

    Code
    rpbydx.pwn(355) : warning 202: number of arguments does not match definition
    rpbydx.pwn(355) : warning 202: number of arguments does not match definition
    Pawn compiler 3.2.3664	 	 	Copyright (c) 1997-2006, ITB CompuPhase
    
    
    
    
    2 Warnings.


    Sind zwar nur Warnings, aber trotzdem.



    Simplefire : http://forum.sa-mp.com/showthread.php?t=187284