Da ja das LoH eigentlich ein GF ist geh ich mal davon aus, das du die Variablen nicht richtig aufrufst/verwendest.
Die Vars müsstest du über PlayerInfo aufrufen, sprich PlayerInfo[playerid][VarName];
Bsp PlayerInfo[playerid][pLevel];
Da ja das LoH eigentlich ein GF ist geh ich mal davon aus, das du die Variablen nicht richtig aufrufst/verwendest.
Die Vars müsstest du über PlayerInfo aufrufen, sprich PlayerInfo[playerid][VarName];
Bsp PlayerInfo[playerid][pLevel];
lesen der Fehler ist in der Include selber >.>
Model ID = Vehiclemodels
Das meint er wohl^^
Was meinst du mit special effects?
Die düstere Umgebung kannst du per Timer, IsPlayerInRangeOfPoint und SetPlayerWeather machen.
Das liegt wohl dadran, dass Samp eine Datei zum abspielen braucht, wie z.b. m3u oder mp3, und keine einfachen Links
eher so
new Float:leben;
GetPlayerHealth(Target,leben);
SetPlayerHealth(Target,leben-100.0);
Er meint wohl, wie auch ich :D, das deine Abfrage vollkommen Fehlerhaft ist.
Der Code kann nur dann, wenn überhaupt, funktionieren, wenn du NUR die Schlagentaste drückst.
Das wüsstest du wenn du die WIKI und einige Tutorials die hier irgendwo rumgeistern aufmerksam lesen würdest ![]()
Öffne mal das Script über Pawno, das im 0.3d Ordner ist
Neueste Includes in richtigen Pawno Ordner?
PlayAudioStreamForPlayer(playerid, "www.youtube.com/watch?v=NJOIR0slR_c");
und schon fertig ![]()
Die fehlt noch die response abfrage, sprich drückt der Spieler den rechten oder den linken Button.
listitem, ist ja eig klar ![]()
Oder soll dir das noch jmd erklären?
if(strcmp(cmdtext,"/respawncars",true)==0)
{
if(PlayerLeader(playerid))
{
new i,v;
for(;v!=MAX_VEHICLES; v++)
{
if(FractionCars[v][fFraction][0] != PlayerLeader(playerid)) continue;
i=0;
for(;i!=MAX_PLAYERS;i++)
{
if(GetPlayerState(i) == PLAYER_STATE_DRIVER && GetPlayerState(i) == PLAYER_STATE_PASSENGER) continue;
DestroyAndCreateFractionCar(v);
//SetVehicleToRespawn(v);
}
}
return SendClientMessage(playerid,fColYellow,">> Du hast deine Fraktionsfahrzeuge respawnt. <<");
}
return SendClientMessage(playerid,fColGrey,"Du bist nicht berechtigt diesen Befehl auszuführen.");
}
Ich habs jetzt mal getestet und es funzt...
IntelligenT
woher willst du wissen ob es nicht eher so geschrieben wird?
new MoneySpam[MAX_PLAYERS];
oder sogar so?
new MoneySpawn[MAX_VEHICLES];
ScyFox:
dito ![]()
warum übernimmst du das nicht einfach so wie ich dir das gemacht hab?
Das ist schon optimiert >.>
Du das ich (i) vergessen hab
sorry
Und was soll diese Blödsinnige abfrage?
if(FractionCars[fc][fVehid] >= 400 && FractionCars[fc][fVehid] <= 611)
Wenn das für die models zählt, frag ich mich wie du autos mit der modelid über 611 haben möchtest...
//Edit:
if(strcmp(cmdtext,"/respawncars",true)==0)
{
if(PlayerLeader(playerid))
{
new fc,i,v;
for(;v!=MAX_VEHICLES; v++)
{
if(FractionCars[v][fFraction][0] != PlayerLeader(playerid)) continue;
i=0;
for(;i!=MAX_PLAYERS;i++)
{
if(GetPlayerState(i) == PLAYER_STATE_DRIVER && GetPlayerState(i) == PLAYER_STATE_PASSENGER) continue;
DestroyAndCreateFractionCar(v);
}
}
return SendClientMessage(playerid,fColYellow,">> Du hast deine Fraktionsfahrzeuge respawnt. <<");
}
return SendClientMessage(playerid,fColGrey,"Du bist nicht berechtigt diesen Befehl auszuführen.");
}
Ich hab das mal ausm Kopf geschrieben, sollte funzen, nur weiß ich net ob es deinen vorstellungen enspricht
//Edit 2:
Diese einrückung macht mich fertig >.>
if(strcmp(cmd,"/respawnnotused",true) == 0)
{
if(SpielerInfo[playerid][pAdmin] >= 4)
{
new v=0,i;
for(;v!=MAX_VEHICLES; v++)
{
i=0;
for(;i!=MAX_PLAYERS;i++)
{
if(GetPlayerState == PLAYER_STATE_DRIVER || GetPlayerState == PLAYER_STATE_PASSENGER) continue;
SetVehicleToRespawn(v);
}
}
return 1;
}
else SendClientMessage(playerid,COLOR_RED," Du bist kein Admin! oO ");
return 1;
}
In der Theorie sollte das so funktionieren ![]()
PS: Der Code definitiv nicht der schnellste
Wenn ich das richtig verstanden habe sind das Objekte
Richtig einrücken lernen?
Zeilen 695 bis bis 697 entfernen
und in Zeile 1167 noch return 1; hinzufügen
Denk ich ma, da sonst der Code noch einmal prüfen müsste, ob die Var auch wirklich kleiner ist, also ungleich und kleiner das sind 2 Dinge, und so muss er nur Prüfen ob es ungleich ist
new i, l = strlen( string )
for (; i != l; i++ )
{
//Code
}
die schnellste Möglichkeit, die ICH kenne um durch einen String zu "kommen"
Das Hab ich doch versucht dir zu erklären >.>
Darum muss es ja auch ModelID Heißen nicht VehicleID.
Du solltest noch abfangen ob die eingegebene ID eine Gültige ist.
Außerdem:
stock Blubb(lala,lulu[],Float:lolo,bool:lölö)
lala, lulu,lolo,lölö sind Parameter keine Argumente
Blubb(1,"String",5.2,true);
1, "String", 5.2,true sind Argumente keine Parameter