So ist es Derzeitig o_O
und lädst du das alles auch unter OnGameModeInit...wenn ja, dann sollte das funktionieren ![]()
mfg. ![]()
So ist es Derzeitig o_O
und lädst du das alles auch unter OnGameModeInit...wenn ja, dann sollte das funktionieren ![]()
mfg. ![]()
Durch
health = floatround(80-health);
ersetzen oder?
Nein!
Dann musst du das so machen:
public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid) {
new Float:health;
GetPlayerHealth(playerid,health);
if(health > 80) return 1;
health = floatround(100-health);
move{playerid} = floatround(floatmul(health,0.02)); //0.02 = 2%
return 1;
}
Warum fragt er dort ab ob er in einen Auto ist?
Da ist ein ! davor, sprich er darf nicht in einem Auto sein ![]()
mfg. ![]()
sobald ich die Tore auf CreateDynamicObject umstelle
Lies das:
Nutze den Streamer von Incognito und erstelle Tore mit CreateObject
mfg. ![]()
Haben wir gemacht. und allles war weg ...
Ja...ihr müsst natürlich auch das Plugin für den Streamer laden und CreateDynamicObject nutzen ![]()
Das ist möglich ![]()
Ich gebe mal ein kleines Beispiel:
//Oben im Script
new move[MAX_PLAYERS char];
public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid) {
new Float:health;
GetPlayerHealth(playerid,health);
health = floatround(100-health);
move{playerid} = floatround(floatmul(health,0.02)); //0.02 = 2%
return 1;
}
public OnPlayerUpdate(playerid) {
if(move{playerid} && !IsPlayerInAnyVehicle(playerid)) {
SetPlayerVelocity(playerid,-move{playerid},0.0,0.0);
}
return 1;
}
Nicht getestet ![]()
Aber probiere es einfach mal aus und spiele mit der Funktion SetPlayerVelocity ![]()
mfg. ![]()
Das nennt man Bots oder auch NPC's.
Hier mal ein Thread wie du sowas machst: [ SCRIPTING ] Samp 0.3 Bots Erstellen [überarbeitet]
mfg. ![]()
Nutze den Streamer von Incognito und erstelle Tore mit CreateObject ![]()
mfg. ![]()
Schade, dass hier manche Leute bewerten, obwohl Sie noch nie auf dem Server waren, zumindest nicht unter den Forumnamen.
Und danke für die, die sich die Zeit genommen haben, den Server wirklich zu betreten und zu bewerten!
Ich finde es klasse, dass du so ruhig und gelassen bleibst, mach andere wären hier schon ausgerastet und hätten das Forum + User angeprangert oder beleidigt ![]()
Aus diesem Grund schaue ich mir heute Abend mal den Server an ![]()
mfg. ![]()
Sowas:
ocmd:frakmsg(playerid, params[]) {
new frak,text[128],i;
if(sscanf(params,"ds[128]",frak,text)) return SendClientMessage(playerid,rot,"Verwendung: /frakmsg [frakid] [text]");
for(; i<MAX_PLAYERS; i++) if(IsPlayerConnected(i) && IsPlayerInFrak(i,frak)) SendClientMessage(i,0xFFFF00FF,text);
return SendClientMessage(playerid,0xFF4800FF,"Du hast erfolgreich eine Nachricht an alle in einer Fraktion gesendet!");
}
PS: Tut mir leid, wenn es zu kurz gefasst ist ![]()
mfg.^^
Warum den nochmehr redundante sachen ?
Wieso redundant?
Der Source-Code ist für manche vielleicht hilfreich? ![]()
Guten Morgen alle zusammen,
mir ist es gelungen einen sscanf Code zu schreiben, der schneller ist als das Plugin von Y_LESS ![]()
Es hat nicht alle Funktionen die sein Code hat, das ist eins der Gründe warum dieser Code so schnell ist ![]()
Hier der Code:
//(c) by Kaliber
stock sscanf(msg[],arg[],{Float,_}:...) {
new pos = strfind(msg," "),all=1,bool:end;
while(pos != -1 && end == false) {
strdel(msg,0,pos+1),all++,pos = strfind(msg," ");
if(pos == -1) end = true,pos=strlen(msg);
new i,tmp[32],var;
switch(arg[all-2]) {
case 's': for(; i<pos; i++) tmp[var] = msg[i],setarg(all,var,tmp[var]),var++;
case 'd','i': {
for(; i<pos; i++) tmp[var] = msg[i],var++;
setarg(all,0,strval(tmp));
}
case 'f': {
for(; i<pos; i++) tmp[var] = msg[i],var++;
setarg(all,0,_:floatstr(tmp));
}
}
}
return 1;
}
Hier nochmal ein kleines Beispiel zur Verwendung:
new str[32],id,Float:id1;
sscanf("/makeleader Kaliber 1 1.9","sdf",str,id,id1);
printf("%s | %d | %f",str,id,id1);
//Output->Kaliber | 1 | 1.899999
Viel Spaß damit hoffe es gefällt euch ![]()
PS: Mein Code ist ~15ms schneller und das ist schon was, weil es nichtmal auf Plugin Ebene arbeitet ![]()
mfg. ![]()
//Edit: (c) by Kaliber
Der befehl soll "/list" heißen.
Hier:
if(!strcmp(cmdtext,"/list",true)) {
new i,buffer[64],name[MAX_PLAYER_NAME+1];
SendClientMessage(playerid,0xFF0000,"Alle Spieler die Wanteds haben:");
for(; i<MAX_PLAYERS; i++) {
if(!IsPlayerConnected(i) || !GetPlayerWantedLevel(i)) continue;
GetPlayerName(i,name,MAX_PLAYER_NAME+1);
format(buffer,64,"Spieler %s (ID: %d) besitzt %d Wanteds.",name,i,GetPlayerWantedLevel(i));
SendClientMessage(playerid,0xFF4800FF,buffer);
}
return 1;
}
mfg. ![]()
Geht der auch auf 0.3x ???
Update ihn doch auf 0.3x ![]()
Soweit ich weiß existiert so ein Editor noch nicht.
MFG
Doch natürlich!
Es haben voll viele so einen geschrieben, einfach mal google benutzen:
http://forum.sa-mp.com/showthread.php?t=325392
mfg. ![]()
fornew schleife zeigen
Das ist eine einfache for-Schleife und was soll daran hilfreich sein?
Abgesehen davon, dass der Code keinen Sinn macht, wenn man das unter OnGameModeInit schreibt ![]()
Nutze CreatePlayer3DText und lass dieses Label nur für Admins sichtbar machen ![]()
mfg. ![]()
Warum neuerfinden wenn es das schon gibt?
Y_less der schon SAMP Entwickler hat
nichts gegen dich mein schäbbelchen xD
1. Y_LESS ist Beta-Tester nicht der Entwickler von SAMP, Kalcor ist der Entwickler ![]()
2. foreach ist etwas völlig anderes, zudem soll das nur ein simples Makro für for-Schleifen sein, anstatt MAX_PLAYERS ![]()
mfg. ![]()
Stimmt, so geht das auch. Aber mit z.B. MAX_PLAYERS werden die Slots geprüft z.B. wenn es ein 500 Slot Server ist, wird die schleife 500 mal vorgehen.
Ja, aus diesem Grund habe ich mal diese Include geschrieben: [ INCLUDE ] MAX_PLAYERS Schleifen
mfg. ![]()
Alles anzeigenfor( new i=0; i < GetMaxPlayers(); i++)
{
if(IsPlayerCop(i)) continue;
{
CopsOnline ++;
}
}
Nun, du rufst in der for-Schleife eine Funktion auf, dass macht die Geschichte wieder langsamer, mach es lieber so:
for(new i; i<MAX_PLAYERS; i++) if(IsPlayerCop(i)) CopsOnline++;
mfg. ![]()
Nochmal mit Pawn Compliert und es sind 26 Errors .
Dann ist es ein Klammerfehler ![]()