Allso ich wollte mal fragen wenn ich mich regestriert habe wie ich dann 15 sekunden im Interrior 1 sein kann
Danke im vorraus
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!
Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
-
-
http://wiki.sa-mp.com/wiki/SetTimerEx
Einfach dein Interval auf 15000 Millisekunden stellen, und bei der Funktion die Positon bzw. das Interior ändern.
-
Wie meinst du das?
SetTimerEx("Interior",1000,false,"ii",playerid, 1);
forward Interior(playerid, int);
public Interior(playerid, int){
SetPlayerInterior(playerid, int);} -
Ich mein das das wenn man sich regestriert hat in interior 1 ist für 15 sekunden und dan am normalen spawn spawnt
-
Unter Register
SetPlayerInterior(playerid, 1);
SetTimerEx("Spawn",15000,false,"i",playerid);Unten im Script
public Spawn(playerid){
SpawnPlayer(playerid);} -
Wo muss ich das SetPlayerInterior ... hinmachen unter Register funzt net oder muss ich es beim Stock hinmachen ?
-
Das musst du logischerweise dort hin machen, wo alle Login- bzw. Registrierungsroutinen abgeschlossen sind.
-
Ja ich mach das aber dann wenn ich mich regestriere spawne ich und seh keine map
-
Das liegt daran, das du Interior auf 1 gestellt hast, aber nicht im Interior spawnst.
Außenwelt ist = 0. -
wie jez ?
-
Hat er doch geschrieben, was gibt's daran nicht zu verstehen?
-
Allso ich muss jez noch hinschreiben
SetPlayerInterior(playerid, 0); oder was ? -
Du musst es wie folgt machen
SetPlayerPos(playerid,X,Y,Z);
SetPlayerInterior(playerid,InteriorID);http://weedarr.wikidot.com/interior
Hier befinden sich die nötigen Interior ID's
Die dazu gehörigen Position kannst du dort auch finden jedoch empfehle ich dir
im Spiel deine Position zu saven, wo du spawnen möchtest /Save.Ich weiß nicht, was ich noch dazu schreiben könnte
//Edit
Fehler entfernt
Hilfe Hinzugefügt -
Und wie komm ich jez in interrior 1 rein ? (Shamal)
Der gelbe Kegel is ja nich für 1 da -
SetPlayerPos(playerid, 1.808619,32.384357,1199.593750);
SetPlayerInterior(playerid, 1);Sollte klappen.
Da hast du auch noch einen Link, mit den ganzen Interiors:
http://weedarr.wikidot.com/interior
MfG
/e1: Link hinzugefügt
-
oK VERSUCHE Mal
Klappt net es ist immer noch weis ..... -
Zitat
Ammunation 1 1 286.148986,-40.644397,1001.515625Versuch' mal die Koordinaten.
-
Nö geht net ich poste mal mein GM
#include <a_samp>#include <Ocmd>#include <dini>#include <MD5>#define COLOR_WHITE 0xFFFFFFAA#define weiß 0xFAFAFAFF#define rot 0xFF0005FF#define SpielerName #define BLAU 0x0087FFFF#define ROT 0xE10000FF#define REGISTER 1#define LOGIN 2#define ORANGE 0xFFA500FF
forward Spawn (playerid);forward tot(playerid);
main(){ print("\n----------------------------------"); print(" Script by funy888"); print("----------------------------------\n");}
public OnGameModeInit(){
ManualVehicleEngineAndLights(); ManualVehicleEngineAndLights(); SetGameModeText("Reallife Server"); AddPlayerClass(95,1714.2986,-1911.9281,13.5667,276.4668,0,0,0,0,0,0); AddStaticVehicle(409,1716.4517,-1862.2272,13.3765,92.6735,1,1);
return 1;}
public OnGameModeExit(){ return 1;}
public OnPlayerRequestClass(playerid, classid){
SetPlayerPos(playerid,1501.0714,-1757.1316,87.6142); SetPlayerCameraPos(playerid,1501.0714,-1757.1316,87.6142); SetPlayerCameraLookAt(playerid,72.7656); return 1;}
public OnPlayerConnect(playerid){ new Spieler[64]; new Sname[MAX_PLAYER_NAME]; GetPlayerName(playerid,Sname,sizeof(Sname)); format(Spieler,sizeof(Spieler),"/Accounts/%s.txt",Sname); if(dini_Exists(Spieler)) { SendClientMessage(playerid,weiß,"Herzlich willkommen zurück auf unserem Server"); ShowPlayerDialog(playerid,LOGIN,DIALOG_STYLE_INPUT,"Login","Dein Account wurde gefunden.Gib bitte dein Passwort ein ","Login","Abbrechen"); } else {
ShowPlayerDialog(playerid,REGISTER,DIALOG_STYLE_INPUT,"Regestrieren","Bitte wähle ein Passwort um dir ein Account zu erstellen.","Regestrieren","Abbrechen");
}return 1;
}public OnPlayerDisconnect(playerid, reason){
return 1;}public OnPlayerSpawn(playerid){
return 1;}
public OnPlayerDeath(playerid, killerid, reason){
{
TogglePlayerControllable(playerid, 0); // Das Bringt das der spieler gefrezzt ist = er kann sich nicht bewegen.SetPlayerPos(playerid,1162.871704, -1339.109619, 14.297291); // Hier Stellt ihr ein wo euer spieler beim krankenhaus stehen sollSetPlayerCameraPos(playerid, 1223.379028, -1333.354126, 33.809105); // Die Kamera PositisionSetPlayerCameraLookAt(playerid, 1178.824829, -1325.804077, 13.284119); //Die Kamera BlickrichtungSetPlayerInterior(playerid, 0); // Das bringt das die Kamera nicht im haus istSendClientMessage(playerid,COLOR_WHITE,"|____ Krankenhaus ____|");SendClientMessage(playerid,COLOR_WHITE,"Du bist nun im Krankenhaus. Du wirst gerade behandelt und darfst das Krankenhaus");SendClientMessage(playerid,COLOR_WHITE,"nicht verlassen bis die Ärtze mit der Untersuchung fertig sind. Dieser Vorgang");SendClientMessage(playerid,COLOR_WHITE,"wird eine Zeit von mindestens 1ner Minuten nach sich ziehen.");SendClientMessage(playerid,COLOR_WHITE,"|_____________________|"); //Ihr Müsst nicht unbedingt diesen text nehmen ihr könnt ihn beliebig editieren oder einfach nur eine zeile behaltenSetTimerEx("tot",60000,0,"i",playerid); // Das ist der timer, das heißt nach 1ner minute wird mann entlassen kann mann Belibig verändern. return 1;}
return 1;
}
public OnVehicleSpawn(vehicleid){ return 1;}
public OnVehicleDeath(vehicleid, killerid){ return 1;}
public OnPlayerText(playerid, text[]){ return 1;}
public OnPlayerCommandText(playerid, cmdtext[]){ if (strcmp("/help", cmdtext, true, 10) == 0) {
return 1; }return 0;}
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger){ return 1;}
public OnPlayerExitVehicle(playerid, vehicleid){ return 1;}
public OnPlayerStateChange(playerid, newstate, oldstate){ return 1;}
public OnPlayerEnterCheckpoint(playerid){ return 1;}
public OnPlayerLeaveCheckpoint(playerid){ return 1;}
public OnPlayerEnterRaceCheckpoint(playerid){ return 1;}
public OnPlayerLeaveRaceCheckpoint(playerid){ return 1;}
public OnRconCommand(cmd[]){ return 1;}
public OnPlayerRequestSpawn(playerid){ return 1;}
public OnObjectMoved(objectid){ return 1;}
public OnPlayerObjectMoved(playerid, objectid){ return 1;}
public OnPlayerPickUpPickup(playerid, pickupid){ return 1;}
public OnVehicleMod(playerid, vehicleid, componentid){ return 1;}
public OnVehiclePaintjob(playerid, vehicleid, paintjobid){ return 1;}
public OnVehicleRespray(playerid, vehicleid, color1, color2){ return 1;}
public OnPlayerSelectedMenuRow(playerid, row){ return 1;}
public OnPlayerExitedMenu(playerid){ return 1;}
public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid){ return 1;}
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys){ return 1;}
public OnRconLoginAttempt(ip[], password[], success){ return 1;}
public OnPlayerUpdate(playerid){ return 1;}
public OnPlayerStreamIn(playerid, forplayerid){ return 1;}
public OnPlayerStreamOut(playerid, forplayerid){ return 1;}
public OnVehicleStreamIn(vehicleid, forplayerid){ return 1;}
public OnVehicleStreamOut(vehicleid, forplayerid){ return 1;}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{ if(dialogid == LOGIN) { if(response == 0) { SendClientMessage(playerid,ROT,"Du hast den Login Vorgang abgeborchen"); Kick(playerid); return 1; } if(response == 1) { Login(playerid,MD5_Hash(inputtext)); return 1; } } if(dialogid == REGISTER) { if(response == 0) { SendClientMessage(playerid,ROT,"Du hast den Regestrierungsvorgang abgebrochen"); Kick(playerid); return 1; } if(response == 1) { if(!strlen(inputtext)) { SendClientMessage(playerid,ROT,"Bitte gebe ein Passwort ein"); ShowPlayerDialog(playerid,REGISTER,DIALOG_STYLE_INPUT,"Regestrieren","Bitte wähle ein Passwort um dir ein Account zu erstellen.","Regestrieren","Abbrechen"); } Register(playerid,MD5_Hash(inputtext)); return 1; } }return 1; }public OnPlayerClickPlayer(playerid, clickedplayerid, source){ return 1;}
public tot(playerid){SetPlayerPos(playerid,1182.6981,-1324.6304,13.5790); // Hier eintragen wo mann nachdem man aus den krankenhaus entlassen wurde spawn sollSetPlayerHealth(playerid,50.00); // Hier könnt ihr einsellen wie viel leben mann haben soll nachdem mann entlassen wurdeGivePlayerMoney(playerid, -80); // Ganz hinten kannst du einstellen wie viel geld mann verlieren soll das - heißt abziehen das + dazu "Kann auch ganz weggemacht werden"SendClientMessage(playerid,COLOR_WHITE,"|____ Krankenhaus ____________|");SendClientMessage(playerid,COLOR_WHITE,"Du wurdest entlassen..");SendClientMessage(playerid,COLOR_WHITE,"Das ging schneller als gedacht");SendClientMessage(playerid,COLOR_WHITE,"Aber das kostet dich 80$");SendClientMessage(playerid,COLOR_WHITE,"|______________________________|"); // Ihr Müsst nicht unbedingt diesen text nehmen ihr könnt ihn beliebig editieren oder einfach nur eine zeile behalten}
ocmd:heal(playerid,params[]){ new pID,string[128],string2[128]; if(!IsPlayerConnected(playerid))return SendClientMessage(playerid,rot,"Dieser Spiler ist nich Online !"); if(sscanf(params,"u",pID))return SendClientMessage(playerid,rot, "USAGE: /heal [ID]"); SetPlayerHealth(playerid,100.00); format(string,sizeof(string),"Du hast %s geheilt",SpielerName(pID)); format(string2,sizeof(string2),"Du wurdest vom Admin %s geheilt",SpielerName(playerid)); SendClientMessage(playerid,weiß,string2); SendClientMessage(pID,weiß,string2); return 1;}ocmd:spawn(playerid,params[]){ new pID,string[128],string2[128]; if(!IsPlayerConnected(playerid))return SendClientMessage(playerid,rot,"Dieser Spiler ist nich Online !"); if(sscanf(params,"u",pID))return SendClientMessage(playerid,rot, "USAGE: /spawn [ID]"); SetPlayerPos(playerid,1714.2986,-1911.9281,13.5667); format(string,sizeof(string),"Du hast %s gespawnt",SpielerName(pID)); format(string2,sizeof(string2),"Du wurdest vom Admin %s gespawnt",SpielerName(playerid)); SendClientMessage(playerid,weiß,string2); SendClientMessage(pID,weiß,string2); return 1;}/*----------------------------------------------------------------------------*-Function: sscanfParams: string[] - String to extract parameters from. format[] - Parameter types to get. {Float,_}:... - Data return variables.Return: 0 - Successful, not 0 - fail.Notes: A fail is either insufficient variables to store the data or insufficient data for the format string - excess data is disgarded.
A string in the middle of the input data is extracted as a single word, a string at the end of the data collects all remaining text.
The format codes are:
c - A character. d, i - An integer. h, x - A hex number (e.g. a colour). f - A float. s - A string. z - An optional string. pX - An additional delimiter where X is another character. '' - Encloses a litteral string to locate. u - User, takes a name, part of a name or an id and returns the id if they're connected.
Now has IsNumeric integrated into the code.
Added additional delimiters in the form of all whitespace and an optioanlly specified one in the format string.-*----------------------------------------------------------------------------*/
stock sscanf(string[], format[], {Float,_}:...){ #if defined isnull if (isnull(string)) #else if (string[0] == 0 || (string[0] == 1 && string[1] == 0)) #endif { return format[0]; } #pragma tabsize 4 new formatPos = 0, stringPos = 0, paramPos = 2, paramCount = numargs(), delim = ' '; while (string[stringPos] && string[stringPos] <= ' ') { stringPos++; } while (paramPos < paramCount && string[stringPos]) { switch (format[formatPos++]) { case '\0': { return 0; } case 'i', 'd': { new neg = 1, num = 0, ch = string[stringPos]; if (ch == '-') { neg = -1; ch = string[++stringPos]; } do { stringPos++; if ('0' <= ch <= '9') { num = (num * 10) + (ch - '0'); } else { return -1; } } while ((ch = string[stringPos]) > ' ' && ch != delim); setarg(paramPos, 0, num * neg); } case 'h', 'x': { new num = 0, ch = string[stringPos]; do { stringPos++; switch (ch) { case 'x', 'X': { num = 0; continue; } case '0' .. '9': { num = (num << 4) | (ch - '0'); } case 'a' .. 'f': { num = (num << 4) | (ch - ('a' - 10)); } case 'A' .. 'F': { num = (num << 4) | (ch - ('A' - 10)); } default: { return -1; } } } while ((ch = string[stringPos]) > ' ' && ch != delim); setarg(paramPos, 0, num); } case 'c': { setarg(paramPos, 0, string[stringPos++]); } case 'f': {
new changestr[16], changepos = 0, strpos = stringPos; while(changepos < 16 && string[strpos] && string[strpos] != delim) { changestr[changepos++] = string[strpos++]; } changestr[changepos] = '\0'; setarg(paramPos,0,_:floatstr(changestr)); } case 'p': { delim = format[formatPos++]; continue; } case '\'': { new end = formatPos - 1, ch; while ((ch = format[++end]) && ch != '\'') {} if (!ch) { return -1; } format[end] = '\0'; if ((ch = strfind(string, format[formatPos], false, stringPos)) == -1) { if (format[end + 1]) { return -1; } return 0; } format[end] = '\''; stringPos = ch + (end - formatPos); formatPos = end + 1; } case 'u': { new end = stringPos - 1, id = 0, bool:num = true, ch; while ((ch = string[++end]) && ch != delim) { if (num) { if ('0' <= ch <= '9') { id = (id * 10) + (ch - '0'); } else { num = false; } } } if (num && IsPlayerConnected(id)) { setarg(paramPos, 0, id); } else { #if !defined foreach #define foreach(%1,%2) for (new %2 = 0; %2 < MAX_PLAYERS; %2++) if (IsPlayerConnected(%2)) #define __SSCANF_FOREACH__ #endif string[end] = '\0'; num = false; new name[MAX_PLAYER_NAME]; id = end - stringPos; foreach (Player, playerid) { GetPlayerName(playerid, name, sizeof (name)); if (!strcmp(name, string[stringPos], true, id)) { setarg(paramPos, 0, playerid); num = true; break; } } if (!num) { setarg(paramPos, 0, INVALID_PLAYER_ID); } string[end] = ch; #if defined __SSCANF_FOREACH__ #undef foreach #undef __SSCANF_FOREACH__ #endif } stringPos = end; } case 's', 'z': { new i = 0, ch; if (format[formatPos]) { while ((ch = string[stringPos++]) && ch != delim) { setarg(paramPos, i++, ch); } if (!i) { return -1; } } else { while ((ch = string[stringPos++])) { setarg(paramPos, i++, ch); } } stringPos--; setarg(paramPos, i, '\0'); } default: { continue; } } while (string[stringPos] && string[stringPos] != delim && string[stringPos] > ' ') { stringPos++; } while (string[stringPos] && (string[stringPos] == delim || string[stringPos] <= ' ')) { stringPos++; } paramPos++; } do { if ((delim = format[formatPos++]) > ' ') { if (delim == '\'') { while ((delim = format[formatPos++]) && delim != '\'') {} } else if (delim != 'z') { return delim; } } } while (delim > ' '); return 0;}
stock Register (playerid,key[]){ new Spieler[64]; new Sname[MAX_PLAYER_NAME]; GetPlayerName(playerid,Sname,sizeof(Sname)); format(Spieler,sizeof(Spieler),"/Accounts/%s.txt",Sname); dini_Create(Spieler); dini_Set(Spieler,"Passwort",key); dini_IntSet(Spieler,"Fraktion",0); SetPlayerPos(286.148986,-40.644397,1001.515625); SetPlayerInterior(playerid, 1); SetTimerEx("Spawn",15000,false,"i",playerid);return 1;}
stock Login (playerid,key[]){ new Spieler[64]; new Sname[MAX_PLAYER_NAME]; GetPlayerName(playerid,Sname,sizeof(Sname)); format(Spieler,sizeof(Spieler),"/Accounts/%s.txt",Sname); if(!strcmp(key,dini_Get(Spieler,"Passwort"),false)) { SendClientMessage(playerid,weiß,"Du hast dich eingeloggt"); } else { SendClientMessage(playerid,ROT,"Du hast ein falscher Passwort eingegeben."); Kick(playerid); } return 1;}
public Spawn(playerid){SpawnPlayer(playerid);} -
Formatier das ordentlich, damit man das auch lesen kann.
-
Sorry hat sich verschoben
#include <a_samp>
#include <Ocmd>
#include <dini>
#include <MD5>#define COLOR_WHITE 0xFFFFFFAA
#define weiß 0xFAFAFAFF
#define rot 0xFF0005FF
#define SpielerName
#define BLAU 0x0087FFFF
#define ROT 0xE10000FF
#define REGISTER 1
#define LOGIN 2
#define ORANGE 0xFFA500FFforward Spawn (playerid);
forward tot(playerid);main()
{
print("\n----------------------------------");
print(" Script by funy888");
print("----------------------------------\n");
}public OnGameModeInit()
{ManualVehicleEngineAndLights();
ManualVehicleEngineAndLights();
SetGameModeText("Reallife Server");
AddPlayerClass(95,1714.2986,-1911.9281,13.5667,276.4668,0,0,0,0,0,0);
AddStaticVehicle(409,1716.4517,-1862.2272,13.3765,92.6735,1,1);return 1;
}public OnGameModeExit()
{
return 1;
}public OnPlayerRequestClass(playerid, classid)
{SetPlayerPos(playerid,1501.0714,-1757.1316,87.6142);
SetPlayerCameraPos(playerid,1501.0714,-1757.1316,87.6142);
SetPlayerCameraLookAt(playerid,72.7656);
return 1;
}public OnPlayerConnect(playerid)
{
new Spieler[64];
new Sname[MAX_PLAYER_NAME];
GetPlayerName(playerid,Sname,sizeof(Sname));
format(Spieler,sizeof(Spieler),"/Accounts/%s.txt",Sname);
if(dini_Exists(Spieler))
{
SendClientMessage(playerid,weiß,"Herzlich willkommen zurück auf unserem Server");
ShowPlayerDialog(playerid,LOGIN,DIALOG_STYLE_INPUT,"Login","Dein Account wurde gefunden.Gib bitte dein Passwort ein ","Login","Abbrechen");
}
else
{ShowPlayerDialog(playerid,REGISTER,DIALOG_STYLE_INPUT,"Regestrieren","Bitte wähle ein Passwort um dir ein Account zu erstellen.","Regestrieren","Abbrechen");
}return 1;
}
public OnPlayerDisconnect(playerid, reason)
{return 1;
}public OnPlayerSpawn(playerid)
{return 1;
}public OnPlayerDeath(playerid, killerid, reason)
{{
TogglePlayerControllable(playerid, 0); // Das Bringt das der spieler gefrezzt ist = er kann sich nicht bewegen.
SetPlayerPos(playerid,1162.871704, -1339.109619, 14.297291); // Hier Stellt ihr ein wo euer spieler beim krankenhaus stehen soll
SetPlayerCameraPos(playerid, 1223.379028, -1333.354126, 33.809105); // Die Kamera Positision
SetPlayerCameraLookAt(playerid, 1178.824829, -1325.804077, 13.284119); //Die Kamera Blickrichtung
SetPlayerInterior(playerid, 0); // Das bringt das die Kamera nicht im haus ist
SendClientMessage(playerid,COLOR_WHITE,"|____ Krankenhaus ____|");
SendClientMessage(playerid,COLOR_WHITE,"Du bist nun im Krankenhaus. Du wirst gerade behandelt und darfst das Krankenhaus");
SendClientMessage(playerid,COLOR_WHITE,"nicht verlassen bis die Ärtze mit der Untersuchung fertig sind. Dieser Vorgang");
SendClientMessage(playerid,COLOR_WHITE,"wird eine Zeit von mindestens 1ner Minuten nach sich ziehen.");
SendClientMessage(playerid,COLOR_WHITE,"|_____________________|"); //Ihr Müsst nicht unbedingt diesen text nehmen ihr könnt ihn beliebig editieren oder einfach nur eine zeile behaltenSetTimerEx("tot",60000,0,"i",playerid); // Das ist der timer, das heißt nach 1ner minute wird mann entlassen kann mann Belibig verändern.
return 1;
}return 1;
}
public OnVehicleSpawn(vehicleid)
{
return 1;
}public OnVehicleDeath(vehicleid, killerid)
{
return 1;
}public OnPlayerText(playerid, text[])
{
return 1;
}public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp("/help", cmdtext, true, 10) == 0)
{return 1;
}return 0;
}public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
return 1;
}public OnPlayerExitVehicle(playerid, vehicleid)
{
return 1;
}public OnPlayerStateChange(playerid, newstate, oldstate)
{
return 1;
}public OnPlayerEnterCheckpoint(playerid)
{
return 1;
}public OnPlayerLeaveCheckpoint(playerid)
{
return 1;
}public OnPlayerEnterRaceCheckpoint(playerid)
{
return 1;
}public OnPlayerLeaveRaceCheckpoint(playerid)
{
return 1;
}public OnRconCommand(cmd[])
{
return 1;
}public OnPlayerRequestSpawn(playerid)
{
return 1;
}public OnObjectMoved(objectid)
{
return 1;
}public OnPlayerObjectMoved(playerid, objectid)
{
return 1;
}public OnPlayerPickUpPickup(playerid, pickupid)
{
return 1;
}public OnVehicleMod(playerid, vehicleid, componentid)
{
return 1;
}public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
{
return 1;
}public OnVehicleRespray(playerid, vehicleid, color1, color2)
{
return 1;
}public OnPlayerSelectedMenuRow(playerid, row)
{
return 1;
}public OnPlayerExitedMenu(playerid)
{
return 1;
}public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
{
return 1;
}public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
return 1;
}public OnRconLoginAttempt(ip[], password[], success)
{
return 1;
}public OnPlayerUpdate(playerid)
{
return 1;
}public OnPlayerStreamIn(playerid, forplayerid)
{
return 1;
}public OnPlayerStreamOut(playerid, forplayerid)
{
return 1;
}public OnVehicleStreamIn(vehicleid, forplayerid)
{
return 1;
}public OnVehicleStreamOut(vehicleid, forplayerid)
{
return 1;
}public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == LOGIN)
{
if(response == 0)
{
SendClientMessage(playerid,ROT,"Du hast den Login Vorgang abgeborchen");
Kick(playerid);
return 1;
}
if(response == 1)
{
Login(playerid,MD5_Hash(inputtext));
return 1;
}
}
if(dialogid == REGISTER)
{
if(response == 0)
{
SendClientMessage(playerid,ROT,"Du hast den Regestrierungsvorgang abgebrochen");
Kick(playerid);
return 1;
}
if(response == 1)
{
if(!strlen(inputtext))
{
SendClientMessage(playerid,ROT,"Bitte gebe ein Passwort ein");
ShowPlayerDialog(playerid,REGISTER,DIALOG_STYLE_INPUT,"Regestrieren","Bitte wähle ein Passwort um dir ein Account zu erstellen.","Regestrieren","Abbrechen");
}
Register(playerid,MD5_Hash(inputtext));
return 1;
}
}
return 1;
}
public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
return 1;
}public tot(playerid)
{
SetPlayerPos(playerid,1182.6981,-1324.6304,13.5790); // Hier eintragen wo mann nachdem man aus den krankenhaus entlassen wurde spawn soll
SetPlayerHealth(playerid,50.00); // Hier könnt ihr einsellen wie viel leben mann haben soll nachdem mann entlassen wurde
GivePlayerMoney(playerid, -80); // Ganz hinten kannst du einstellen wie viel geld mann verlieren soll das - heißt abziehen das + dazu "Kann auch ganz weggemacht werden"
SendClientMessage(playerid,COLOR_WHITE,"|____ Krankenhaus ____________|");
SendClientMessage(playerid,COLOR_WHITE,"Du wurdest entlassen..");
SendClientMessage(playerid,COLOR_WHITE,"Das ging schneller als gedacht");
SendClientMessage(playerid,COLOR_WHITE,"Aber das kostet dich 80$");
SendClientMessage(playerid,COLOR_WHITE,"|______________________________|"); // Ihr Müsst nicht unbedingt diesen text nehmen ihr könnt ihn beliebig editieren oder einfach nur eine zeile behalten
}ocmd:heal(playerid,params[])
{
new pID,string[128],string2[128];
if(!IsPlayerConnected(playerid))return SendClientMessage(playerid,rot,"Dieser Spiler ist nich Online !");
if(sscanf(params,"u",pID))return SendClientMessage(playerid,rot, "USAGE: /heal [ID]");
SetPlayerHealth(playerid,100.00);
format(string,sizeof(string),"Du hast %s geheilt",SpielerName(pID));
format(string2,sizeof(string2),"Du wurdest vom Admin %s geheilt",SpielerName(playerid));
SendClientMessage(playerid,weiß,string2);
SendClientMessage(pID,weiß,string2);
return 1;
}
ocmd:spawn(playerid,params[])
{
new pID,string[128],string2[128];
if(!IsPlayerConnected(playerid))return SendClientMessage(playerid,rot,"Dieser Spiler ist nich Online !");
if(sscanf(params,"u",pID))return SendClientMessage(playerid,rot, "USAGE: /spawn [ID]");
SetPlayerPos(playerid,1714.2986,-1911.9281,13.5667);
format(string,sizeof(string),"Du hast %s gespawnt",SpielerName(pID));
format(string2,sizeof(string2),"Du wurdest vom Admin %s gespawnt",SpielerName(playerid));
SendClientMessage(playerid,weiß,string2);
SendClientMessage(pID,weiß,string2);
return 1;
}
/*----------------------------------------------------------------------------*-
Function:
sscanf
Params:
string[] - String to extract parameters from.
format[] - Parameter types to get.
{Float,_}:... - Data return variables.
Return:
0 - Successful, not 0 - fail.
Notes:
A fail is either insufficient variables to store the data or insufficient
data for the format string - excess data is disgarded.A string in the middle of the input data is extracted as a single word, a
string at the end of the data collects all remaining text.The format codes are:
c - A character.
d, i - An integer.
h, x - A hex number (e.g. a colour).
f - A float.
s - A string.
z - An optional string.
pX - An additional delimiter where X is another character.
'' - Encloses a litteral string to locate.
u - User, takes a name, part of a name or an id and returns the id if they're connected.Now has IsNumeric integrated into the code.
Added additional delimiters in the form of all whitespace and an
optioanlly specified one in the format string.
-*----------------------------------------------------------------------------*/stock sscanf(string[], format[], {Float,_}:...)
{
#if defined isnull
if (isnull(string))
#else
if (string[0] == 0 || (string[0] == 1 && string[1] == 0))
#endif
{
return format[0];
}
#pragma tabsize 4
new
formatPos = 0,
stringPos = 0,
paramPos = 2,
paramCount = numargs(),
delim = ' ';
while (string[stringPos] && string[stringPos] <= ' ')
{
stringPos++;
}
while (paramPos < paramCount && string[stringPos])
{
switch (format[formatPos++])
{
case '\0':
{
return 0;
}
case 'i', 'd':
{
new
neg = 1,
num = 0,
ch = string[stringPos];
if (ch == '-')
{
neg = -1;
ch = string[++stringPos];
}
do
{
stringPos++;
if ('0' <= ch <= '9')
{
num = (num * 10) + (ch - '0');
}
else
{
return -1;
}
}
while ((ch = string[stringPos]) > ' ' && ch != delim);
setarg(paramPos, 0, num * neg);
}
case 'h', 'x':
{
new
num = 0,
ch = string[stringPos];
do
{
stringPos++;
switch (ch)
{
case 'x', 'X':
{
num = 0;
continue;
}
case '0' .. '9':
{
num = (num << 4) | (ch - '0');
}
case 'a' .. 'f':
{
num = (num << 4) | (ch - ('a' - 10));
}
case 'A' .. 'F':
{
num = (num << 4) | (ch - ('A' - 10));
}
default:
{
return -1;
}
}
}
while ((ch = string[stringPos]) > ' ' && ch != delim);
setarg(paramPos, 0, num);
}
case 'c':
{
setarg(paramPos, 0, string[stringPos++]);
}
case 'f':
{new changestr[16], changepos = 0, strpos = stringPos;
while(changepos < 16 && string[strpos] && string[strpos] != delim)
{
changestr[changepos++] = string[strpos++];
}
changestr[changepos] = '\0';
setarg(paramPos,0,_:floatstr(changestr));
}
case 'p':
{
delim = format[formatPos++];
continue;
}
case '\'':
{
new
end = formatPos - 1,
ch;
while ((ch = format[++end]) && ch != '\'') {}
if (!ch)
{
return -1;
}
format[end] = '\0';
if ((ch = strfind(string, format[formatPos], false, stringPos)) == -1)
{
if (format[end + 1])
{
return -1;
}
return 0;
}
format[end] = '\'';
stringPos = ch + (end - formatPos);
formatPos = end + 1;
}
case 'u':
{
new
end = stringPos - 1,
id = 0,
bool:num = true,
ch;
while ((ch = string[++end]) && ch != delim)
{
if (num)
{
if ('0' <= ch <= '9')
{
id = (id * 10) + (ch - '0');
}
else
{
num = false;
}
}
}
if (num && IsPlayerConnected(id))
{
setarg(paramPos, 0, id);
}
else
{
#if !defined foreach
#define foreach(%1,%2) for (new %2 = 0; %2 < MAX_PLAYERS; %2++) if (IsPlayerConnected(%2))
#define __SSCANF_FOREACH__
#endif
string[end] = '\0';
num = false;
new
name[MAX_PLAYER_NAME];
id = end - stringPos;
foreach (Player, playerid)
{
GetPlayerName(playerid, name, sizeof (name));
if (!strcmp(name, string[stringPos], true, id))
{
setarg(paramPos, 0, playerid);
num = true;
break;
}
}
if (!num)
{
setarg(paramPos, 0, INVALID_PLAYER_ID);
}
string[end] = ch;
#if defined __SSCANF_FOREACH__
#undef foreach
#undef __SSCANF_FOREACH__
#endif
}
stringPos = end;
}
case 's', 'z':
{
new
i = 0,
ch;
if (format[formatPos])
{
while ((ch = string[stringPos++]) && ch != delim)
{
setarg(paramPos, i++, ch);
}
if (!i)
{
return -1;
}
}
else
{
while ((ch = string[stringPos++]))
{
setarg(paramPos, i++, ch);
}
}
stringPos--;
setarg(paramPos, i, '\0');
}
default:
{
continue;
}
}
while (string[stringPos] && string[stringPos] != delim && string[stringPos] > ' ')
{
stringPos++;
}
while (string[stringPos] && (string[stringPos] == delim || string[stringPos] <= ' '))
{
stringPos++;
}
paramPos++;
}
do
{
if ((delim = format[formatPos++]) > ' ')
{
if (delim == '\'')
{
while ((delim = format[formatPos++]) && delim != '\'') {}
}
else if (delim != 'z')
{
return delim;
}
}
}
while (delim > ' ');
return 0;
}stock Register (playerid,key[])
{
new Spieler[64];
new Sname[MAX_PLAYER_NAME];
GetPlayerName(playerid,Sname,sizeof(Sname));
format(Spieler,sizeof(Spieler),"/Accounts/%s.txt",Sname);
dini_Create(Spieler);
dini_Set(Spieler,"Passwort",key);
dini_IntSet(Spieler,"Fraktion",0);
SetPlayerPos(286.148986,-40.644397,1001.515625);
SetPlayerInterior(playerid, 1);
SetTimerEx("Spawn",15000,false,"i",playerid);return 1;
}stock Login (playerid,key[])
{
new Spieler[64];
new Sname[MAX_PLAYER_NAME];
GetPlayerName(playerid,Sname,sizeof(Sname));
format(Spieler,sizeof(Spieler),"/Accounts/%s.txt",Sname);
if(!strcmp(key,dini_Get(Spieler,"Passwort"),false))
{
SendClientMessage(playerid,weiß,"Du hast dich eingeloggt");
}
else
{
SendClientMessage(playerid,ROT,"Du hast ein falscher Passwort eingegeben.");
Kick(playerid);
}
return 1;
}public Spawn(playerid){
SpawnPlayer(playerid);} -
-
breadfish.de
Hat das Thema geschlossen.