Schreibe mal oben in dein Script:
#pragma tabsize 0
#define DIALOG_REGISTER 676
mfg. ![]()
Schreibe mal oben in dein Script:
#pragma tabsize 0
#define DIALOG_REGISTER 676
mfg. ![]()
Alles anzeigenklein bisschen ressourcneschonender, den wieso erstmal sachen durchführen, die eventuell nicht gebraucht werden?
new einsatz;
if(sscanf(params, "i", einsatz)) return SendClientMessage(playerid, COLOR_GREY, "Benutze: /cdice [Einsatz]");
if(!IsPlayerInRangeOfPoint(playerid, 5, 2187.9375,1676.8564,11.1101)) return SendClientMessage(playerid, COLOR_GREY, "Hier kannst du nicht Würfeln!");
if(einsatz >= 10001 || einsatz <= 999) return SendClientMessage(playerid, COLOR_GREY, "Der mindest Einsatz ist $1000 und der maximale Einsatz $10000");
new spieleraugen = random(6);
new computeraugen = random(6);
new string[128];
if(spieleraugen < computeraugen){format(string, sizeof(string), "Du verlierst mit einer %d gegen eine %d - Verlust: %d", spieleraugen, computeraugen, einsatz); SendClientMessage(playerid, COLOR_WHITE, string); GivePlayerMoney(playerid, -einsatz);}
if(spieleraugen > computeraugen){format(string, sizeof(string), "Du gewinnst mit einer %d gegen eine %d - Gewinn: %d", spieleraugen, computeraugen, einsatz); SendClientMessage(playerid, COLOR_WHITE, string); GivePlayerMoney(playerid, einsatz);}
if(spieleraugen == computeraugen){SendClientMessage(playerid, COLOR_WHITE, "Niemand gewinnt - es wurde ein Unentschieden gewürfelt!");}
return 1;
}
Wenn du es schon perfektionieren willst dann direkt die .pwn Datei mit und dann schreibs so:
new einsatz;
if(sscanf(params, "i", einsatz)) return SendClientMessage(playerid, COLOR_GREY, "Benutze: /cdice [Einsatz]");
if(!IsPlayerInRangeOfPoint(playerid, 5, 2187.9375,1676.8564,11.1101)) return SendClientMessage(playerid, COLOR_GREY, "Hier kannst du nicht Würfeln!");
if(einsatz >= 10001 || einsatz <= 999) return SendClientMessage(playerid, COLOR_GREY, "Der mindest Einsatz ist $1000 und der maximale Einsatz $10000");
new spieleraugen = random(6), computeraugen = random(6), string[128];
if(spieleraugen < computeraugen){format(string, sizeof(string), "Du verlierst mit einer %d gegen eine %d - Verlust: %d", spieleraugen, computeraugen, einsatz); SendClientMessage(playerid, COLOR_WHITE, string); GivePlayerMoney(playerid, -einsatz);}
if(spieleraugen > computeraugen){format(string, sizeof(string), "Du gewinnst mit einer %d gegen eine %d - Gewinn: %d", spieleraugen, computeraugen, einsatz); SendClientMessage(playerid, COLOR_WHITE, string); GivePlayerMoney(playerid, einsatz);}
if(spieleraugen == computeraugen) return SendClientMessage(playerid, COLOR_WHITE, "Niemand gewinnt - es wurde ein Unentschieden gewürfelt!");
return 1;
}
mfg. ![]()
Ein stock ist kein Callback !
Ändere die stock Funktion in einen Callback ![]()
mfg. ![]()
Das Ding ist einfach, dass diese Rakete ein Ziel benötigt, sonst steht die nur blöd in der Luft ![]()
Raketex, Raketey, Raketez wie/wo initialisierst du diese Variablen ? (Wo gibst du den Variablen einen Wert ?)
mfg. ![]()
//edit:
Hat dort jemand eine idee wie man es gut Berechnen kann die Moves habe ich muss die Rakete nurnoch Mappen
Müsste doch gehen, so wie du das gemacht hast ?! ![]()
Hmmm kommen Timer mit Kommazahlen klar ? würde so wie dus sagst 47,61904761904762 Timer brauchen (Milisekunden)
Ich mach erstmal kurz nebenher das mit den keys
Nein kommen sie nicht ![]()
und das ist definitiv zu viel nimm irgendwas zwischen 100 und 1000 Millisekunden ![]()
mfg. ![]()
Wie schnell du den Timer machen würdest und wie stark moven
Ja ich denke im 1000millisekunden Interval sollte ausreichen...und wie stark moven, ja wie schnell willst du denn, dass die Rakete fliegt ![]()
mfg. ![]()
Was meinst du mit "Verhältnisse" ?
mfg. ![]()
Hoch = Z-Achse erhöhen
Runter = Z-Achse verringern
Rechts = Y-Achse erhöhen
Links = Y-Achse verringern
Vorne = X-Achse verringern
Hinten = X-Achse erhöhen
mfg. ![]()
Da ist noch so einiges mehr falsch ![]()
new SkinAuswahl[MAX_PLAYERS] = 1;
So kannst du das nicht schreiben und wirst zu 100% auch einen Warning oder Error bekommen...
So muss das aussehen:
new SkinAuswahl[MAX_PLAYERS];
//irgendwo, wo der Parameter playerid übergeben wird
SkinAuswahl[playerid] = 1;
//Edit: Die anderen Fehler:
Zitatif(SkinAuswahl[playerid] >= 1)
{
new pID;
pID bekommt keinen Wert Initialisiert, also ist der Wert 0.
d.h. Die Kamera Pos wird immer vom Spieler 0 gesetzt, aber von keinem anderen !
Zitatelse if(SkinAuswahl[playerid] == 5)
{
SetPlayerSkin(playerid, 200);
SkinAuswahl[playerid] = 1;
}
Wenn du das so machst, wird der Spieler nie zu == 6 kommen und somit wird das ganze System buggen !
(noch ein Verbesserungsvorschlag:)
anstatt:
ZitatSkinAuswahl[playerid] += 1;
schreibe es so:
SkinAuswahl[playerid]++;
mfg. ![]()
new rand = random(2)
So muss das aussehen:
new rand = random(3);
Weil:
ZitatReturns A random number ranging from 0 to max-1.
mfg. ![]()
Ich habe neu compiliert und danach einfach ein GMX gemacht.
Vielleicht hast du die Removes 2x im Script stehen oder du hast die falschen ausgeklammert...
Hast du die .amx Datei neugeladen und die richtige auf den Server geladen ?!
mfg. ![]()
Turmspringen ist eine Gute Idee, z.B. auch wer am weitesten springt und dann noch Punktewerter...
Aber rutschen ist so eine Sache, ich bin mir so ziemlich sicher, dass das nicht so umsetzbar ist...aber die Idee ist gut ![]()
mfg. ![]()
also ich nutze ein plugin filemanager.
Wieso ? ![]()
Du kannst das auch mit ganz normalen Funktionen von Pawn hinbekommen, dafür brauchste kein extra Plugin ![]()
mfg. ![]()
format(Log, sizeof(Log), "[%02d:%02d][%s]%s\r\n", Stunden, Minuten, string);
Finde den Fehler ![]()
mfg. ![]()
Leute die Drogen nehmen Träumen ja den ganzen Tag :o
Das bezweifle ich mal ![]()
Die Funktion, wo das Array aufgerufen wird
if(pvehid == CanPlayerUseCar(playerid))return SendClientMessage(playerid, ROT, "Dieses Fahrzeug dürfen leider nur Admins fahren!");
Schreibe das so:
if(CanPlayerUseCar(playerid)) return SendClientMessage(playerid, ROT, "Dieses Fahrzeug dürfen leider nur Admins fahren!");
mfg. ![]()
An was für Server Arten hast du denn gedacht ![]()
Alles anzeigenIch hab da kurz was zusammengeschmissen.
CreatePickup(1240,1,X,Y,Z,0);
if(pickupid==HEAL){
SendClientMessage(playerid,ROT,"INFO: Du erhälst nun alle 5 Sekunden ein HP!");
SetTimerEx("Heal",5000,false,"i",playerid);
}
forward Heal(playerid);
public Heal(playerid){
new Float:Heilung;
GetPlayerHealth(playerid,Heilung);
SetPlayerHealth(playerid,Heilung+1);
}
----
"SetTimerEx("Denkdirwasaus", 1000*5, 1, "i", playerid);" Will er nicht das es nur im Pickup funktioniert? Das wär dann besser das es alle 5 Sekunden aufhören würde und wenn man im Pickup ist dann weitergeht.
Lg.
Du solltest HEAL auch oben im Script deklarieren ![]()
new HEAL;
HEAL = CreatePickup...
Ist mir egal, kommt darauf an, wie er das mit dem Timer haben will ![]()
mfg. ![]()