Sieht Klasse aus!
Nur vielleicht verhältnismäßig klein...
Wenn du das noch nen kleines bisschen Größer kriegst, ist es perfekt
L.G.
Sieht Klasse aus!
Nur vielleicht verhältnismäßig klein...
Wenn du das noch nen kleines bisschen Größer kriegst, ist es perfekt
L.G.
Nun , vielleicht wäre jemand bereit es kostenlos zu machen
Wenn du etwas kostenlos willst, musst dich schon ein wenig mehr anstrengen.
Eine komplette Vorstellung über dich wäre schön. Mit grafischer Gestaltung usw.
Jeder kann einfach schreiben, dass er jemanden sucht.
L.G.
public OnPlayerDeath(playerid, killerid, reason)
{
if(killerid == INVALID_PLAYER_ID) return 1; // Killer existiert nicht, also wird 1 zurückgegeben.
//....
Im Grunde genommen ist es nur ein "Platzhalter". (Genauer: Makro -> #define)
L.G.
Wen du schon so auf Professor machst kannst du doch sicherlich helfen ?
Hmm der Professor sagt dir nur, dass du richtig gucken sollst.
Das Thema ist fett oben angepinnt und für jeden zugänglich.
Außerdem war meine Formulierung nicht angreifend oder sonst irgendetwas.
Du solltest vielleicht mal in Betracht ziehen, dein System zu ändern.
sql sollte nicht so genutzt werden.
Deine Funktion sendet jedes mal einen Query an die Datenbank. Für jeden einzelnen Wert.
Nehmen wir an du speicherst 1 Spieler ab. (~23 Querys)
Gleichzeitig werden noch 3 andere abgespeichert.
4*23 = 92
Der Server wird kurz massiv laggen, wenn nicht sogar "zusammenbrechen".
[ SCRIPTING ] Mysql - Ressourcenschonendes Login/Register System + Automatic Table|| R5 BlueG
Solltest du dir angucken
L.G.
Auch dich verweise ich gerne auf dieses Thema: Tipps: Scripting-Probleme richtig erklären
Gucke mal im Bereich MySQL Probleme und poste es dann nochmal
Ansonsten wäre die Funktion "SpielerSpeichern" interessant.
L.G.
#include <uf>
L.G.
-> Vorausgesetzt ist natürlich das Include im Ordner.
Vielleicht solltest du mal die Positionen manuell überprüfen.
Ansonsten bin ich leider zu faul das alles durchzulesen ...
Du könntest uns ja mal entgegen kommen und den Teil zeigen, von dem du denkst, er ist relevant.
L.G.
P.S.: Das Include sieht nicht gerade effizient aus...
Youtube ist kein direkter Stream.
Das ist genauso, wie wenn ich bei directupload mein Bild als Seite angebe
und nicht als direkten Link zum Bild.
Sofern du die Rechte am Lied besitzt oder es keine Rechte gibt, kannst du es dir hier runterladen
und auf z.B. soundcloud hochladen.
L.G.
Mit const kannst du Variablen einen festen Wert zuteilen, der nicht mehr vom 'Code' geändert werden kann.
Ist effizienter, wenn du weißt, dass du es nicht ändern willst.
Also Prinzipiell ist static für eine Zwischenspeicherung seines alten Wertes da ?
Du kannst es als normale Variable verwenden.
Der eigentliche Sinn ist eigentlich anders gedacht.
Stell dir vor du willst zählen, wie oft das Command '/test' eingegeben wird.
//OnPlayerCommandText:
if(strcmp("/test",cmdtext,true))
{
static j;
j++;
printf("Das Command wurde nun %d mal eingegeben", j);
}
Diesen "Effekt" könntest du sonst nur mit einer globalen local erreichen.
L.G.
/e: Der Fall entscheidet, welche Variable besser geeignet ist.
Googeln hilft..
Guck mal hier vorbei: Tipps: Scripting-Probleme richtig erklären
L.G.
Und wie bekomme ich die Pickupid für OnPlayerPickUpPickup
Sofern du noch etwas mit dem Pickup machen möchtest,
musst du es so wie ich es gezeigt habe machen.
L.G.
Hast du schon einmal ein anderes Instrument gespielt?
Wenn ja, dann könntest du dir einfach ein paar Akkorde zum Anfang selbst zusammen legen.
Habe ich damals auch gemacht und es hat gut geklappt
Ansonsten sollte diese Seite für dich Interessant sein: http://www.gitarrenlieder.info/
L.G.
(Google einfach mal da kommt direkt was)
Fangen wir zunächst einmal an:
Wir brauchen: SetTimerEx, ein Callback, eine Array und Verständnis...
//Globale Deklaration:
new dpid[MAX_PLAYERS];
//OnPlayerDeath:
new ppos[3];
GetPlayerPos(playerid,ppos[0],ppos[1],ppos[2]);
dpid[playerid] = CreatePickup(1240,0,ppos[0],ppos[1],ppos[2],-1);
SetTimerEx("DPickup",30000,false,"i",playerid);
forward DPickup(playerid);
public DPickup(playerid) return DestroyPickup(dpid[playerid]);
Gerade so hier geschrieben.
Müsste funktionieren
L.G.
GiveWanteds(playerid, gwanteds, const reporter[], const reason[])
{
Spieler[playerid][wanteds] += gwanteds;
SetPlayerWantedLevel(playerid,Spieler[playerid][wanteds]);
format(s, sizeof(s), "Du hast ein Verbrechen begangen: %s Zeuge: %s", reason, reporter);
SCM(playerid, C_DCHAT, s);
format(s, sizeof(s), "Dein Aktuelles Wanted Level: %d",Spieler[playerid][wanteds]);
SCM(playerid, C_YELLOW, s);
new s1[60];
format(s, sizeof(s), "HQ: Neues Verbrechen: %s", reason);
format(s1, sizeof(s1), "HQ: Verdächtiger: %s Wantedlevel: %d", GetName(playerid), n_w);
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(!IsPlayerConnected(i) || !IsCop(i)) continue;
SCM(i, 0x5B7AFFFF, s);
SCM(i, 0x5B7AFFFF, s1);
}
return 1;
}
ocmd@2:su,suspect(playerid, params[])
{
if(!IsPlayerConnected(pID)) return Offline(playerid);
if(!IsCop(playerid)) return SCM(playerid, C_DRED, "Du bist kein Polizist");
new pID, g_wanteds, reason[64];
if(sscanf(params, "uis", pID, g_wanteds, reason)) return Using(playerid, "su(spect) [ID] [Wanteds] [Grund]");
if(IsCop(pID) && !IsAdmin(playerid, 5)) return SCM(playerid, C_DRED, "Du kannst einem Cop keine Wanteds geben");
if(g_wanteds < 1) return SCM(playerid, C_DRED, "Du musst mindestens 1 Wanted vergeben");
GiveWanteds(pID, g_wanteds, GetName(playerid), reason);
return 1;
}
Du hattest die Variable 'g_wanteds' nicht besetzt.
Sieht trotzdem sehr gut aus ;).
Aber nen bisschen mehr Farbe sollte schon rein, wenn man bedenkt,
dass das Logo dann auch dunkler sein müsste.
L.G.
Saubere Arbeit!
8,5 / 10 von mir
Ich würde dich gerne auf dieses Thema verweisen: Tipps: Scripting-Probleme richtig erklären
Hast du dich informiert, was ein TextDraw ist?
Irgendwelche eigenen "Versuche"?
Außerdem kommt aus deinem "Problem" bzw. Aussage nicht richtig hervor, was du genau willst.
L.G.
Mich würde trotzdem Referenzen interessieren.
Jeder kann sagen, dass er etwas kann.
Zur Anfrage:
Naja, nicht schlecht, aber auch nicht die beste.
Trotzdem wünsche ich dir viel Glück
L.G.