本文整理汇总了C++中Seperator::isNumber方法的典型用法代码示例。如果您正苦于以下问题:C++ Seperator::isNumber方法的具体用法?C++ Seperator::isNumber怎么用?C++ Seperator::isNumber使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Seperator
的用法示例。
在下文中一共展示了Seperator::isNumber方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Command_setattr
PyResult Command_setattr( Client* who, CommandDB* db, PyServiceMgr* services, const Seperator& args )
{
if( args.argCount() < 4 ) {
throw PyException( MakeCustomError("Correct Usage: /setattr [itemID] [attributeID] [value]") );
}
if( !args.isNumber( 1 ) )
throw PyException( MakeCustomError( "1st argument must be itemID (got %s).", args.arg( 1 ).c_str() ) );
const uint32 itemID = atoi( args.arg( 1 ).c_str() );
if( !args.isNumber( 2 ) )
throw PyException( MakeCustomError( "2nd argument must be attributeID (got %s).", args.arg( 2 ).c_str() ) );
const ItemAttributeMgr::Attr attribute = (ItemAttributeMgr::Attr)atoi( args.arg( 2 ).c_str() );
if( !args.isNumber( 3 ) )
throw PyException( MakeCustomError( "3rd argument must be value (got %s).", args.arg( 3 ).c_str() ) );
const double value = atof( args.arg( 3 ).c_str() );
InventoryItemRef item = services->item_factory.GetItem( itemID );
if( !item )
throw PyException( MakeCustomError( "Failed to load item %u.", itemID ) );
//item->attributes.SetReal( attribute, value );
sLog.Warning( "GMCommands: Command_dogma()", "This command will modify attribute and send change to client, but change does not take effect in client for some reason." );
item->SetAttribute(attribute, (float)value);
return new PyString( "Operation successful." );
}
示例2: Command_roid
PyResult Command_roid( Client* who, CommandDB* db, PyServiceMgr* services, const Seperator& args )
{
if( !args.isNumber( 1 ) )
throw PyException( MakeCustomError( "Argument 1 should be an item type ID" ) );
const uint32 typeID = atoi( args.arg( 1 ).c_str() );
if( !args.isNumber( 2 ) )
throw PyException( MakeCustomError( "Argument 2 should be a radius" ) );
const double radius = atof( args.arg( 2 ).c_str() );
if( 0 >= radius )
throw PyException( MakeCustomError( "Invalid radius." ) );
if( !who->IsInSpace() )
throw PyException( MakeCustomError( "You must be in space to spawn things." ) );
sLog.Log( "Command", "Roid %u of radius %f", typeID, radius );
GPoint position( who->GetPosition() );
position.x += radius + 1 + who->GetRadius(); //put it raw enough away to not push us around.
SpawnAsteroid( who->System(), typeID, radius, position );
return new PyString( "Spawn successsfull." );
}
示例3: Command_giveisk
PyResult Command_giveisk( Client* who, CommandDB* db, PyServiceMgr* services, const Seperator& args )
{
if( args.argCount() < 3 ) {
throw PyException( MakeCustomError("Correct Usage: /giveisk [entityID (0=self)] [amount]") );
}
if( !args.isNumber( 1 ) )
throw PyException( MakeCustomError( "Argument 1 should be an entity ID (0=self)" ) );
uint32 entity = atoi( args.arg( 1 ).c_str() );
if( !args.isNumber( 2 ) )
throw PyException( MakeCustomError( "Argument 2 should be an amount of ISK" ) );
double amount = strtod( args.arg( 2 ).c_str(), NULL );
Client* tgt;
if( 0 == entity )
tgt = who;
else
{
tgt = services->entity_list.FindCharacter( entity );
if( NULL == tgt )
throw PyException( MakeCustomError( "Unable to find character %u", entity ) );
}
tgt->AddBalance( amount );
return new PyString( "Operation successful." );
}
示例4: Command_dogma
PyResult Command_dogma( Client* who, CommandDB* db, PyServiceMgr* services, const Seperator& args )
{
//"dogma" "140019878" "agility" "=" "0.2"
if( !(args.argCount() == 5) ) {
throw PyException( MakeCustomError("Correct Usage: /dogma [itemID] [attributeName] = [value]") );
}
if( !args.isNumber( 1 ) ){
throw PyException( MakeCustomError("Invalid itemID. \n Correct Usage: /dogma [itemID] [attributeName] = [value]") );
}
uint32 itemID = atoi( args.arg( 1 ).c_str() );
if( args.isNumber( 2 ) ) {
throw PyException( MakeCustomError("Invalid attributeName. \n Correct Usage: /dogma [itemID] [attributeName] = [value]") );
}
const char *attributeName = args.arg( 2 ).c_str();
if( !args.isNumber( 4 ) ){
throw PyException( MakeCustomError("Invalid attribute value. \n Correct Usage: /dogma [itemID] [attributeName] = [value]") );
}
double attributeValue = atof( args.arg( 4 ).c_str() );
//get item
InventoryItemRef item = services->item_factory.GetItem( itemID );
//get attributeID
uint32 attributeID = db->GetAttributeID( attributeName );
sLog.Warning( "GMCommands: Command_dogma()", "This command will modify attribute and send change to client, but change does not take effect in client for some reason." );
item->SetAttribute( attributeID, attributeValue );
return NULL;
}
示例5: Command_createitem
PyResult Command_createitem( Client* who, CommandDB* db, PyServiceMgr* services, const Seperator& args )
{
if( args.argCount() < 2 ) {
throw PyException( MakeCustomError("Correct Usage: /create [typeID]") );
}
//basically, a copy/paste from Command_create. The client seems to call this multiple times,
//each time it creates an item
if( !args.isNumber( 1 ) )
throw PyException( MakeCustomError( "Argument 1 must be type ID." ) );
const uint32 typeID = atoi( args.arg( 1 ).c_str() );
uint32 qty = 1;
if( 2 < args.argCount() )
{
if( args.isNumber( 2 ) )
qty = atoi( args.arg( 2 ).c_str() );
}
sLog.Log("command message", "Create %s %u times", args.arg( 1 ).c_str(), qty );
//create into their cargo hold unless they are docked in a station,
//then stick it in their hangar instead.
uint32 locationID;
EVEItemFlags flag;
if( who->IsInSpace() )
{
locationID = who->GetShipID();
flag = flagCargoHold;
}
else
{
locationID = who->GetStationID();
flag = flagHangar;
}
ItemData idata(
typeID,
who->GetCharacterID(),
0, //temp location
flag,
qty
);
InventoryItemRef i = services->item_factory.SpawnItem( idata );
if( !i )
throw PyException( MakeCustomError( "Unable to create item of type %s.", args.arg( 1 ).c_str() ) );
//Move to location
i->Move( locationID, flag, true );
return new PyString( "Creation successful." );
}
示例6: Command_tr
PyResult Command_tr( Client* who, CommandDB* db, PyServiceMgr* services, const Seperator& args )
{
if( args.argCount() < 3 ) {
throw PyException( MakeCustomError("Correct Usage: /tr [entityID]") );
}
const std::string& name = args.arg( 1 );
if( "me" != name )
throw PyException( MakeCustomError( "Translocate (/TR) to non-me who '%s' is not supported yet.", name.c_str() ) );
if( !args.isNumber( 2 ) )
throw PyException( MakeCustomError( "Argument 1 should be an entity ID" ) );
uint32 loc = atoi( args.arg( 2 ).c_str() );
sLog.Log( "Command", "Translocate to %u.", loc );
GPoint p( 0.0f, 1000000.0f, 0.0f ); //when going to a system, who knows where to stick them... could find a stargate and stick them near it I guess...
if( !IsStation( loc ) && !IsSolarSystem( loc ) )
{
Client* target = services->entity_list.FindCharacter( loc );
if( NULL == target )
target = services->entity_list.FindByShip( loc );
if( NULL == target )
throw PyException( MakeCustomError( "Unable to find location %u.", loc ) );
loc = target->GetLocationID();
p = target->GetPosition();
}
who->MoveToLocation( loc , p );
return new PyString( "Translocation successful." );
}
示例7: Command_ban
PyResult Command_ban( Client* who, CommandDB* db, PyServiceMgr* services, const Seperator& args )
{
Client *target;
if( args.argCount() == 2 )
{
if( !args.isNumber( 1 ) )
{
const char *name = args.arg( 1 ).c_str();
target = services->entity_list.FindCharacter( name );
}
else
throw PyException( MakeCustomError("Correct Usage: /ban [Character Name]") );
}
//support for characters with first and last names
else if( args.argCount() == 3 )
{
if( args.isHexNumber( 1 ) )
throw PyException( MakeCustomError("Unknown arguments") );
std::string name = args.arg( 1 ) + " " + args.arg( 2 );
target = services->entity_list.FindCharacter( name.c_str() ) ;
}
else
throw PyException( MakeCustomError("Correct Usage: /ban [Character Name]") );
//ban client
target->BanClient();
//disconnect client
target->DisconnectClient();
return NULL;
}
示例8: Command_online
PyResult Command_online(Client *who, CommandDB *db, PyServiceMgr *services, const Seperator &args) {
if( args.argCount() == 2 )
{
if( strcmp("me", args.arg( 1 ).c_str())!=0 )
if( !args.isNumber( 1 ) )
throw PyException( MakeCustomError( "Argument 1 should be an entity ID or me (me=self)" ) );
uint32 entity = atoi( args.arg( 1 ).c_str() );
Client* tgt;
if( strcmp("me", args.arg( 1 ).c_str())==0 )
tgt = who;
else
{
tgt = services->entity_list.FindCharacter( entity );
if( NULL == tgt )
throw PyException( MakeCustomError( "Unable to find character %u", entity ) );
}
if( !tgt->InPod() )
tgt->GetShip()->OnlineAll();
else
throw PyException( MakeCustomError( "Command failed: You can't activate mModulesMgr while in pod"));
return(new PyString("All mModulesMgr have been put Online"));
}
else
throw PyException( MakeCustomError( "Command failed: You got the arguments all wrong!"));
}
示例9: Command_heal
PyResult Command_heal( Client* who, CommandDB* db, PyServiceMgr* services, const Seperator& args )
{
if( args.argCount()== 1 )
{
/*who->GetShip()->Set_armorDamage(0);
who->GetShip()->Set_damage(0);
who->GetShip()->Set_shieldCharge(who->GetShip()->shieldCapacity());*/
who->GetShip()->SetAttribute(AttrArmorDamage, 0);
who->GetShip()->SetAttribute(AttrDamage, 0);
EvilNumber shield_charge = who->GetShip()->GetAttribute(AttrShieldCapacity);
who->GetShip()->SetAttribute(AttrShieldCharge, shield_charge);
}
if( args.argCount() == 2 )
{
if( !args.isNumber( 1 ) )
{
throw PyException( MakeCustomError( "Argument 1 should be a character ID" ) );
}
uint32 entity = atoi( args.arg( 1 ).c_str() );
Client *target = services->entity_list.FindCharacter( entity );
if(target == NULL)
throw PyException( MakeCustomError( "Cannot find Character by the entity %d", entity ) );
who->GetShip()->SetAttribute(AttrArmorDamage, 0);
who->GetShip()->SetAttribute(AttrDamage, 0);
EvilNumber shield_charge = who->GetShip()->GetAttribute(AttrShieldCapacity);
who->GetShip()->SetAttribute(AttrShieldCharge, shield_charge);
}
return(new PyString("Heal successful!"));
}
示例10: Command_unban
PyResult Command_unban( Client* who, CommandDB* db, PyServiceMgr* services, const Seperator& args )
{
if( args.argCount() == 2 )
{
if( !args.isNumber( 1 ) )
{
const char *name = args.arg( 1 ).c_str();
services->serviceDB().SetAccountBanStatus(db->GetAccountID(name),false);
}
else
throw PyException( MakeCustomError("Correct Usage: /ban [Character Name]") );
}
//support for characters with first and last names
else if( args.argCount() == 3 )
{
if( args.isHexNumber( 1 ) )
throw PyException( MakeCustomError("Unknown arguments") );
std::string name = args.arg( 1 ) + " " + args.arg( 2 );
services->serviceDB().SetAccountBanStatus(db->GetAccountID(name),false);
}
else
throw PyException( MakeCustomError("Correct Usage: /unban [Character Name / Character ID]") );
return NULL;
}
示例11: Command_unload
PyResult Command_unload(Client *who, CommandDB *db, PyServiceMgr *services, const Seperator &args) {
if( args.argCount() >= 2 && args.argCount() <= 3 )
{
uint32 item=0,entity=0;
if( strcmp("me", args.arg( 1 ).c_str())!=0 )
if( !args.isNumber( 1 ) )
{
throw PyException( MakeCustomError( "Argument 1 should be an entity ID or me (me=self)" ) );
}
entity = atoi( args.arg( 1 ).c_str() );
if( args.argCount() ==3 )
{
if( strcmp("all", args.arg( 2 ).c_str())!=0 )
if( !args.isNumber( 2 ) )
throw PyException( MakeCustomError( "Argument 2 should be an item ID or all" ) );
item = atoi( args.arg( 2 ).c_str() );
}
//select character
Client* tgt;
if( strcmp("me", args.arg( 1 ).c_str())==0 )
tgt = who;
else
{
tgt = services->entity_list.FindCharacter( entity );
if( NULL == tgt )
throw PyException( MakeCustomError( "Unable to find character %u", entity ) );
}
if( tgt->IsInSpace() )
throw PyException( MakeCustomError( "Character needs to be docked!" ) );
if( args.argCount() == 3 && strcmp("all", args.arg( 2 ).c_str())!=0)
tgt->GetShip()->UnloadModule(item);
if( args.argCount() == 3 && strcmp("all", args.arg( 2 ).c_str())==0)
tgt->GetShip()->UnloadAllModules();
return(new PyString("All mModulesMgr have been unloaded"));
}
else
throw PyException( MakeCustomError( "Command failed: You got the arguments all wrong!"));
}
示例12: Command_goto
PyResult Command_goto( Client* who, CommandDB* db, PyServiceMgr* services, const Seperator& args)
{
if( 3 != args.argCount()
|| !args.isNumber( 1 )
|| !args.isNumber( 2 )
|| !args.isNumber( 3 ) )
{
throw PyException( MakeCustomError( "Correct Usage: /goto [x coord] [y coor] [z coord]" ) );
}
GPoint p( atof( args.arg( 1 ).c_str() ),
atof( args.arg( 2 ).c_str() ),
atof( args.arg( 3 ).c_str() ) );
sLog.Log( "Command", "%s: Goto (%.13f, %.13f, %.13f)", who->GetName(), p.x, p.y, p.z );
who->MoveToPosition( p );
return new PyString( "Goto successful." );
}
示例13: Command_getattr
PyResult Command_getattr( Client* who, CommandDB* db, PyServiceMgr* services, const Seperator& args )
{
if( args.argCount() < 3 ) {
throw PyException( MakeCustomError("Correct Usage: /getattr [itemID] [attributeID]") );
}
if( !args.isNumber( 1 ) )
throw PyException( MakeCustomError( "1st argument must be itemID (got %s).", args.arg( 1 ).c_str() ) );
const uint32 itemID = atoi( args.arg( 1 ).c_str() );
if( !args.isNumber( 2 ) )
throw PyException( MakeCustomError( "2nd argument must be attributeID (got %s).", args.arg( 2 ).c_str() ) );
const ItemAttributeMgr::Attr attribute = (ItemAttributeMgr::Attr)atoi( args.arg( 2 ).c_str() );
InventoryItemRef item = services->item_factory.GetItem( itemID );
if( !item )
throw PyException( MakeCustomError( "Failed to load item %u.", itemID ) );
//return item->attributes.PyGet( attribute );
return item->GetAttribute(attribute).GetPyObject();
}
示例14: Command_unspawn
PyResult Command_unspawn( Client* who, CommandDB* db, PyServiceMgr* services, const Seperator& args )
{
uint32 entityID = 0;
uint32 itemID = 0;
if( (args.argCount() < 3) || (args.argCount() > 3) )
throw PyException( MakeCustomError("Correct Usage: /unspawn (entityID) (itemID), and for now (entityID) is unused, so just type 0, and use the itemID from the entity table for (itemID)") );
if( !(args.isNumber( 1 )) )
throw PyException( MakeCustomError( "Argument 1 should be an item entity ID" ) );
if( !(args.isNumber( 2 )) )
throw PyException( MakeCustomError( "Argument 2 should be an item item ID" ) );
entityID = atoi( args.arg( 1 ).c_str() );
itemID = atoi( args.arg( 2 ).c_str() );
if( !who->IsInSpace() )
throw PyException( MakeCustomError( "You must be in space to unspawn things." ) );
// Search for the itemRef for itemID:
InventoryItemRef itemRef = who->services().item_factory.GetItem( itemID );
SystemEntity * entityRef = who->System()->get( itemID );
// Actually do the unspawn using SystemManager's RemoveEntity:
if( entityRef == NULL )
{
return new PyString( "Un-Spawn Failed: itemID not found." );
}
else
{
who->System()->RemoveEntity( entityRef );
itemRef->Delete();
}
sLog.Log( "Command", "%s: Un-Spawned %u.", who->GetName(), itemID );
return new PyString( "Un-Spawn successful." );
}
示例15: Command_setbpattr
// command to modify blueprint's attributes, we have to give it blueprint's itemID ...
// isn't much comfortable, but I don't know about better solution ...
PyResult Command_setbpattr( Client* who, CommandDB* db, PyServiceMgr* services, const Seperator& args )
{
if( args.argCount() < 6 ) {
throw PyException( MakeCustomError("Correct Usage: /setbpattr [blueprintID] [0 (not copy) or 1 (copy)] [material level] [productivity level] [remaining runs]") );
}
if( !args.isNumber( 1 ) )
throw PyException( MakeCustomError( "Argument 1 must be blueprint ID. (got %s)", args.arg( 1 ).c_str() ) );
const uint32 blueprintID = atoi( args.arg( 1 ).c_str() );
if( "0" != args.arg( 2 ) && "1" != args.arg( 2 ) )
throw PyException( MakeCustomError( "Argument 2 must be 0 (not copy) or 1 (copy). (got %s)", args.arg( 2 ).c_str() ) );
const bool copy = ( atoi( args.arg( 2 ).c_str() ) ? true : false );
if( !args.isNumber( 3 ) )
throw PyException( MakeCustomError( "Argument 3 must be material level. (got %s)", args.arg( 3 ).c_str() ) );
const uint32 materialLevel = atoi( args.arg( 3 ).c_str() );
if( !args.isNumber( 4 ) )
throw PyException( MakeCustomError( "Argument 4 must be productivity level. (got %s)", args.arg( 4 ).c_str() ) );
const uint32 productivityLevel = atoi( args.arg( 4 ).c_str() );
if( !args.isNumber( 5 ) )
throw PyException( MakeCustomError( "Argument 5 must be remaining licensed production runs. (got %s)", args.arg( 5 ).c_str() ) );
const uint32 licensedProductionRunsRemaining = atoi( args.arg( 5 ).c_str() );
BlueprintRef bp = services->item_factory.GetBlueprint( blueprintID );
if( !bp )
throw PyException( MakeCustomError( "Failed to load blueprint %u.", blueprintID ) );
bp->SetCopy( copy );
bp->SetMaterialLevel( materialLevel );
bp->SetProductivityLevel( productivityLevel );
bp->SetLicensedProductionRunsRemaining( licensedProductionRunsRemaining );
return new PyString( "Properties modified." );
}