GivePlayerMoney(playerid,-money);
GivePlayerMoney(pID,money);
Das stimmt schon, du gibts der playerid quasi einen negativen Betrag, damit ihr was abgezogen wird. Der pID gibst du diesen Betrag
GivePlayerMoney(playerid,-money);
GivePlayerMoney(pID,money);
Das stimmt schon, du gibts der playerid quasi einen negativen Betrag, damit ihr was abgezogen wird. Der pID gibst du diesen Betrag
über dem else ist eine Klammer zu viel
Unter dem Callback OnPlayerEnterVehicle(playerid,vehicleid, ispassenger) musst du einfach abfragen, ob diejenige person Admin ist und es einer deiner Autos ist, also
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
if(vehicleid == 1 || vehicleid == 2 || vehicleid == 3) //Halt die ID's deiner Admin Autos, achtung: Die die Funktion AddStaticVehicle gibt die ID des Autos zurück
{
if(Stats[playerid][adminlvl] > 0 || IsPlayerAdmin(playerid)) //oder wie du auch immer das Adminsein definiert hast
{
SendClientMessage(playerid,0xFFFFFFF, "Du hast das Auto betreten");
}
else
{
SendClientMessage(playerid,0xFFFFFFFF, "Du bist nicht befugt dazu");
Ban(playerid); //oder Freezen geht auch^^, wobei ein return 0 glaub ich nix bringt weil das eh nichts bestimmtes zurückt das callback
}
}
return 1;
}
Damit nur DU diesen Befehl ausführen kannst, gibts verschiedene Arten bzw kommt drauf an....
du kannst den Namen vergleichen
new test[MAX_PLAYER_NAME+1];
GetPlayerName(playerid, test, MAX_PLAYER_NAME);
if(strcmp(test,"DeinName",true)==0)
{
//Befehl ausführen
}
else
{
SendClientMessage(playerid,0xFFFFFFF,"Du bist nicht befugt");
}
oder mit IP
new ip[16];
GetPlayerIp(playerid, ip, 16)
if(strcmp(ip,"11:11:..", true)==0)
{
//Befehl ausführen
}
else
{
SendClientMessage(playerid,0xFFFFFFF,"Du bist nicht befugt");
}
EliteCake
Prüf doch einfach das noch dazu, sprich
if(IsPlayerInRangeOfPoint(...) && IsPlayerInVehicle(playerid, vehicleid)) // oder IsPlayerInAnyVehicle(playerid)
{
//Do Sth
}
Sowas?new File:x = fopen("name.txt",io_readwrite);
new string[256];
while(fread(x, string))
{
if(strcmp(string, "|0|", true)==0)
{
fdeleteline("name.txt",string);
}
}
fclose(x);
Du brauchst halt den fdeleteline / fcreate code
Kann mannicht auch & verwenden, ist ja der Adressoperator und Arry name ist ja nur adresse des ersten elements (&arry[0] = arry) ?
Danke und LG
Danke erstmal Templer.
Ich habe mir das ganze nochmal angesehen in einem C Buch (finde es in PAWN dennoch verwirrend und unklar im Moment; hoffe das klärt sich).
Meine Frage ist nun:
enum a (+= 1) { b ,c = 2,d }
// Aufzählung "a"; alle Werte der Elemente immer Vorgänger + 1 (standard); c soll 2 sein
main()
{
// Nun geht ja:
printf("%d",c); // 2
printf("%d",d); // 3
// ... da dies ja auch nur Konstanten sind (obgleich ein Teil von a oder nicht)
// Auch:
new o = b; // 0
//
new a:p = c;
new a:k = a:5; // Wenn ich mir sicher bin: 4 ist ein Teil bzw. kann einer sein vom Enum "a"
// Dies ist normalerweise der Fall, da die Elemente nur "symbolisch" sind und Integerwerte sind
new l = _:k; // andersherum
printf("%d",a); // 4 - wieso? Bsp " enum jo { lol, jap, ok = 6 } " ergibt für jo auch 7,obgleich nur 3 genutzt werden können. Daher ergab es vorher auch 66, da
// der ASCII Code von 'A' 65 ist. ;)
printf("%d",l); // 5
}
// Bis her richtig?
// Wie ist das aber nun mit Floatwerten, etc in einem enum (Ist ja eigenartig), da Enums
// eigtl nur symbolisch sind (kein eigener Datentyp sondern konstate Integerwerte) ?
Würde er es dir dann als Fehler anzeigen, wenn man Tiefe / Höhe bräuchte ;P ?
Er ist allwissend...
http://wiki.sa-mp.com/wiki/SetPlayerPos
-------------
Vllt ist das der Fehler? (also dass nichts da steht)
Es sollte so (oder so ähnlich) aussehen:
public OnGameModeInit()
{
SetGameModeText("Blank Script");
AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
return 1;
}
// Evtl. was dazwischen
public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp("/mycommand", cmdtext, true, 10) == 0)
{
// Do something here
return 1;
}
return 0;
}
Richtig geschrieben,Klammer,etc.!
Bei dem "DCMD-Code" sollte return 1; stehen und beim Public OnPlayerCommandText return 0;
Zeile 10373-10375 :
ongamemodeinit
das hier ist wichtig, poste was ZWISCHEN 10373 und 10375 steht
onplayercommandtext
SetPlayerPos(playerid, 282.8917,-1515.0336,24.9219), die letzte Koordinate war zu viel
C:\Users\Julian\Desktop\pawno\include\JunkBuster.inc(2396) : warning 219: local variable "x2" shadows a variable at a preceding level
C:\Users\Julian\Desktop\pawno\include\JunkBuster.inc(2396) : warning 219: local variable "y2" shadows a variable at a preceding level
C:\Users\Julian\Desktop\pawno\include\JunkBuster.inc(2396) : warning 219: local variable "z2" shadows a variable at a preceding level
>Die Variabel gibt es bereits (vorher schon), nimm zB x3, usw.
C:\Users\Julian\Desktop\pawno\AoR-Script.pwn(4056) : warning 202: number of arguments does not match definition
> Die Anzahl der Argumente stimmt nicht überein,
zB.
func(x,y);
und du hast nur func(3);
C:\Users\Julian\Desktop\pawno\AoR-Script.pwn(10373 -- 10375) : warning 215: expression has no effect
> Poste mal die Zeilen
---------------------------------------------
Falscher Bereich.
Hallo,
eigtl. wollte ich ein Tutorial schreiben, doch dabei fiel mir folgendes auf:
enum x {
a,
Float:b = 3.4,
c = 'A'
}
main()
{
printf("%f",_:b); // 3.4000000
printf("%d",x); // 66 <----------- wieso kommt hier 66 raus, obwohl 3 richtig wäre?
printf("%c",c); //A
printf("%d",x:a); // 0
Hier kommt 3 raus bei x:
enum x {
a,
b,
c }
main()
{
printf("%d",x);
}
Noch etwas
enum Farben {
rot,
grun,
gelb,
blau,
lila }
main()
{
printf("%d",Farben); // 5 aber trotzdem Tag Mismatch
new Farben:Eins = rot;
new Farben:Zwei = Farben:4.2000;
printf("%d | %f",_:Eins,_:Zwei); // 0 (richtig) und 4.19 ?
printf("%d",_:lila); // 4
}
Ich finde da einfach keine Regelmäßigkeit/Gesetzmäßigkeit, was wie was angibt :HILFE:
Bitte um rasche Antworten!
Vielen Dank im Voraus
MFG
Ich find die Designs eigtl ganz nett
Ich werd mich trotzdem mal mit Lua beschäftigen, da man das ja auch in C und C++ Programme einbinden kann.
Find's auf jeden Fall gut das hier
Powered by Windows Vista
Ist ein Super Forum
Frohe Weihnachten+
Ganz ehrlich?
Ich glaube dir kein Wort Frettchen und bin dazu (ohne Beweise) auch nicht verpflichtet. Zudem, allein an deiner Artikulation merkt man, dass du niemals 16 (Stimmband-OP,....) bist und du dir auch keine Mühe gibtst. Vergleich allein mal diesen Beitrag mit deinen anderen (Zitieren sinnlos, da das Gekrakle sowieso keiner entziffern kann). Daher kann man auch von einer Falschaussage ausgehen, nebenbei bemerkt. Es ist meine freie Meinung, dich zu kritisieren wie ich will, solange es höflich,sachlich und sinnvoll ist.
Alle vollkommen falsch bis auf Bright.
Bei s0beit und vogelZ wird das Leben nicht auf 100 hochgestellt und auch nicht gefreezt. Wenn man den Godmode einstellt, dann bleibt das Leben so wie es ist und standardmäßig ist es so eingestellt, dass Scripteinwirkungen (also SetPlayerHealth) wirken, aber Explosionen,Schüsse etc nicht. Daher wird auch -1 abgezogen, also kein Nachweis dafür. Es ist demnach unmöglich das zu überprüfen (außer eben einer stellt sein Leben hoch oder stellt Regeneration ein oder ,dass das Leben beim Godmode nicht von Scripteinflüssen verändert wird). Aber klassischer Godmode ist unmöglich so zu überwinden. Es kommt nur ab und an zu Laggs/Crashes, mehr nicht.